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