summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/pageHome.py18
-rw-r--r--src/gui/pageLogin.py13
-rw-r--r--src/gui/pageRegister.py4
-rw-r--r--src/gui/windowRecherche.py63
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()