diff options
Diffstat (limited to 'src/gui')
| -rw-r--r-- | src/gui/pageHome.py | 18 | ||||
| -rw-r--r-- | src/gui/pageLogin.py | 13 | ||||
| -rw-r--r-- | src/gui/pageRegister.py | 4 | ||||
| -rw-r--r-- | src/gui/windowRecherche.py | 63 |
4 files changed, 85 insertions, 13 deletions
diff --git a/src/gui/pageHome.py b/src/gui/pageHome.py index 7745aa5..99ca956 100644 --- a/src/gui/pageHome.py +++ b/src/gui/pageHome.py @@ -5,10 +5,10 @@ from PyQt5.QtWidgets import ( QHBoxLayout, QWidget, QVBoxLayout ) -from src.core import funcSearch from src.database import dbsearch from src.gui import pageLogin, pageRegister from src.gui.include import connexionInfo +from src.core.coreSearch import core_search_id, core_search_name def main(mainWindow) -> None: @@ -30,16 +30,24 @@ def main(mainWindow) -> None: inputRechercheNom = QLineEdit("Nom d'un pro") btnRechercheNom = QPushButton("Rechercher") + btnRechercheNom.clicked.connect( + lambda: + core_search_name( + mainWindow, + inputRechercheNom.text() + ) + ) comboRechercheCat = QComboBox() alljobs = classSearch.get_job_all() for i in alljobs: comboRechercheCat.addItem("{0}".format(i[2]), i[0]) btnRechercheCat = QPushButton("Rechercher") btnRechercheCat.clicked.connect( - lambda: funcSearch.search_by_job_id( - mainWindow, - comboRechercheCat.currentData() - ) + lambda: + core_search_id( + mainWindow, + comboRechercheCat.currentData() + ) ) layoutRechercheNom = QVBoxLayout() diff --git a/src/gui/pageLogin.py b/src/gui/pageLogin.py index 46e328a..d2b7f93 100644 --- a/src/gui/pageLogin.py +++ b/src/gui/pageLogin.py @@ -3,9 +3,9 @@ from PyQt5.QtWidgets import ( QPushButton, QHBoxLayout, QGroupBox, QLabel, QLineEdit, QWidget, QVBoxLayout, QGridLayout ) -from src.core import funcUser from src.gui import pageHome, pageRegister from src.gui.include import connexionInfo +from src.core.coreUser import core_login def main(mainWindow) -> None: @@ -29,11 +29,12 @@ def main(mainWindow) -> None: leditPassword.setEchoMode(QLineEdit.Password) btnConnexion = QPushButton("Connexion") btnConnexion.clicked.connect( - lambda: funcUser.login( - mainWindow, - leditMail.text(), - leditPassword.text() - ) + lambda: + core_login( + mainWindow, + leditMail.text(), + leditPassword.text() + ) ) LayoutInfoConnexion = QGridLayout() diff --git a/src/gui/pageRegister.py b/src/gui/pageRegister.py index 63cae28..aef8ce1 100644 --- a/src/gui/pageRegister.py +++ b/src/gui/pageRegister.py @@ -3,9 +3,9 @@ from PyQt5.QtWidgets import ( QPushButton, QHBoxLayout, QGroupBox, QLabel, QLineEdit, QWidget, QVBoxLayout, QComboBox, QGridLayout ) -from src.core import funcUser from src.gui import pageHome, pageLogin from src.gui.include import connexionInfo +from src.core.coreUser import core_register def main(mainWindow) -> None: @@ -37,7 +37,7 @@ def main(mainWindow) -> None: btnRegister = QPushButton("S'inscrire") btnRegister.clicked.connect( - lambda: funcUser.register( + lambda: core_register( mainWindow, leditMail.text(), leditPassword.text(), diff --git a/src/gui/windowRecherche.py b/src/gui/windowRecherche.py new file mode 100644 index 0000000..c86bcc9 --- /dev/null +++ b/src/gui/windowRecherche.py @@ -0,0 +1,63 @@ + +from PyQt5.QtWidgets import ( + QDialog, QVBoxLayout, QHBoxLayout, + QLabel, QPushButton, QMessageBox +) +from src.database import dbsearch +# https://docs.python.org/3/faq/programming.html#why-do-lambdas-defined-in-a-loop-with-different-values-all-return-the-same-result +# https://stackoverflow.com/questions/53751106/create-lambda-functions-in-a-loop-for-pyqt5-signals?noredirect=1 + + +def more_infos(mainWindow, proId): + search: object = dbsearch.DbSearch(mainWindow) + resRecherche: list = search.get_user_info_by_userid(proId)[0][1:] + label: list = [ + "Nom", + "Prénom", + "Diplôme", + "Capacités", + "Description", + "Téléphone", + "Adresse", + "Code postale", + "Ville", + ] + text: list = [] + print(resRecherche) + for i in range(len(resRecherche)): + text.append(f"{label[i]}: {resRecherche[i]}") + + QMessageBox.information( + mainWindow, + "Informations du pro", + "\n".join(text) + ) + +def main(mainWindow: object, results: list) -> None: + dial = QDialog(parent = mainWindow) + dial.setWindowTitle("Recherche") + layoutsResult: list = [] + for i in results: + layoutLine = QHBoxLayout() + color = results.index(i) % 2 + if color: + colored = QLabel(i["text"]) + colored.setStyleSheet("background-color: rgb(230,200,200); border-radius: 3px") + layoutLine.addWidget(colored) + else: + layoutLine.addWidget(QLabel(i["text"])) + btnInfos = QPushButton("Infos") + btnInfos.clicked.connect( + lambda checked, proId = i['id']: + more_infos(mainWindow, proId) + ) + layoutLine.addStretch() + layoutLine.addWidget(btnInfos) + layoutsResult.append(layoutLine) + + layoutMain = QVBoxLayout() + for layout in layoutsResult: + layoutMain.addLayout(layout) + + dial.setLayout(layoutMain) + dial.show() |
