diff --git a/App/controller/curso.py b/App/controller/curso.py index 1151fd8..8ac08e7 100644 --- a/App/controller/curso.py +++ b/App/controller/curso.py @@ -1,9 +1,12 @@ from App.model.curso import Curso +from App.controller.utils import validarInputs -def cadastrarCurso(area, nome, oferta, periodo, carga, horas, alunos): - cursoModel = Curso(nome, oferta, periodo, carga, horas, alunos) - if cursoModel.cadastrar_curso(area): - return True +def cadastrarCurso(idArea, dados): + if validarInputs(dados) and idArea: + cursoModel = Curso(dados[1], dados[2], dados[3], dados[4], dados[5], dados[6]) + if cursoModel.cadastrar_curso(idArea): + return True + print('Preencha todos os campos') return False def listarCursos(): diff --git a/App/controller/logger.py b/App/controller/logger.py index f81b329..9efe6f4 100644 --- a/App/controller/logger.py +++ b/App/controller/logger.py @@ -1,12 +1,18 @@ import logging +import os class Log: def __init__(self, name="basic") -> None: self.logger = logging.getLogger(name) self.logger.setLevel(logging.DEBUG) + + caminho = 'env/log' + if (not os.path.exists(caminho)): + os.mkdir(caminho) + # HANDLER (ARQUIVO) - file_handler = logging.FileHandler(f"{name}.log", encoding="utf-8") + file_handler = logging.FileHandler(f"{caminho}/{name}.log", encoding="utf-8") file_handler.setLevel(logging.DEBUG) file_handler.setFormatter( logging.Formatter("%(asctime)s %(levelname)s %(message)s", datefmt="%d-%m-%Y %H:%M:%S")) self.logger.addHandler(file_handler) diff --git a/App/controller/reserva.py b/App/controller/reserva.py index 84f5819..4fa170e 100644 --- a/App/controller/reserva.py +++ b/App/controller/reserva.py @@ -1,3 +1,4 @@ + from datetime import datetime, timedelta from App.model.reserva import Reserva from App.controller.utils import modificarDataReserva @@ -12,27 +13,30 @@ def fazendoReserva(idLogin, dados, diasValidos): while diaAtual <= diaFim: diaSemana = diaAtual.weekday() if diasValidos[diaSemana]: - Reserva(idLogin, dados['idDocente'], dados['idCurso'], dados['idSala'], diaAtual, dados['inicioCurso'], dados['fimCurso'], dados['observações']).fazer_reserva() + Reserva(idLogin, dados['idDocente'], dados['idCurso'], dados['idSala'], diaAtual, dados['inicioCurso'], dados['fimCurso'], 0, dados['observações']).fazer_reserva() diaAtual += timedelta(days=1) print('Reserva feita com sucesso!') return True -def validarCadastro(idLogin, dados, diasValidos): +def validarCadastro(dados, diasValidos): diaInicio = modificarDataReserva(dados['diaInicio']) diaInicio = datetime.strptime(diaInicio, "%d/%m/%Y") diaFim = modificarDataReserva(dados['diaFim']) diaFim = datetime.strptime(diaFim, "%d/%m/%Y") diaAtual = diaInicio + listaDias = [] while diaAtual <= diaFim: diaSemana = diaAtual.weekday() + validar = Reserva.validar_periodo(dados['idSala'], diaAtual, dados['inicioCurso'], dados['fimCurso']) if diasValidos[diaSemana]: - if not Reserva(idLogin, dados['idDocente'], dados['idCurso'], dados['idSala'], diaAtual, dados['inicioCurso'], dados['fimCurso'], dados['observações']).validar_periodo(): - print(f'Na seguinte data já existe uma reserva: {diaAtual}') - return False + if validar: + listaDias.append(validar[0]) diaAtual += timedelta(days=1) - print('Todos os dias estão livres') - return True + + if listaDias != []: + return listaDias + return False def trocar_reserva(dados1, dados2): if Reserva.atualizar(dados1['idLogin'], dados1['idPessoa'], dados1['idcurso'], dados1['idSala'], dados1['dia'], dados1['inicioCurso'], dados1['fimCurso'], dados1['observações'], dados1['idReserva']): @@ -48,5 +52,4 @@ def deletarReserva(idReserva): def atualizarReserva(idLogin, idPessoa, idCurso, idSala, dia, hrInicio, hrFim, observacao, idReserva): if Reserva.atualizar(idLogin, idPessoa, idCurso, idSala, dia, hrInicio, hrFim, observacao, idReserva): return True - return False - + return False \ No newline at end of file diff --git a/App/model/conexao.py b/App/model/conexao.py index bd8e9b9..b92a1e8 100644 --- a/App/model/conexao.py +++ b/App/model/conexao.py @@ -1,6 +1,7 @@ import os import mysql.connector as connector from dotenv import load_dotenv +from App.controller.logger import Log def limparEnv(): try: @@ -14,6 +15,8 @@ def limparEnv(): limparEnv() load_dotenv() +log = Log('conexao') + class ConexaoBD: @@ -37,35 +40,48 @@ def conectar(self) -> bool: if not self.__conexao().is_connected(): raise Exception('Não foi conectado') - + + log.info("Conexão realizada com sucesso!") return self.__conexao().is_connected() except connector.Error as err: self.__conn = connector.CMySQLConnection() + log.critical(f"Erro ao conectar | Erro: {err}") return False def desconectar(self) -> bool: - if self.__conexao().is_connected(): - self.__conexao().close() + if self.__conn and self.__conn.is_connected(): + self.__conn.close() + log.info("Conexão fechada.") def buscar(self, query, param=None) -> list: + resultado = [] try: cur = self.__conexao().cursor() cur.execute(query, param) resultado = cur.fetchone() + cur.close() except Exception as e: + log.error(f"Erro de busca | Erro: {e}") + log.debug(resultado) resultado = list() finally: return resultado + def buscarTodos(self, query, param=None) -> list: try: + if not self.__conn or not self.__conn.is_connected(): + self.conectar() cur = self.__conexao().cursor() cur.execute(query, param) resultado = cur.fetchall() + cur.close() except Exception as e: + log.error(f"Erro ao buscar todos os dados | Erro: {e}") + log.debug(resultado) resultado = list() finally: @@ -79,7 +95,8 @@ def alterarDados(self, query, param=None): return cur except Exception as e: - print('erro: ', e) + log.error(f"Erro ao alterar dados | Erro: {e}") + log.debug(cur) cur = None def commit(self): diff --git a/App/model/curso.py b/App/model/curso.py index f839a48..d36b261 100644 --- a/App/model/curso.py +++ b/App/model/curso.py @@ -53,7 +53,9 @@ def cadastrar_curso(self, id_area): params = [id_area, self.__nome, self.__oferta, self.__periodo, self.__cargaHoraria, self.__horasDia, self.__qtdAlunos] resultado = self.__banco.alterarDados(query, params) self.__banco.desconectar() - return resultado + if resultado: + return True + return False @classmethod def retorna_todos_cursos(cls): diff --git a/App/model/reserva.py b/App/model/reserva.py index 16ad08a..06132a7 100644 --- a/App/model/reserva.py +++ b/App/model/reserva.py @@ -1,10 +1,11 @@ + from App.model.conexao import ConexaoBD class Reserva: __banco = ConexaoBD() - def __init__(self, idLogin, idPessoa, idCurso, idSala, dia, horaInicio, horaFim, observacao = None): + def __init__(self, idLogin, idPessoa, idCurso, idSala, dia, horaInicio, horaFim, chaveDevolvida = 0, observacao = None): self.__idLogin = idLogin self.__idPessoa = idPessoa self.__idCurso = idCurso @@ -12,6 +13,7 @@ def __init__(self, idLogin, idPessoa, idCurso, idSala, dia, horaInicio, horaFim, self.__dia = dia self.__horaInicio = horaInicio self.__horaFim = horaFim + self.__chaveDevolvida = chaveDevolvida self.__observacao = observacao def get_idLogin(self): @@ -58,27 +60,24 @@ def set_horaFim(self, horaFim): def fazer_reserva(self): """Uma função para você tentar fazer uma reserva, caso já exista uma reserva no mesmo horário, dia e sala, ele alerta você. Caso contrário ele faz a reserva""" - if self.validar_periodo(): - self.__banco.conectar() - query = "INSERT INTO reserva (idLogin, idPessoa, idCurso, idSala, dia, hrInicio, hrFim, observacao) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)" - parametros = (self.__idLogin, self.__idPessoa, self.__idCurso, self.__idSala, self.__dia, self.__horaInicio, self.__horaFim, self.__observacao) - self.__banco.alterarDados(query, parametros) - self.__banco.desconectar() - return True - else: - return False + self.__banco.conectar() + query = "INSERT INTO reserva (idLogin, idPessoa, idCurso, idSala, dia, hrInicio, hrFim, chaveDevolvida, observacao) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)" + parametros = (self.__idLogin, self.__idPessoa, self.__idCurso, self.__idSala, self.__dia, self.__horaInicio, self.__horaFim, self.__chaveDevolvida ,self.__observacao) + self.__banco.alterarDados(query, parametros) + self.__banco.desconectar() + return True - - def validar_periodo(self): + @classmethod + def validar_periodo(cls, idSala, dia, horaInicio, horaFim): """Verifica se já existe uma reserva na data que foi requisitada""" - self.__banco.conectar() + cls.__banco.conectar() query_verifica = "SELECT * FROM reserva WHERE idSala = %s AND dia = %s AND ((hrInicio < %s AND hrFim > %s) OR (hrInicio >= %s AND hrFim <= %s))" - parametros_verifica = (self.__idSala, self.__dia, self.__horaFim, self.__horaInicio, self.__horaInicio, self.__horaFim) - resultado = self.__banco.buscarTodos(query_verifica, parametros_verifica) - self.__banco.desconectar() + parametros_verifica = (idSala, dia, horaFim, horaInicio, horaInicio, horaFim) + resultado = cls.__banco.buscarTodos(query_verifica, parametros_verifica) + cls.__banco.desconectar() if resultado: - return False - return True + return resultado + return False @classmethod def validar_troca(cls, idSala, dia, hrInicio, hrFim): @@ -148,10 +147,10 @@ def deletar(cls, idReserva): @classmethod - def atualizar(cls, idLogin, idPessoa, idCurso, idSala, dia, hrInicio, hrFim, observacao, idReserva): + def atualizar(cls, idLogin, idPessoa, idCurso, idSala, dia, hrInicio, hrFim, chaveDevolvida, observacao, idReserva): cls.__banco.conectar() - query = "UPDATE reserva SET idLogin= %s, idPessoa= %s,idCurso= %s,idSala= %s,dia= %s,hrInicio= %s,hrFim= %s,observacao= %s WHERE idReserva = %s" - parametro = [idLogin, idPessoa, idCurso, idSala, dia, hrInicio, hrFim, observacao, idReserva] + query = "UPDATE reserva SET idLogin= %s, idPessoa= %s,idCurso= %s,idSala= %s,dia= %s,hrInicio= %s,hrFim= %s, chaveDevolvida= %s , observacao= %s WHERE idReserva = %s" + parametro = [idLogin, idPessoa, idCurso, idSala, dia, hrInicio, hrFim, chaveDevolvida, observacao, idReserva] resultado = cls.__banco.alterarDados(query, parametro) cls.__banco.desconectar() if resultado.rowcount: @@ -172,4 +171,4 @@ def trocar_sala(cls, idLogin, idSala, dia, hrInicio, hrFim): if __name__ == "__main__": - pass + pass \ No newline at end of file diff --git a/App/view/cadastrarCurso.py b/App/view/cadastrarCurso.py index b047f11..1454c5f 100644 --- a/App/view/cadastrarCurso.py +++ b/App/view/cadastrarCurso.py @@ -19,8 +19,7 @@ def popularJanela(self): def on_btnCadastrarCurso_clicked(self): info = self.getCadastroCurso() idArea = self.dicionarioDeAreas[info[0]] - nome, oferta, periodo, carga, horas, alunos = info[1], info[2], info[3], info[4], info[5], info[6] - if cadastrarCurso(idArea, nome, oferta, periodo, carga, horas, alunos): + if cadastrarCurso(idArea, info): validarAcao() diff --git a/App/view/cadastroPessoas.py b/App/view/cadastroPessoas.py index 02425f0..4e1d0d1 100644 --- a/App/view/cadastroPessoas.py +++ b/App/view/cadastroPessoas.py @@ -1,6 +1,6 @@ from PyQt5.QtWidgets import QWidget, QLineEdit, QComboBox, QDateEdit from PyQt5.uic import loadUi -from PyQt5.QtCore import pyqtSlot +from PyQt5.QtCore import pyqtSlot, QDate from App.controller.pessoa import cadastrarPessoa from App.controller.utils import modificarData from App.controller.utils import validarAcao @@ -10,6 +10,12 @@ class cadastroPessoas(QWidget): def __init__(self): super().__init__() loadUi('App/view/ui/cadastroPessoas.ui',self) + + self.dataDeNascimento = self.findChild(QDateEdit, 'dataDeNascimento') + + self.dataDeNascimento.setCalendarPopup(True) + self.dataDeNascimento.setDisplayFormat('dd/MM/yyyy') + self.dataDeNascimento.setDate(QDate.currentDate()) def getDadosCadastro(self): nomePessoas = self.nomePessoas.text().strip() diff --git a/App/view/home.py b/App/view/home.py index b251d41..031be60 100644 --- a/App/view/home.py +++ b/App/view/home.py @@ -1,18 +1,21 @@ from PyQt5.QtWidgets import QMainWindow, QPushButton, QWidget, QStackedWidget from PyQt5.uic import loadUi from PyQt5.QtCore import Qt, pyqtSlot + +# Interfaces from .cadastroPessoas import cadastroPessoas -from .reserva import ReservaInterface from .cadastrarArea import CadastrarArea from .cadastrarCurso import CadastrarCurso from .cadastrarLogin import CadastroLogin from .cadastrarSalas import CadastrarSalas from .configurarTela import ConfigurarTela +from .editarPessoas import EditarPessoas from .editarArea import EditarArea from .editarCurso import EditarCurso from .editarLogin import EditarLogin from .editarReserva import EditarReserva -from .editarPessoas import EditarPessoas + +from .reserva import ReservaInterface class HomePrincipal(QMainWindow): @@ -38,19 +41,19 @@ def __init__(self): # Criando instancias das interfaces self.setWindowFlags(Qt.FramelessWindowHint) - self.interfCasPessoa = cadastroPessoas() - self.interfReserva = ReservaInterface() - self.interfCasArea = CadastrarArea() - self.interfCasCurso = CadastrarCurso() - self.interfCasLogin = CadastroLogin() - self.interfcasSala = CadastrarSalas() - self.interfEditArea = EditarArea() - self.interfEditCurso = EditarCurso() - self.interfEditLogin = EditarLogin() - self.interfEditReserva = EditarReserva() - self.interfEditPessoas = EditarPessoas() - self.interfCongiguracoes = ConfigurarTela() - self.inserirTelas( [self.interfcasSala, self.interfCasPessoa, self.interfReserva, self.interfCasArea, self.interfCasCurso, self.interfCasLogin, self.interfCongiguracoes, self.interfEditArea, self.interfEditCurso, self.interfEditLogin, self.interfEditReserva, self.interfEditPessoas] ) + self.interfCasPessoa = cadastroPessoas + self.interfcasSala = CadastrarSalas + self.interfCasArea = CadastrarArea + self.interfCasLogin = CadastroLogin + self.interfCongiguracoes = ConfigurarTela + self.interfCasCurso = CadastrarCurso + self.interfReserva = ReservaInterface + self.interfEditPessoa = EditarPessoas + self.interfEditArea = EditarArea + self.interfEditCurso = EditarCurso + self.interfEditLogin = EditarLogin + self.interfEditReserva = EditarReserva + #Telas dentro do menu para alterar as janelas pelo sub menu self.btnPessoa.clicked.connect(lambda: self.trocarTelaMenu(self.cadastros)) @@ -60,46 +63,65 @@ def __init__(self): self.btnEditarSimples.clicked.connect(lambda: self.trocarTelaMenu(self.editar)) self.btnEditar.clicked.connect(lambda: self.trocarTelaMenu(self.editar)) - #btns da propria interface - self.btnEditarArea.clicked.connect(lambda: self.trocarTela(self.interfEditArea)) - self.btnEditaCurso.clicked.connect(lambda: self.trocarTela(self.interfEditCurso)) - self.btnEditarLogin.clicked.connect(lambda: self.trocarTela(self.interfEditLogin)) - self.btnEditarReserva.clicked.connect(lambda: self.trocarTela(self.interfEditReserva)) - self.btnEditarPessoas.clicked.connect(lambda: self.trocarTela(self.interfEditPessoas)) - self.btnCadastarSala.clicked.connect(lambda: self.trocarTela(self.interfcasSala)) - self.btnCadastroPessoa.clicked.connect(lambda: self.trocarTela(self.interfCasPessoa)) - self.btnReserva.clicked.connect(lambda: self.trocarTela(self.interfReserva)) - self.btnIncio.clicked.connect(lambda: self.container.setCurrentWidget(self.inicio)) - self.btnHome.clicked.connect(lambda: self.container.setCurrentWidget(self.inicio)) - self.btnArea.clicked.connect(lambda: self.container.setCurrentWidget(self.interfCasArea)) - self.btnCurso.clicked.connect(lambda: self.container.setCurrentWidget(self.interfCasCurso)) - self.btnCadastroLogin.clicked.connect(lambda: self.container.setCurrentWidget(self.interfCasLogin)) - self.btnConfiguracoes.clicked.connect(lambda: self.container.setCurrentWidget(self.interfCongiguracoes)) - self.btnConfig.clicked.connect(lambda: self.container.setCurrentWidget(self.interfCongiguracoes)) + #btns da propria interface + + # Forma Corrigida para Setar Interface + ####################################### + self.btnIncio.clicked.connect(lambda: self.setInterfaceOnHome(self.inicio)) + self.btnHome.clicked.connect(lambda: self.setInterfaceOnHome(self.inicio)) + self.btnHomeAtalho.clicked.connect(lambda: self.setInterfaceOnHome(self.inicio)) + + self.btnCadastroLogin.clicked.connect(lambda: self.setInterfaceOnHome(self.interfCasLogin)) + self.btnArea.clicked.connect(lambda: self.setInterfaceOnHome(self.interfCasArea)) + self.btnCadastarSala.clicked.connect(lambda: self.setInterfaceOnHome(self.interfcasSala)) + self.btnCadastroPessoa.clicked.connect(lambda: self.setInterfaceOnHome(self.interfCasPessoa)) + self.btnCurso.clicked.connect(lambda: self.setInterfaceOnHome(self.interfCasCurso)) + self.btnReserva.clicked.connect(lambda: self.setInterfaceOnHome(self.interfReserva)) + self.btnEditarPessoas.clicked.connect(lambda: self.setInterfaceOnHome(self.interfEditPessoa)) + self.btnEditarReserva.clicked.connect(lambda: self.setInterfaceOnHome(self.interfEditReserva)) + self.btnEditarArea.clicked.connect(lambda: self.setInterfaceOnHome(self.interfEditArea)) + self.btnEditaCurso.clicked.connect(lambda: self.setInterfaceOnHome(self.interfEditCurso)) + self.btnEditarLogin.clicked.connect(lambda: self.setInterfaceOnHome(self.interfEditLogin)) + + self.btnConfiguracoes.clicked.connect(lambda: self.setInterfaceOnHome(self.interfCongiguracoes)) + self.btnConfig.clicked.connect(lambda: self.setInterfaceOnHome(self.interfCongiguracoes)) + ####################################### + self.btnMinimizar.clicked.connect(self.showMinimized) self.btnFecharPagina.clicked.connect(self.close) self.btnTelaCheia.clicked.connect(self.windowConnect) + ################################ + # Função correta para inserir interface + def setInterfaceOnHome(self, interface:QWidget): + self.container: QStackedWidget + if type(interface) != QWidget: # precisa instanciar a interface + interface = interface() + if self.container.currentIndex() != 0: + self.container.removeWidget(self.container.currentWidget()) + if interface != self.inicio: + self.container.addWidget(interface) + self.container.setCurrentWidget(interface) + + ################################ + # Faz o botão de Tela Cheia ao ser executado, retornar ao normal def windowConnect(self): if self.isMaximized(): self.showNormal() self.btnTelaCheia.setStyleSheet(""" #btnTelaCheia { - icon: url("App/view/ui/icones/square-rounded-regular-24.png"); + icon: url("App/view/ui/icones/iconTelaCheia.png"); }""" ) else: self.showMaximized() self.btnTelaCheia.setStyleSheet(""" #btnTelaCheia { - icon: url("App/view/ui/icones/select_window_2_24dp_000000_FILL0_wght400_GRAD0_opsz24.png"); + icon: url("App/view/ui/icones/iconRestaurarTamanhoTela.png"); }""" ) - def inserirTelas(self, telas): - for interface in telas: - self.container.addWidget(interface) def inserirTelasMenu(self, menu): for i in menu: @@ -127,7 +149,7 @@ def mousePressEvent(self, event): self.offset = event.pos() def mouseMoveEvent(self, event): - if self.moving: + if self.moving and not self.isMaximized(): self.move(self.pos() + event.pos() - self.offset) def mouseReleaseEvent(self, event): diff --git a/App/view/reserva.py b/App/view/reserva.py index e0d5568..dd70c1b 100644 --- a/App/view/reserva.py +++ b/App/view/reserva.py @@ -1,23 +1,21 @@ + from PyQt5.QtWidgets import QWidget, QDateEdit from PyQt5.uic import loadUi from PyQt5.QtCore import QTimer, QDate, pyqtSlot -from App.model.reserva import Reserva + +# from App.model.reserva import Reserva +# from App.model.login import Login +# Não está sendo utilizado no arquivo from App.controller.curso import listarCursos from App.controller.pessoa import buscarPessoas -from App.controller.utils import modificarData from App.controller.sala import listarSala +from App.controller.utils import modificarData from App.controller.reserva import fazendoReserva, validarCadastro -from App.model.login import Login class ReservaInterface(QWidget): - curso = listarCursos() - pessoa = buscarPessoas() - sala = listarSala() - - def __init__(self): super().__init__() loadUi('App/view/ui/reserva.ui',self) @@ -37,12 +35,15 @@ def __init__(self): def getDados(self)->dict: """Pegando o dados na interface e retornando os valores""" + pessoas = buscarPessoas() + sala = listarSala() + curso = listarCursos() nomeDocenteResponsavel = self.nomeDocente.currentText().strip() - idDocente = self.pessoa[nomeDocenteResponsavel] + idDocente = pessoas[nomeDocenteResponsavel] nomeSala = self.salaReserva.currentText().strip() - idSala = self.sala[nomeSala] + idSala = sala[nomeSala] nomeCurso = self.cursoReserva.currentText().strip() - idCurso = self.curso[nomeCurso] + idCurso = curso[nomeCurso] equipamentos = self.equipamentosReserva.text().strip() diaInicio = modificarData(self.diaInicio.text().strip() ) @@ -79,23 +80,34 @@ def on_btnFazerReserva_clicked(self): info = self.getDados() idLogin = 8 diasValidos = (info['seg'], info['ter'], info['qua'], info['qui'], info['sexta'], info['sab'], False) - if validarCadastro(idLogin, info, diasValidos): + validacao = validarCadastro(info, diasValidos) + if not validacao: fazendoReserva(idLogin, info, diasValidos) - + elif len(validacao) > 0: + print(f'Não foi possivel fazer a reserva {validacao}') def popularJanela(self): + """Popula os comboBoxes com dados do banco.""" self.comboBoxCurso() self.comboBoxPessoa() self.comboBoxSala() def comboBoxCurso(self): - self.cursoReserva.addItems(self.curso.keys()) + cursos = listarCursos() + self.cursoReserva.clear() + self.cursoReserva.addItems(cursos.keys()) def comboBoxPessoa(self): - self.nomeDocente.addItems(self.pessoa.keys()) + """Busca as pessoas no banco e popula o comboBox.""" + pessoas = buscarPessoas() + self.nomeDocente.clear() + self.nomeDocente.addItems(pessoas.keys()) def comboBoxSala(self): - self.salaReserva.addItems(self.sala.keys()) + """Busca as salas no banco e popula o comboBox.""" + salas = listarSala() + self.salaReserva.clear() + self.salaReserva.addItems(salas.keys()) def validandoDados(self): self.feedbackReserva.setText('Reserva realizada.') diff --git a/App/view/ui/cadastroArea.ui b/App/view/ui/cadastroArea.ui index dfa5a07..3141e00 100644 --- a/App/view/ui/cadastroArea.ui +++ b/App/view/ui/cadastroArea.ui @@ -26,11 +26,11 @@ border-radius: 15px; } #cadastrarArea { -background-color:rgba(0,0,0,0); + background-color: white; border:2px solid rgba(0,0,0,0); border-bottom-color:rgba(46,82,101,200); - color:rgb(0,0,0); - padding-bottom:7px; + border: none; + border-radius: 12px } #resposta { diff --git a/App/view/ui/cadastroConcluido.ui b/App/view/ui/cadastroConcluido.ui new file mode 100644 index 0000000..b59d90c --- /dev/null +++ b/App/view/ui/cadastroConcluido.ui @@ -0,0 +1,82 @@ + + + Dialog + + + + 0 + 0 + 842 + 147 + + + + Dialog + + + background-color: rgb(255, 255, 255); + + + + + + + 91 + 91 + + + + + 97 + 97 + + + + + 91 + 0 + + + + 0 + + + + + + ../Downloads/check_circle_24dp_008000_FILL0_wght400_GRAD0_opsz24.png + + + + + + + + 701 + 91 + + + + + 999999 + 999999 + + + + + 17 + + + + color: #48752C + + + Cadastro concluído com sucesso! + + + + + + + + diff --git a/App/view/ui/cadastroCurso.ui b/App/view/ui/cadastroCurso.ui index f751183..35a9e9d 100644 --- a/App/view/ui/cadastroCurso.ui +++ b/App/view/ui/cadastroCurso.ui @@ -15,11 +15,11 @@ QLineEdit, QComboBox { - background-color:rgba(0,0,0,0); + background-color: white; border:2px solid rgba(0,0,0,0); border-bottom-color:rgba(46,82,101,200); color:rgb(0,0,0); - padding-bottom:7px; + border-radius: 5px; } #btnCadastrarCurso { @@ -100,7 +100,7 @@ border-radius: 15px; 70 - 213 + 200 131 20 @@ -144,13 +144,16 @@ border-radius: 15px; 70 - 250 + 231 111 - 22 + 41 + + PointingHandCursor + - true + false @@ -236,6 +239,9 @@ border-radius: 15px; 10 + + false + Quantidade de Alunos @@ -268,9 +274,9 @@ border-radius: 15px; 530 - 80 + 90 231 - 51 + 41 @@ -278,11 +284,14 @@ border-radius: 15px; 10 + + PointingHandCursor + - true + false - Área + @@ -318,6 +327,9 @@ border-radius: 15px; 17 + + PointingHandCursor + Cadastrar diff --git a/App/view/ui/cadastroErro.ui b/App/view/ui/cadastroErro.ui new file mode 100644 index 0000000..dc36511 --- /dev/null +++ b/App/view/ui/cadastroErro.ui @@ -0,0 +1,98 @@ + + + Dialog + + + Qt::ApplicationModal + + + + 0 + 0 + 838 + 144 + + + + + 0 + 0 + + + + + 9999999 + 9999999 + + + + Dialog + + + background-color: rgb(255, 255, 255); + + + + + + + 91 + 91 + + + + + 97 + 97 + + + + + 91 + 0 + + + + 0 + + + + + + ../Downloads/cancel_24dp_FF0000_FILL0_wght400_GRAD0_opsz24.png + + + + + + + + 701 + 91 + + + + + 999999 + 999999 + + + + + 17 + + + + color: rgb(255, 0, 0); + + + Cadastro não concluído! Algo deu errado durante o processo. +Por favor, revise as informações e tente novamente. + + + + + + + + diff --git a/App/view/ui/cadastroLogin.ui b/App/view/ui/cadastroLogin.ui index c767ac0..13db842 100644 --- a/App/view/ui/cadastroLogin.ui +++ b/App/view/ui/cadastroLogin.ui @@ -6,7 +6,7 @@ 0 0 - 784 + 786 656 @@ -15,8 +15,9 @@ QLineEdit, QComboBox { - background-color:rgba(0,0,0,0); + background-color: white; border:2px solid rgba(0,0,0,0); + border-radius: 6px; border-bottom-color:rgba(46,82,101,200); color:rgb(0,0,0); padding-bottom:7px; @@ -25,8 +26,8 @@ #btnCdastrarLogin { background-color: #01498a; color: #FFF; -border: none; -border-radius: 15px; + border: none; + border-radius: 15px; } #btnCdastrarLogin:hover { @@ -134,6 +135,19 @@ border-radius: 15px; 0 + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -155,6 +169,19 @@ border-radius: 15px; + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -173,16 +200,62 @@ border-radius: 15px; + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + 🎖 Nível de Acesso + + + + + PointingHandCursor + - true + false - 🎖 Nível de Acesso + admin + + + admin + + + + + user + + + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -202,6 +275,9 @@ border-radius: 15px; 17 + + PointingHandCursor + Cadastrar Login diff --git a/App/view/ui/cadastroPessoas.ui b/App/view/ui/cadastroPessoas.ui index 12b5b54..13f860e 100644 --- a/App/view/ui/cadastroPessoas.ui +++ b/App/view/ui/cadastroPessoas.ui @@ -7,12 +7,33 @@ 0 0 705 - 553 + 577 Form + + QLineEdit, QComboBox, QDateEdit { + background-color: white; + border:2px solid rgba(0,0,0,0); + border-radius: 2px; + border-bottom-color:rgba(46,82,101,200); + color:rgb(0,0,0); + padding-bottom:5px; +} + +#btnCadastrar { + background-color: #01498a; + color: #FFF; + border: none; + border-radius: 6px; +} + +#btnCadastrar:hover { + background-color: #f6921e; +} + @@ -28,24 +49,11 @@ QFrame::Raised - - - - 220 - 20 - 151 - 16 - - - - CADASTRO DE PESSOAS - - - 80 - 80 + 20 + 49 41 16 @@ -57,8 +65,8 @@ - 80 - 130 + 360 + 50 61 16 @@ -70,8 +78,8 @@ - 80 - 180 + 20 + 119 41 16 @@ -83,9 +91,9 @@ - 80 - 240 - 141 + 360 + 120 + 121 16 @@ -96,8 +104,8 @@ - 80 - 290 + 20 + 180 55 16 @@ -109,8 +117,8 @@ - 80 - 340 + 330 + 180 71 16 @@ -119,79 +127,68 @@ TELEFONE: - - - - 250 - 400 - 93 - 28 - - - - CADASTRAR - - - 140 - 80 + 80 + 40 251 - 22 + 31 + + Nome de usuário + - 160 - 130 + 440 + 41 151 - 22 + 31 - 130 - 180 + 80 + 110 201 - 22 + 31 + + true + + + Digite seu email + - 240 - 240 + 490 + 111 110 - 22 + 31 + + PointingHandCursor + - 160 - 340 + 410 + 171 113 - 22 - - - - - - - 230 - 370 - 141 - 16 + 31 @@ -201,14 +198,17 @@ - 160 - 290 + 100 + 171 101 - 22 + 31 + + PointingHandCursor + - true + false @@ -232,6 +232,62 @@ + + + + 40 + 500 + 621 + 41 + + + + + 15 + + + + PointingHandCursor + + + CADASTRAR + + + + + + 280 + 10 + 121 + 16 + + + + CADASTRO DE PESSOAS + + + Qt::AutoText + + + false + + + false + + + + + + 280 + 530 + 141 + 16 + + + + + + nomePessoas diff --git a/App/view/ui/cadastroSalas.ui b/App/view/ui/cadastroSalas.ui index 7e6963d..011687d 100644 --- a/App/view/ui/cadastroSalas.ui +++ b/App/view/ui/cadastroSalas.ui @@ -6,215 +6,311 @@ 0 0 - 499 - 475 + 662 + 611 Form - + + QLineEdit, QComboBox { + background-color: white; + border:2px solid rgba(0,0,0,0); + border-radius: 3px; + border-bottom-color:rgba(46,82,101,200); + color:rgb(0,0,0); + padding-bottom:3px; +} + +#cadastrarSala { + background-color: #01498a; + color: #FFF; + border: none; + border-radius: 15px; +} + +#cadastrarSala:hover { + background-color: #f6921e; +} + +#respostas { + color: red; +} + + - 100 - 28 - 133 - 20 + 20 + 510 + 621 + 51 - - - - - 100 - 166 - 261 - 61 - + + + 15 + - - - - - 300 - 256 - 91 - 31 - + + PointingHandCursor Cadastrar Sala - + - 100 - 54 - 133 - 20 + 20 + 40 + 621 + 461 - - true + + QFrame::StyledPanel - - Comum + + QFrame::Raised - - QComboBox::InsertAlphabetically - - - QComboBox::AdjustToMinimumContentsLength - - + + + + 10 + 330 + 601 + 101 + + + + Qt::AlignCenter + + + Observações adicionais + + + Qt::VisualMoveStyle + + + false + + + + + + 10 + 300 + 71 + 16 + + - Comum + Observações + + + + + + 21 + 150 + 65 + 16 + + + + Capacidade + + + + + + 100 + 139 + 133 + 31 + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Capacidade Média + + + + + + 310 + 80 + 71 + 16 + - - - Laboratório + Equipamentos + + + + + + 389 + 69 + 133 + 31 + + + + Cadastrar Equipamentos + + + + + + 99 + 69 + 81 + 31 + + + + PointingHandCursor + + + false + + + Prédio 1 + + + QComboBox::InsertAlphabetically + + + + Prédio 1 + + + + + Prédio 2 + + + + + + + 20 + 80 + 41 + 16 + - - + Prédios + + + + + + 400 + 9 + 81 + 31 + + + + PointingHandCursor + + + false + + Comum - - + + QComboBox::InsertAlphabetically + + + QComboBox::AdjustToMinimumContentsLength + + + + Comum + + + + + Laboratório + + + + + Comum + + + + + Área Externa + + + + + + + 310 + 20 + 65 + 16 + + - - Área Externa + Tipo de Sala - - - - - - 21 - 54 - 65 - 16 - - - - Tipo de Sala - - - - - - 21 - 106 - 71 - 16 - - - - Equipamentos - - - - - - 100 - 132 - 133 - 20 - - - - - - - 21 - 132 - 65 - 16 - - - - Capacidade - - - - - - 20 - 166 - 71 - 16 - - - - Observações - - - - - - 21 - 28 - 65 - 16 - - - - Nome da Sala - + + + + + 20 + 20 + 65 + 16 + + + + Nome da Sala + + + + + + 100 + 8 + 133 + 31 + + + + Nome da Sala + + - + - 100 - 106 - 133 - 20 + 233 + 10 + 141 + 21 - - - - - 21 - 80 - 65 - 16 - + + + 13 + - Prédio - - - - - - 100 - 80 - 133 - 20 - - - - true + Cadastro de Salas - - Prédio 1 - - - QComboBox::InsertAlphabetically - - - - Prédio 1 - - - - - Prédio 2 - - diff --git a/App/view/ui/editarArea.ui b/App/view/ui/editarArea.ui index 3987846..7d6c588 100644 --- a/App/view/ui/editarArea.ui +++ b/App/view/ui/editarArea.ui @@ -13,108 +13,155 @@ Form - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 300 - 30 - 131 - 21 - - - - - 12 - - - - Editar Área - - - - - - 310 - 320 - 121 - 31 - - - - Editar Área - - - - - - 230 - 240 - 291 - 20 - - - - - - - 270 - 380 - 211 - 20 - - - - - - - - - - 260 - 390 - 211 - 20 - - - - - - - - - - 540 - 120 - 69 - 22 - - - - - - - 540 - 80 - 71 - 21 - - - - Alterar Area: - - - - - + + QLineEdit, QComboBox { + background-color: white; + border:2px solid rgba(0,0,0,0); + border-radius: 12px; + border-bottom-color:rgba(46,82,101,200); + color:rgb(0,0,0); + padding-bottom:7px; +} + +#btnEditarArea { + background-color: #01498a; + color: #FFF; + border: none; + border-radius: 15px; +} + +#btnEditarArea:hover { + background-color: #f6921e; +} + +#respostaCadastrando { + color: red; +} + +#respostaNaoCadastrando { + color: red; +} + + + + + 9 + 9 + 752 + 311 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 330 + 10 + 91 + 21 + + + + + 12 + + + + Editar Área + + + + + + 230 + 219 + 291 + 41 + + + + Qt::AlignCenter + + + Editar Área + + + + + + 280 + 400 + 211 + 20 + + + + + + + + + + 280 + 400 + 211 + 20 + + + + + + + + + + 540 + 120 + 69 + 22 + + + + + + + 540 + 80 + 71 + 21 + + + + Alterar Area: + + + + + + + 10 + 330 + 751 + 51 + + + + + 15 + + + + PointingHandCursor + + + Salvar Alterações + + diff --git a/App/view/ui/editarCurso.ui b/App/view/ui/editarCurso.ui index 4c60686..03e55c3 100644 --- a/App/view/ui/editarCurso.ui +++ b/App/view/ui/editarCurso.ui @@ -6,282 +6,352 @@ 0 0 - 834 - 668 + 826 + 678 Form - - - - - QFrame::StyledPanel + + QLineEdit, QComboBox { + background-color: white; + border:2px solid rgba(0,0,0,0); + border-radius: 4px; + border-bottom-color:rgba(46,82,101,200); + color:rgb(0,0,0); + padding-bottom:7px; +} + +#btnEditarCurso { + background-color: #01498a; + color: #FFF; + border: none; + border-radius: 15px; +} + +#btnEditarCurso:hover { + background-color: #f6921e; +} + +#respostaCadastrando { + color: red; +} + +#respostaCadastroIncompleto { + color: red; +} + + + + + 14 + 9 + 801 + 441 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 330 + 10 + 121 + 20 + + + + + 12 + + + + EDITAR CURSO + + + + + + 70 + 129 + 113 + 31 + + + + Nome do Curso + + + + + + 70 + 106 + 81 + 20 + + + + Nome do Curso + + + + + + 320 + 360 + 131 + 31 + + + + Quantidade de Alunos + + + + + + 320 + 129 + 131 + 31 + + + + Oferta do Curso + + + + + + 70 + 359 + 113 + 31 + + + + Horário do Curso + + + + + + 320 + 215 + 71 + 21 + + + + Carga Horária + + + + + + 320 + 103 + 47 + 20 + + + + Oferta + + + + + + 320 + 336 + 111 + 20 + + + + Quantidade de Alunos + + + + + + 70 + 333 + 81 + 20 + + + + Horas por Dia + + + + + + 70 + 213 + 91 + 20 + + + + Período do Curso + + + + + + 320 + 239 + 131 + 31 + + + + Carga Horária do Curso + + + + + + 290 + 500 + 201 + 20 + + + + + + + + + + 290 + 500 + 201 + 20 + + + + + + + + + + 70 + 241 + 81 + 31 + + + + PointingHandCursor + + + false + + + + Manhã + + + + + Tarde - - QFrame::Raised + + + + Noite - - - - 300 - 20 - 121 - 20 - - - - EDITAR CURSO - - - - - - 70 - 140 - 113 - 20 - - - - - - - 70 - 106 - 81 - 20 - - - - Nome do Curso - - - - - - 310 - 370 - 113 - 20 - - - - - - - 310 - 140 - 113 - 20 - - - - - - - 70 - 370 - 113 - 20 - - - - - - - 310 - 215 - 71 - 21 - - - - Carga Horária - - - - - - 310 - 103 - 47 - 20 - - - - Oferta - - - - - - 310 - 336 - 111 - 20 - - - - Quantidade de Alunos - - - - - - 70 - 333 - 81 - 20 - - - - Horas por Dia - - - - - - 70 - 213 - 91 - 20 - - - - Período do Curso - - - - - - 320 - 460 - 91 - 31 - - - - EDITAR CURSO - - - - - - 310 - 250 - 113 - 20 - - - - - - - 300 - 500 - 161 - 20 - - - - - - - - - - 290 - 500 - 151 - 20 - - - - - - - - - - 70 - 250 - 111 - 22 - - - - true - - - - Manhã - - - - - Tarde - - - - - Noite - - - - - - - 500 - 140 - 69 - 21 - - - - true - - - - - - 500 - 110 - 47 - 13 - - - - Área - - - - - - 500 - 250 - 69 - 22 - - - - - - - 500 - 220 - 71 - 16 - - - - Alterar Curso: - - - - - + + + + + + 580 + 130 + 69 + 31 + + + + PointingHandCursor + + + false + + + + + + 580 + 92 + 51 + 31 + + + + Área + + + + + + 580 + 241 + 69 + 31 + + + + PointingHandCursor + + + + + + 580 + 220 + 71 + 16 + + + + Alterar Curso + + + + + + + 14 + 460 + 801 + 41 + + + + + 12 + + + + PointingHandCursor + + + EDITAR CURSO + + diff --git a/App/view/ui/editarLogin.ui b/App/view/ui/editarLogin.ui index a7940fb..147595d 100644 --- a/App/view/ui/editarLogin.ui +++ b/App/view/ui/editarLogin.ui @@ -6,147 +6,197 @@ 0 0 - 737 - 458 + 686 + 680 Form - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 20 - 120 - 113 - 20 - - - - - - - 20 - 200 - 113 - 20 - - - - - - - 20 - 270 - 69 - 22 - - - - true - - - - - - 20 - 80 - 47 - 13 - - - - Email - - - - - - 20 - 170 - 47 - 13 - - - - Senha - - - - - - 20 - 240 - 91 - 16 - - - - Nivel de Acesso - - - - - - 20 - 340 - 121 - 23 - - - - Editar Login - - - - - - 40 - 20 - 121 - 31 - - - - EDITAR LOGIN - - - - - - 220 - 120 - 69 - 22 - - - - - - - 220 - 90 - 71 - 16 - - - - Alterar Login: - - - - - + + QLineEdit, QComboBox { + background-color: white; + border:2px solid rgba(0,0,0,0); + border-radius: 4px; + border-bottom-color:rgba(46,82,101,200); + color:rgb(0,0,0); + padding-bottom:7px; +} + +#btnEditarLogin { + background-color: #01498a; + color: #FFF; + border: none; + border-radius: 15px; +} + +#btnEditarLogin:hover { + background-color: #f6921e; +} + +#respostas { + color: red; +} + + + + + 9 + 9 + 661 + 311 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 20 + 109 + 113 + 31 + + + + + + + 270 + 109 + 113 + 31 + + + + + + + 30 + 241 + 69 + 31 + + + + PointingHandCursor + + + false + + + + + + 20 + 80 + 41 + 16 + + + + Email + + + + + + 270 + 80 + 41 + 16 + + + + Senha + + + + + + 30 + 210 + 81 + 21 + + + + Nivel de Acesso + + + + + + 290 + 10 + 81 + 31 + + + + EDITAR LOGIN + + + + + + 500 + 110 + 71 + 31 + + + + PointingHandCursor + + + + + + 500 + 78 + 71 + 16 + + + + Alterar Login: + + + + + + + 10 + 330 + 661 + 61 + + + + + 12 + + + + PointingHandCursor + + + Editar Login + + + + email + senha + alterarLogin + nivelAcesso + btnEditarLogin + diff --git a/App/view/ui/editarPessoa.ui b/App/view/ui/editarPessoa.ui index 8acbd38..ac34688 100644 --- a/App/view/ui/editarPessoa.ui +++ b/App/view/ui/editarPessoa.ui @@ -6,251 +6,266 @@ 0 0 - 625 + 744 662 Form - - - - - QFrame::StyledPanel + + QLineEdit, QComboBox, QDateEdit { + background-color: white; + border:2px solid rgba(0,0,0,0); + border-radius: 3px; + border-bottom-color:rgba(46,82,101,200); + color:rgb(0,0,0); + padding-bottom:7px; +} + +#btnEditar { + background-color: #01498a; + color: #FFF; +border: none; +border-radius: 15px; +} + +#btnEditar:hover { + background-color: #f6921e; +} + +#respostaCadastro { + color: red; +} + + + + + 9 + 9 + 721 + 461 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 260 + 10 + 161 + 16 + + + + EDITAR CADASTRO DE PESSOAS + + + + + + 10 + 80 + 41 + 16 + + + + NOME: + + + + + + 350 + 80 + 61 + 16 + + + + CPF/CNPJ: + + + + + + 10 + 150 + 41 + 16 + + + + EMAIL: + + + + + + 350 + 150 + 121 + 16 + + + + DATA DE NASCIMENTO: + + + + + + 10 + 216 + 55 + 20 + + + + CARGO: + + + + + + 230 + 213 + 71 + 21 + + + + TELEFONE: + + + + + + 70 + 71 + 251 + 31 + + + + + + + + + + 430 + 71 + 151 + 31 + + + + + + + 70 + 141 + 251 + 31 + + + + + + + 490 + 138 + 110 + 31 + + + + PointingHandCursor + + + + + + 310 + 205 + 113 + 31 + + + + + + + 70 + 206 + 101 + 31 + + + + PointingHandCursor + + + false + + + + Comum + + + + + Apoio + + + + + Patrimonio - - QFrame::Raised + + + + Administrador - - - - 220 - 20 - 161 - 16 - - - - EDITAR CADASTRO DE PESSOA - - - - - - 80 - 80 - 41 - 16 - - - - NOME: - - - - - - 80 - 130 - 61 - 16 - - - - CPF/CNPJ: - - - - - - 80 - 180 - 41 - 16 - - - - EMAIL: - - - - - - 80 - 240 - 141 - 16 - - - - DATA DE NASCIMENTO: - - - - - - 80 - 290 - 55 - 16 - - - - CARGO: - - - - - - 80 - 340 - 71 - 16 - - - - TELEFONE: - - - - - - 250 - 400 - 93 - 28 - - - - EDITAR - - - - - - 140 - 80 - 251 - 22 - - - - - - - - - - 160 - 130 - 151 - 22 - - - - - - - 130 - 180 - 201 - 22 - - - - - - - 240 - 240 - 110 - 22 - - - - - - - 160 - 340 - 113 - 22 - - - - - - - 230 - 370 - 141 - 16 - - - - - - - - - - 160 - 290 - 101 - 22 - - - - true - - - - Comum - - - - - Apoio - - - - - Patrimonio - - - - - Administrador - - - - - - - 490 - 80 - 69 - 21 - - - - - - - 490 - 50 - 91 - 16 - - - - Alterar Cadastro: - - - - - + + + + + + + 10 + 480 + 721 + 41 + + + + PointingHandCursor + + + EDITAR + + + + + + 240 + 510 + 141 + 21 + + + + + + nomePessoas diff --git a/App/view/ui/editarReserva.ui b/App/view/ui/editarReserva.ui index edae89c..24b2eba 100644 --- a/App/view/ui/editarReserva.ui +++ b/App/view/ui/editarReserva.ui @@ -13,6 +13,31 @@ Form + + QLineEdit, QComboBox, QTimeEdit, QDateEdit { + background-color: white; + border:2px solid rgba(0,0,0,0); + border-radius: 3px; + border-bottom-color:rgba(46,82,101,200); + color:rgb(0,0,0); + padding-bottom:7px; +} + +#btnEditarReserva { + background-color: #01498a; + color: #FFF; +border: none; +border-radius: 15px; +} + +#btnEditarReserva:hover { + background-color: #f6921e; +} + +#respostas { + color: red; +} + @@ -25,8 +50,8 @@ - 80 - 140 + 20 + 128 91 16 @@ -38,7 +63,7 @@ - 360 + 320 120 41 16 @@ -51,8 +76,8 @@ - 80 - 180 + 560 + 120 61 16 @@ -64,12 +89,20 @@ - 260 - 660 - 171 - 23 + 10 + 650 + 761 + 51 + + + 12 + + + + PointingHandCursor + EDITAR RESERVA @@ -77,8 +110,8 @@ - 80 - 70 + 20 + 60 161 16 @@ -90,8 +123,8 @@ - 360 - 70 + 320 + 60 31 16 @@ -103,10 +136,10 @@ - 280 - 20 - 161 - 16 + 300 + 10 + 141 + 21 @@ -116,18 +149,24 @@ - 120 + 20 530 - 431 + 741 101 + + Qt::AlignCenter + + + OBSERVAÇÕES A SEREM ACRESCENTADAS + - 120 - 510 + 20 + 500 81 16 @@ -152,17 +191,17 @@ - 170 - 140 - 113 - 20 + 20 + 150 + 161 + 31 - 80 + 20 220 131 20 @@ -175,10 +214,10 @@ - 90 - 270 + 20 + 280 121 - 16 + 21 @@ -188,10 +227,10 @@ - 360 - 90 + 320 + 80 111 - 22 + 31 @@ -201,10 +240,10 @@ - 360 - 140 + 320 + 147 111 - 22 + 31 @@ -214,10 +253,10 @@ - 80 - 90 + 20 + 80 161 - 22 + 31 @@ -227,34 +266,34 @@ - 220 - 220 + 160 + 211 81 - 22 + 31 - 220 - 270 + 160 + 271 81 - 22 + 31 - 170 - 180 + 560 + 147 111 - 22 + 31 - true + false @@ -275,8 +314,8 @@ - 280 - 350 + 90 + 360 91 16 @@ -288,9 +327,9 @@ - 340 + 280 220 - 101 + 91 16 @@ -301,8 +340,8 @@ - 340 - 270 + 280 + 280 91 16 @@ -314,30 +353,30 @@ - 450 + 390 270 118 - 22 + 31 - 450 - 220 + 390 + 208 118 - 22 + 31 - 140 - 400 - 411 - 81 + 90 + 386 + 521 + 91 @@ -355,6 +394,9 @@ + + PointingHandCursor + @@ -379,6 +421,9 @@ + + PointingHandCursor + @@ -403,6 +448,9 @@ + + PointingHandCursor + @@ -427,6 +475,9 @@ + + PointingHandCursor + @@ -451,6 +502,9 @@ + + PointingHandCursor + @@ -478,6 +532,9 @@ + + PointingHandCursor + @@ -494,9 +551,9 @@ 560 - 90 - 69 - 22 + 80 + 111 + 31 @@ -504,7 +561,7 @@ 560 - 60 + 50 131 16 diff --git a/App/view/ui/home.ui b/App/view/ui/home.ui index c0da598..2125204 100644 --- a/App/view/ui/home.ui +++ b/App/view/ui/home.ui @@ -44,7 +44,7 @@ #btnFecharPagina:hover { background-color: #E81123; color: #FFF; - icon: url("App/view/ui/icones/closeBranco.png"); + icon: url("App/view/ui/icones/iconCloseBranco.png"); } #suMenuLateral QPushButton { @@ -351,7 +351,7 @@ QPushButton { - icones/iconPessoa.pngicones/iconPessoa.png + icones/iconAdd.pngicones/iconAdd.png @@ -631,7 +631,7 @@ QPushButton { - Pesquisa + Pesquisar @@ -671,11 +671,11 @@ QPushButton { - Cadastros + Cadastrar - icones/iconPessoa.pngicones/iconPessoa.png + icones/iconAdd.pngicones/iconAdd.png @@ -896,7 +896,7 @@ QPushButton { - icones/closeBranco.pngicones/closeBranco.png + icones/iconCloseBranco.pngicones/iconCloseBranco.png @@ -940,7 +940,7 @@ QPushButton { PointingHandCursor - Cadastrar Login + Login true @@ -978,7 +978,7 @@ QPushButton { PointingHandCursor - Cadastrar Área + Área true @@ -997,7 +997,7 @@ QPushButton { PointingHandCursor - Cadastrar Curso + Curso true @@ -1016,7 +1016,7 @@ QPushButton { PointingHandCursor - Cadastrar Sala + Sala true @@ -1035,7 +1035,7 @@ QPushButton { PointingHandCursor - Cadastrar Pessoa + Pessoa true @@ -1058,7 +1058,7 @@ QPushButton { PointingHandCursor - Editar Pessoas + Pessoas true @@ -1077,7 +1077,7 @@ QPushButton { PointingHandCursor - Editar Reserva + Reserva true @@ -1096,7 +1096,7 @@ QPushButton { PointingHandCursor - Editar Área + Área true @@ -1115,7 +1115,7 @@ QPushButton { PointingHandCursor - Editar Curso + Curso true @@ -1134,7 +1134,7 @@ QPushButton { PointingHandCursor - Editar Login + Login true @@ -1282,45 +1282,28 @@ QPushButton { 0 - - - - 0 - 0 - - - - - 70 - 40 - - - - - - - icones/logoSenac.png - - - true - - - Qt::AlignCenter - - - - - + 15 - 50 - false + + PointingHandCursor + Mapa de Sala + + + imagem/logoSenac.pngimagem/logoSenac.png + + + + 70 + 40 + + @@ -1366,7 +1349,7 @@ QPushButton { - icones/remove_24dp_000000_FILL0_wght400_GRAD0_opsz24.pngicones/remove_24dp_000000_FILL0_wght400_GRAD0_opsz24.png + icones/iconMinimezar.pngicones/iconMinimezar.png @@ -1392,7 +1375,7 @@ QPushButton { - icones/square-rounded-regular-24.pngicones/square-rounded-regular-24.png + icones/iconTelaCheia.pngicones/iconTelaCheia.png @@ -1432,8 +1415,7 @@ QPushButton { - icones/close_24dp_000000_FILL0_wght400_GRAD0_opsz24.png - icones/close_24dp_000000_FILL0_wght400_GRAD0_opsz24.pngicones/close_24dp_000000_FILL0_wght400_GRAD0_opsz24.png + icones/iconClosePreto.pngicones/iconClosePreto.png @@ -1507,7 +1489,7 @@ QPushButton { - icones/logoSenac.png + imagem/logoSenac.png true diff --git a/App/view/ui/icones/arrow_back_ios_24dp_000000_FILL0_wght400_GRAD0_opsz24.png b/App/view/ui/icones/arrow_back_ios_24dp_000000_FILL0_wght400_GRAD0_opsz24.png deleted file mode 100644 index 6e8b82e..0000000 Binary files a/App/view/ui/icones/arrow_back_ios_24dp_000000_FILL0_wght400_GRAD0_opsz24.png and /dev/null differ diff --git a/App/view/ui/icones/iconAdd.png b/App/view/ui/icones/iconAdd.png new file mode 100644 index 0000000..0e858dd Binary files /dev/null and b/App/view/ui/icones/iconAdd.png differ diff --git a/App/view/ui/icones/closeBranco.png b/App/view/ui/icones/iconCloseBranco.png similarity index 100% rename from App/view/ui/icones/closeBranco.png rename to App/view/ui/icones/iconCloseBranco.png diff --git a/App/view/ui/icones/close_24dp_000000_FILL0_wght400_GRAD0_opsz24.png b/App/view/ui/icones/iconClosePreto.png similarity index 100% rename from App/view/ui/icones/close_24dp_000000_FILL0_wght400_GRAD0_opsz24.png rename to App/view/ui/icones/iconClosePreto.png diff --git a/App/view/ui/icones/iconConcluido.png b/App/view/ui/icones/iconConcluido.png new file mode 100644 index 0000000..d53a670 Binary files /dev/null and b/App/view/ui/icones/iconConcluido.png differ diff --git a/App/view/ui/icones/iconErro.png b/App/view/ui/icones/iconErro.png new file mode 100644 index 0000000..10ee896 Binary files /dev/null and b/App/view/ui/icones/iconErro.png differ diff --git a/App/view/ui/icones/remove_24dp_000000_FILL0_wght400_GRAD0_opsz24.png b/App/view/ui/icones/iconMinimezar.png similarity index 100% rename from App/view/ui/icones/remove_24dp_000000_FILL0_wght400_GRAD0_opsz24.png rename to App/view/ui/icones/iconMinimezar.png diff --git a/App/view/ui/icones/remove_24dp_FFFFFF_FILL0_wght400_GRAD0_opsz24.png b/App/view/ui/icones/iconMinimizarBranco.png similarity index 100% rename from App/view/ui/icones/remove_24dp_FFFFFF_FILL0_wght400_GRAD0_opsz24.png rename to App/view/ui/icones/iconMinimizarBranco.png diff --git a/App/view/ui/icones/select_window_2_24dp_000000_FILL0_wght400_GRAD0_opsz24.png b/App/view/ui/icones/iconRestaurarTamanhoTela.png similarity index 100% rename from App/view/ui/icones/select_window_2_24dp_000000_FILL0_wght400_GRAD0_opsz24.png rename to App/view/ui/icones/iconRestaurarTamanhoTela.png diff --git a/App/view/ui/icones/square-rounded-regular-24.png b/App/view/ui/icones/iconTelaCheia.png similarity index 100% rename from App/view/ui/icones/square-rounded-regular-24.png rename to App/view/ui/icones/iconTelaCheia.png diff --git a/App/view/ui/icones/crop_square_24dp_FFFFFF_FILL0_wght400_GRAD0_opsz24.png b/App/view/ui/icones/iconTelaCheiaBranco.png similarity index 100% rename from App/view/ui/icones/crop_square_24dp_FFFFFF_FILL0_wght400_GRAD0_opsz24.png rename to App/view/ui/icones/iconTelaCheiaBranco.png diff --git a/App/view/ui/icones/logoSenac.png b/App/view/ui/icones/logoSenac.png deleted file mode 100644 index 5285baf..0000000 Binary files a/App/view/ui/icones/logoSenac.png and /dev/null differ diff --git a/App/view/ui/imagem/logo_senac_default.png b/App/view/ui/imagem/logo_senac_default.png new file mode 100644 index 0000000..7a30bcc Binary files /dev/null and b/App/view/ui/imagem/logo_senac_default.png differ diff --git a/App/view/ui/imagem/saberSenac.png b/App/view/ui/imagem/saberSenac.png new file mode 100644 index 0000000..44c4bff Binary files /dev/null and b/App/view/ui/imagem/saberSenac.png differ diff --git a/App/view/ui/reserva.ui b/App/view/ui/reserva.ui index a2c9f3c..1bd6c49 100644 --- a/App/view/ui/reserva.ui +++ b/App/view/ui/reserva.ui @@ -6,13 +6,42 @@ 0 0 - 863 - 651 + 865 + 655 Form + + QLineEdit, QComboBox, QTimeEdit, QDateEdit { + background-color: white; + border:2px solid rgba(0,0,0,0); + border-radius: 3px; + border-bottom-color:rgba(46,82,101,200); + color:rgb(0,0,0); + padding-bottom:7px; +} + +#btnFazerReserva { + background-color: #01498a; + color: #FFF; + border: none; + border-radius: 15px; +} + +#btnFazerReserva:hover { + background-color: #f6921e; +} + +#observacaoReserva { + background-color: white; +} + +#respostas { + color: red; +} + @@ -25,8 +54,8 @@ - 80 - 140 + 560 + 60 91 16 @@ -38,8 +67,8 @@ - 360 - 120 + 30 + 130 41 16 @@ -51,8 +80,8 @@ - 80 - 180 + 320 + 130 61 16 @@ -64,21 +93,35 @@ - 360 - 540 - 75 - 23 + 20 + 570 + 801 + 47 + + + 762 + 47 + + + + + 17 + + + + PointingHandCursor + RESERVA - + - 80 - 70 + 30 + 60 161 16 @@ -90,8 +133,8 @@ - 360 - 70 + 320 + 60 31 16 @@ -103,12 +146,17 @@ - 320 - 20 - 101 + 310 + 10 + 151 16 + + + 12 + + RESERVA DE SALA @@ -116,18 +164,24 @@ - 170 - 420 - 431 + 30 + 450 + 781 101 + + Qt::AlignCenter + + + OBSERVAÇÕES A SEREM ACRESCENTADAS + - 170 - 390 + 30 + 410 81 16 @@ -152,18 +206,18 @@ - 170 - 140 + 560 + 82 113 - 20 + 31 - 80 - 220 + 31 + 216 131 20 @@ -175,9 +229,9 @@ - 90 - 270 - 121 + 31 + 266 + 131 16 @@ -188,38 +242,47 @@ - 360 - 90 + 320 + 81 111 - 22 + 31 + + PointingHandCursor + - true + false - 360 - 140 - 111 - 22 + 30 + 151 + 161 + 31 + + PointingHandCursor + - true + false - 80 - 90 + 30 + 81 161 - 22 + 31 + + PointingHandCursor + true @@ -227,34 +290,40 @@ - 220 - 220 + 171 + 207 81 - 22 + 31 - 220 - 270 + 171 + 257 81 - 22 + 31 + + PointingHandCursor + - 170 - 180 + 320 + 151 111 - 22 + 31 + + PointingHandCursor + - true + false @@ -275,8 +344,8 @@ - 100 - 320 + 160 + 313 91 16 @@ -288,8 +357,8 @@ - 340 - 220 + 291 + 216 101 16 @@ -301,8 +370,8 @@ - 340 - 270 + 291 + 266 91 16 @@ -314,28 +383,34 @@ - 450 - 270 + 401 + 257 118 - 22 + 31 + + PointingHandCursor + - 450 - 220 + 401 + 207 118 - 22 + 31 + + PointingHandCursor + - 209 - 310 + 160 + 335 451 71 @@ -362,6 +437,9 @@ + + PointingHandCursor + @@ -392,6 +470,9 @@ + + PointingHandCursor + @@ -422,6 +503,9 @@ + + PointingHandCursor + @@ -452,6 +536,9 @@ + + PointingHandCursor + @@ -482,6 +569,12 @@ + + PointingHandCursor + + + true + @@ -515,6 +608,9 @@ + + PointingHandCursor + diff --git a/Doc/bancoDeDados/Conceitual/projetoSenac.brM b/Doc/bancoDeDados/Conceitual/projetoSenac.brM index 80e50f0..e8d103a 100644 Binary files a/Doc/bancoDeDados/Conceitual/projetoSenac.brM and b/Doc/bancoDeDados/Conceitual/projetoSenac.brM differ diff --git "a/Doc/bancoDeDados/F\303\255sico/oficial/cria\303\247\303\243o/oficialt.sql" "b/Doc/bancoDeDados/F\303\255sico/oficial/cria\303\247\303\243o/oficialt.sql" index 249e647..731e0de 100644 --- "a/Doc/bancoDeDados/F\303\255sico/oficial/cria\303\247\303\243o/oficialt.sql" +++ "b/Doc/bancoDeDados/F\303\255sico/oficial/cria\303\247\303\243o/oficialt.sql" @@ -134,6 +134,7 @@ CREATE TABLE `reserva` ( `dia` date NOT NULL COMMENT 'Dia da reserva', `hrInicio` time NOT NULL COMMENT 'Horário de início', `hrFim` time NOT NULL COMMENT 'Horário de término', + `chaveDevolvida` tinyint(1) NOT NULL COMMENT 'Se a chave já foi devolvida', `observacao` varchar(255) DEFAULT NULL COMMENT 'Observação', PRIMARY KEY (`idReserva`), FOREIGN KEY (`idLogin`) REFERENCES `login`(`idLogin`) ON DELETE CASCADE, diff --git "a/Doc/bancoDeDados/F\303\255sico/oficial/populado/oficialt.sql" "b/Doc/bancoDeDados/F\303\255sico/oficial/populado/oficialt.sql" index 257c5ac..6ae188e 100644 --- "a/Doc/bancoDeDados/F\303\255sico/oficial/populado/oficialt.sql" +++ "b/Doc/bancoDeDados/F\303\255sico/oficial/populado/oficialt.sql" @@ -144,6 +144,7 @@ CREATE TABLE `reserva` ( `dia` date NOT NULL COMMENT 'Dia da reserva', `hrInicio` time NOT NULL COMMENT 'Horário de início', `hrFim` time NOT NULL COMMENT 'Horário de término', + `chaveDevolvida` tinyint(1) NOT NULL COMMENT 'Se a chave já foi devolvida', `observacao` varchar(255) DEFAULT NULL COMMENT 'Observação' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; diff --git "a/Doc/bancoDeDados/F\303\255sico/teste/cria\303\247\303\243o/teste.sql" "b/Doc/bancoDeDados/F\303\255sico/teste/cria\303\247\303\243o/teste.sql" index ef18fb3..f04cf82 100644 --- "a/Doc/bancoDeDados/F\303\255sico/teste/cria\303\247\303\243o/teste.sql" +++ "b/Doc/bancoDeDados/F\303\255sico/teste/cria\303\247\303\243o/teste.sql" @@ -134,6 +134,7 @@ CREATE TABLE `reserva` ( `dia` date NOT NULL COMMENT 'Dia da reserva', `hrInicio` time NOT NULL COMMENT 'Horário de início', `hrFim` time NOT NULL COMMENT 'Horário de término', + `chaveDevolvida` tinyint(1) NOT NULL COMMET 'Se a chave já foi devolvida', `observacao` varchar(255) DEFAULT NULL COMMENT 'Observação', PRIMARY KEY (`idReserva`), FOREIGN KEY (`idLogin`) REFERENCES `login`(`idLogin`) ON DELETE CASCADE, diff --git "a/Doc/bancoDeDados/F\303\255sico/teste/populado/testePopulado.sql" "b/Doc/bancoDeDados/F\303\255sico/teste/populado/testePopulado.sql" index 501c22f..b437154 100644 --- "a/Doc/bancoDeDados/F\303\255sico/teste/populado/testePopulado.sql" +++ "b/Doc/bancoDeDados/F\303\255sico/teste/populado/testePopulado.sql" @@ -268,6 +268,7 @@ CREATE TABLE `reserva` ( `dia` date NOT NULL COMMENT 'Dia da reserva', `hrInicio` time NOT NULL COMMENT 'Horário de início', `hrFim` time NOT NULL COMMENT 'Horário de término', + `chaveDevolvida` tinyint(1) NOT NULL COMMENT 'Se a chave já foi devolvida', `observacao` varchar(255) DEFAULT NULL COMMENT 'Observação' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; @@ -275,26 +276,26 @@ CREATE TABLE `reserva` ( -- Despejando dados para a tabela `reserva` -- -INSERT INTO `reserva` (`idReserva`, `idLogin`, `idPessoa`, `idCurso`, `idSala`, `dia`, `hrInicio`, `hrFim`, `observacao`) VALUES -(6, 1, 1, 7, 18, '2024-09-15', '08:00:00', '12:00:00', NULL), -(7, 5, 5, 6, 19, '2024-09-11', '10:00:00', '17:00:00', NULL), -(8, 7, 1, 3, 20, '2024-10-15', '17:00:00', '22:30:00', NULL), -(11, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(13, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(14, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(15, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(16, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(17, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(18, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(19, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(20, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(21, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(22, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(23, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(24, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 'Nenhuma'), -(25, 1, 3, 5, 11, '2024-09-15', '08:00:00', '12:00:00', NULL), -(26, 1, 3, 5, 11, '2024-09-15', '09:00:00', '11:00:00', NULL), -(27, 1, 3, 5, 15, '2024-09-20', '09:00:00', '10:00:00', NULL); +INSERT INTO `reserva` (`idReserva`, `idLogin`, `idPessoa`, `idCurso`, `idSala`, `dia`, `hrInicio`, `hrFim`, `chaveDevolvida`, `observacao`) VALUES +(6, 1, 1, 7, 18, '2024-09-15', '08:00:00', '12:00:00', 1, NULL), +(7, 5, 5, 6, 19, '2024-09-11', '10:00:00', '17:00:00', 1, NULL), +(8, 7, 1, 3, 20, '2024-10-15', '17:00:00', '22:30:00', 1, NULL), +(11, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 1, 'Nenhuma'), +(13, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(14, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(15, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(16, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(17, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(18, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(19, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(20, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(21, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(22, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(23, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(24, 1, 3, 2, 15, '2024-09-20', '08:00:00', '12:00:00', 0, 'Nenhuma'), +(25, 1, 3, 5, 11, '2024-09-15', '08:00:00', '12:00:00', 1, NULL), +(26, 1, 3, 5, 11, '2024-09-15', '09:00:00', '11:00:00', 1, NULL), +(27, 1, 3, 5, 15, '2024-09-20', '09:00:00', '10:00:00', 1, NULL); -- -------------------------------------------------------- diff --git "a/Doc/bancoDeDados/Log\303\255co/SCRIPTS/logicoScript.sql" "b/Doc/bancoDeDados/Log\303\255co/SCRIPTS/logicoScript.sql" index ade0ca6..bf7994a 100644 --- "a/Doc/bancoDeDados/Log\303\255co/SCRIPTS/logicoScript.sql" +++ "b/Doc/bancoDeDados/Log\303\255co/SCRIPTS/logicoScript.sql" @@ -65,6 +65,7 @@ CREATE TABLE RESERVA ( dia DATE NOT NULL, hrInicio TIME NOT NULL, hrFim TIME NOT NULL, + chaveDevolvida BOOL NOT NULL, observacao VARCHAR(255) NULL, PRIMARY KEY(idReserva), INDEX RESERVAS_FKIndex2(SALA_idSala), diff --git "a/Doc/bancoDeDados/Log\303\255co/logico.xml" "b/Doc/bancoDeDados/Log\303\255co/logico.xml" index b77766c..5f88408 100644 --- "a/Doc/bancoDeDados/Log\303\255co/logico.xml" +++ "b/Doc/bancoDeDados/Log\303\255co/logico.xml" @@ -594,6 +594,10 @@ + + + + diff --git "a/Doc/documenta\303\247\303\243o/DBA/Conceitual/conceitual v9.png" "b/Doc/documenta\303\247\303\243o/DBA/Conceitual/conceitual v9.png" new file mode 100644 index 0000000..0c31518 Binary files /dev/null and "b/Doc/documenta\303\247\303\243o/DBA/Conceitual/conceitual v9.png" differ diff --git "a/Doc/documenta\303\247\303\243o/DBA/L\303\263gico/logico v7.png" "b/Doc/documenta\303\247\303\243o/DBA/L\303\263gico/logico v7.png" new file mode 100644 index 0000000..32068e1 Binary files /dev/null and "b/Doc/documenta\303\247\303\243o/DBA/L\303\263gico/logico v7.png" differ