summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/home.py24
-rw-r--r--src/gui/include/__init__.py0
-rw-r--r--src/gui/include/connexionInfo.py10
-rw-r--r--src/gui/include/menu.py16
-rw-r--r--src/gui/include/ressources/icon.ico (renamed from src/gui/ressources/icon.ico)bin41662 -> 41662 bytes
-rw-r--r--src/gui/login.py42
-rw-r--r--src/gui/menu.py17
-rw-r--r--src/gui/pageHome.py74
-rw-r--r--src/gui/pageLogin.py64
-rw-r--r--src/gui/pageRegister.py74
-rw-r--r--src/gui/windowAPropos.py (renamed from src/gui/aPropos.py)2
11 files changed, 239 insertions, 84 deletions
diff --git a/src/gui/home.py b/src/gui/home.py
deleted file mode 100644
index 554d561..0000000
--- a/src/gui/home.py
+++ /dev/null
@@ -1,24 +0,0 @@
-
-from PyQt5 import QtWidgets
-from src.gui import login
-
-def home_page(mainWindow):
- label1 = QtWidgets.QLabel("Home page")
- btnConnexion = QtWidgets.QPushButton("Connexion")
- btnConnexion.clicked.connect(lambda: login.login_page(mainWindow))
-
- inputRecherche = QtWidgets.QLineEdit("Nom d'un pro")
- comboRecherche = QtWidgets.QComboBox()
-
- layoutMain = QtWidgets.QVBoxLayout()
-
- layoutMain.addWidget(btnConnexion)
- layoutMain.addWidget(label1)
- layoutMain.addWidget(inputRecherche)
- layoutMain.addWidget(comboRecherche)
-
- if hasattr(mainWindow, "mainWidget"):
- mainWindow.mainWidget.deleteLater()
- mainWindow.mainWidget = QtWidgets.QWidget()
- mainWindow.mainWidget.setLayout(layoutMain)
- mainWindow.setCentralWidget(mainWindow.mainWidget)
diff --git a/src/gui/include/__init__.py b/src/gui/include/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/gui/include/__init__.py
diff --git a/src/gui/include/connexionInfo.py b/src/gui/include/connexionInfo.py
new file mode 100644
index 0000000..8130f6f
--- /dev/null
+++ b/src/gui/include/connexionInfo.py
@@ -0,0 +1,10 @@
+
+from PyQt5.QtWidgets import QLabel
+
+def get_text(mainWindow) -> object:
+ if not mainWindow.userConnected:
+ connexionInfo = QLabel("Non connecté.")
+ else:
+ connexionInfo = QLabel(f"Connecté: {mainWindow.userEmail} - {mainWindow.userStatus}")
+
+ return connexionInfo
diff --git a/src/gui/include/menu.py b/src/gui/include/menu.py
new file mode 100644
index 0000000..e5a6ddd
--- /dev/null
+++ b/src/gui/include/menu.py
@@ -0,0 +1,16 @@
+
+from os.path import join
+from pathlib import Path
+from PyQt5.QtGui import QIcon
+from PyQt5.QtWidgets import QAction
+from src.gui import windowAPropos
+
+def init(mainWindow):
+ logo = join(Path(__file__).parent, "ressources", "icon.ico")
+ mainWindow.setWindowIcon(QIcon(logo))
+ menu = mainWindow.menuBar()
+ menuOptions = menu.addMenu("Options")
+ btnApropos = QAction("A propos", mainWindow)
+ btnApropos.triggered.connect(lambda: windowAPropos.main(mainWindow))
+ menuOptions.addAction(btnApropos)
+ mainWindow.setWindowTitle("Alphajob")
diff --git a/src/gui/ressources/icon.ico b/src/gui/include/ressources/icon.ico
index 7c550a3..7c550a3 100644
--- a/src/gui/ressources/icon.ico
+++ b/src/gui/include/ressources/icon.ico
Binary files differ
diff --git a/src/gui/login.py b/src/gui/login.py
deleted file mode 100644
index 601cd18..0000000
--- a/src/gui/login.py
+++ /dev/null
@@ -1,42 +0,0 @@
-
-from PyQt5 import QtWidgets
-from src.core import user
-from src.gui import home
-
-
-def login_page(mainWindow):
- btnAccueil = QtWidgets.QPushButton("Accueil")
- btnAccueil.clicked.connect(lambda: home.home_page(mainWindow))
- leditMail = QtWidgets.QLineEdit("Email")
- leditPassword = QtWidgets.QLineEdit("Password")
- btnConnexion = QtWidgets.QPushButton("Connexion")
- btnConnexion.clicked.connect(
- lambda: user.login(
- mainWindow,
- leditMail.text(),
- leditPassword.text()
- )
- )
-
- layoutMain = QtWidgets.QVBoxLayout()
- layoutNavigation = QtWidgets.QHBoxLayout()
- layoutPassword = QtWidgets.QHBoxLayout()
- layoutPasswordWidgets = QtWidgets.QVBoxLayout()
-
- layoutMain.addLayout(layoutNavigation)
- layoutNavigation.addWidget(btnAccueil)
- layoutNavigation.addStretch()
-
- layoutMain.addLayout(layoutPassword)
- layoutPassword.addStretch()
- layoutPassword.addLayout(layoutPasswordWidgets)
- layoutPassword.addStretch()
-
- layoutPasswordWidgets.addWidget(leditMail)
- layoutPasswordWidgets.addWidget(leditPassword)
- layoutPasswordWidgets.addWidget(btnConnexion)
-
- mainWindow.mainWidget.deleteLater()
- mainWindow.mainWidget = QtWidgets.QWidget()
- mainWindow.mainWidget.setLayout(layoutMain)
- mainWindow.setCentralWidget(mainWindow.mainWidget) \ No newline at end of file
diff --git a/src/gui/menu.py b/src/gui/menu.py
deleted file mode 100644
index 90dffcf..0000000
--- a/src/gui/menu.py
+++ /dev/null
@@ -1,17 +0,0 @@
-
-from os.path import join
-from pathlib import Path
-from PyQt5.QtWidgets import QAction
-from PyQt5.QtGui import QIcon
-from src.gui import aPropos
-
-def init_menu(mainWindow):
- logo = join(Path(__file__).parent, "ressources", "icon.ico")
- print(logo)
- mainWindow.setWindowIcon(QIcon(logo))
- menu = mainWindow.menuBar()
- menuOptions = menu.addMenu("Options")
- btnApropos = QAction("A propos", mainWindow)
- btnApropos.triggered.connect(lambda: aPropos.a_propos(mainWindow))
- menuOptions.addAction(btnApropos)
- mainWindow.setWindowTitle("Alphajob")
diff --git a/src/gui/pageHome.py b/src/gui/pageHome.py
new file mode 100644
index 0000000..7745aa5
--- /dev/null
+++ b/src/gui/pageHome.py
@@ -0,0 +1,74 @@
+
+from PyQt5.QtWidgets import (
+ QGroupBox, QPushButton,
+ QComboBox, QLineEdit,
+ 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
+
+
+def main(mainWindow) -> None:
+ classSearch = dbsearch.DbSearch(mainWindow)
+
+ connexionState = connexionInfo.get_text(mainWindow)
+
+ btnConnexion = QPushButton("Connexion")
+ btnConnexion.clicked.connect(lambda: pageLogin.main(mainWindow))
+ btnInscription = QPushButton("Inscription")
+ btnInscription.clicked.connect(lambda: pageRegister.main(mainWindow))
+
+ layoutUser = QHBoxLayout()
+ layoutUser.addStretch()
+ layoutUser.addWidget(btnConnexion)
+ layoutUser.addWidget(btnInscription)
+ grpUtilisateur = QGroupBox("Gestion de l'utilisateur")
+ grpUtilisateur.setLayout(layoutUser)
+
+ inputRechercheNom = QLineEdit("Nom d'un pro")
+ btnRechercheNom = QPushButton("Rechercher")
+ 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()
+ )
+ )
+
+ layoutRechercheNom = QVBoxLayout()
+ layoutRechercheNom.addWidget(inputRechercheNom)
+ layoutRechercheNom.addWidget(btnRechercheNom)
+ layoutRechercheCat = QVBoxLayout()
+ layoutRechercheCat.addWidget(comboRechercheCat)
+ layoutRechercheCat.addWidget(btnRechercheCat)
+
+ layoutRecherche = QHBoxLayout()
+ layoutRecherche.addStretch()
+ layoutRecherche.addLayout(layoutRechercheNom)
+ layoutRecherche.addStretch()
+ layoutRecherche.addLayout(layoutRechercheCat)
+ layoutRecherche.addStretch()
+
+ grpRecherche = QGroupBox("Recherche")
+ grpRecherche.setLayout(layoutRecherche)
+
+ layoutMain = QVBoxLayout()
+ layoutMain.addWidget(connexionState)
+ layoutMain.addWidget(grpUtilisateur)
+ layoutMain.addStretch()
+ layoutMain.addWidget(grpRecherche)
+ layoutMain.addStretch()
+
+ if hasattr(mainWindow, "mainWidget"):
+ mainWindow.mainWidget.deleteLater()
+
+ mainWindow.mainWidget = QWidget()
+ mainWindow.mainWidget.setLayout(layoutMain)
+ mainWindow.setCentralWidget(mainWindow.mainWidget)
diff --git a/src/gui/pageLogin.py b/src/gui/pageLogin.py
new file mode 100644
index 0000000..46e328a
--- /dev/null
+++ b/src/gui/pageLogin.py
@@ -0,0 +1,64 @@
+
+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
+
+
+def main(mainWindow) -> None:
+ connexionState = connexionInfo.get_text(mainWindow)
+
+ btnAccueil = QPushButton("Accueil")
+ btnAccueil.clicked.connect(lambda: pageHome.main(mainWindow))
+ btnInscription = QPushButton("Inscription")
+ btnInscription.clicked.connect(lambda: pageRegister.main(mainWindow))
+ layoutUser = QHBoxLayout()
+ layoutUser.addWidget(btnAccueil)
+ layoutUser.addStretch()
+ layoutUser.addWidget(btnInscription)
+ grpUtilisateur = QGroupBox("Gestion de l'utilisateur")
+ grpUtilisateur.setLayout(layoutUser)
+
+ labMail = QLabel("Email")
+ leditMail = QLineEdit()
+ labPassword = QLabel("Mot de passe")
+ leditPassword = QLineEdit()
+ leditPassword.setEchoMode(QLineEdit.Password)
+ btnConnexion = QPushButton("Connexion")
+ btnConnexion.clicked.connect(
+ lambda: funcUser.login(
+ mainWindow,
+ leditMail.text(),
+ leditPassword.text()
+ )
+ )
+
+ LayoutInfoConnexion = QGridLayout()
+ LayoutInfoConnexion.addWidget(labMail, 0, 0)
+ LayoutInfoConnexion.addWidget(leditMail, 0, 1)
+ LayoutInfoConnexion.addWidget(labPassword, 1, 0)
+ LayoutInfoConnexion.addWidget(leditPassword, 1, 1)
+ LayoutInfoConnexion.addWidget(btnConnexion, 2, 1)
+
+ layoutGroupConnexion = QHBoxLayout()
+ layoutGroupConnexion.addStretch()
+ layoutGroupConnexion.addLayout(LayoutInfoConnexion)
+ layoutGroupConnexion.addStretch()
+
+ grpConnexion = QGroupBox("Connexion")
+ grpConnexion.setLayout(layoutGroupConnexion)
+
+ layoutMain = QVBoxLayout()
+ layoutMain.addWidget(connexionState)
+ layoutMain.addWidget(grpUtilisateur)
+ layoutMain.addStretch()
+ layoutMain.addWidget(grpConnexion)
+ layoutMain.addStretch()
+
+ mainWindow.mainWidget.deleteLater()
+ mainWindow.mainWidget = QWidget()
+ mainWindow.mainWidget.setLayout(layoutMain)
+ mainWindow.setCentralWidget(mainWindow.mainWidget) \ No newline at end of file
diff --git a/src/gui/pageRegister.py b/src/gui/pageRegister.py
new file mode 100644
index 0000000..63cae28
--- /dev/null
+++ b/src/gui/pageRegister.py
@@ -0,0 +1,74 @@
+
+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
+
+
+def main(mainWindow) -> None:
+ connexionState = connexionInfo.get_text(mainWindow)
+
+ btnAccueil = QPushButton("Accueil")
+ btnAccueil.clicked.connect(lambda: pageHome.main(mainWindow))
+
+ btnConnexion = QPushButton("Connexion")
+ btnConnexion.clicked.connect(lambda: pageLogin.main(mainWindow))
+
+ layoutUser = QHBoxLayout()
+ layoutUser.addWidget(btnAccueil)
+ layoutUser.addStretch()
+ layoutUser.addWidget(btnConnexion)
+ grpUtilisateur = QGroupBox("Gestion de l'utilisateur")
+ grpUtilisateur.setLayout(layoutUser)
+
+ labMail = QLabel("Email")
+ leditMail = QLineEdit()
+ labPassword = QLabel("Mot de passe")
+ leditPassword = QLineEdit()
+ leditPassword.setEchoMode(QLineEdit.Password)
+ labStatus = QLabel("Rôle")
+ comboStatus = QComboBox()
+ comboStatus.addItem("Admin", 0)
+ comboStatus.addItem("Pro", 1)
+ comboStatus.addItem("Client", 2)
+
+ btnRegister = QPushButton("S'inscrire")
+ btnRegister.clicked.connect(
+ lambda: funcUser.register(
+ mainWindow,
+ leditMail.text(),
+ leditPassword.text(),
+ comboStatus.currentData()
+ )
+ )
+
+ LayoutInfoConnexion = QGridLayout()
+ LayoutInfoConnexion.addWidget(labMail, 0, 0)
+ LayoutInfoConnexion.addWidget(leditMail, 0, 1)
+ LayoutInfoConnexion.addWidget(labPassword, 1, 0)
+ LayoutInfoConnexion.addWidget(leditPassword, 1, 1)
+ LayoutInfoConnexion.addWidget(labStatus, 2, 0)
+ LayoutInfoConnexion.addWidget(comboStatus, 2, 1)
+ LayoutInfoConnexion.addWidget(btnRegister, 3, 1)
+
+ layoutGroupConnexion = QHBoxLayout()
+ layoutGroupConnexion.addStretch()
+ layoutGroupConnexion.addLayout(LayoutInfoConnexion)
+ layoutGroupConnexion.addStretch()
+ grpConnexion = QGroupBox("Inscription")
+ grpConnexion.setLayout(layoutGroupConnexion)
+
+ layoutMain = QVBoxLayout()
+ layoutMain.addWidget(connexionState)
+ layoutMain.addWidget(grpUtilisateur)
+ layoutMain.addStretch()
+ layoutMain.addWidget(grpConnexion)
+ layoutMain.addStretch()
+
+ mainWindow.mainWidget.deleteLater()
+ mainWindow.mainWidget = QWidget()
+ mainWindow.mainWidget.setLayout(layoutMain)
+ mainWindow.setCentralWidget(mainWindow.mainWidget)
diff --git a/src/gui/aPropos.py b/src/gui/windowAPropos.py
index 49cb663..9ecdfda 100644
--- a/src/gui/aPropos.py
+++ b/src/gui/windowAPropos.py
@@ -2,7 +2,7 @@
from PyQt5.QtWidgets import QMessageBox
-def a_propos(mainWindow):
+def main(mainWindow):
QMessageBox.information(
mainWindow,
"A propos",