diff options
| author | Debulois <quentin@debulois.fr> | 2022-04-20 13:17:36 +0200 |
|---|---|---|
| committer | Debulois <quentin@debulois.fr> | 2022-04-20 13:17:36 +0200 |
| commit | 4c4f70bf6eb88a419add86e182d3080674196433 (patch) | |
| tree | de407cee641f168c5ac325aa6a8b695ee04a429b | |
| parent | 41243ec2137bac39225231c0834f9d611fe94728 (diff) | |
Mis en place de la structure orientée objet
| -rw-r--r-- | app_alphajob/main.py | 119 | ||||
| -rw-r--r-- | src/core/__init__.py | 0 | ||||
| -rw-r--r-- | src/core/user.py | 25 | ||||
| -rw-r--r-- | src/database/__init__.py (renamed from app_alphajob/database/__init__.py) | 0 | ||||
| -rw-r--r-- | src/database/dbadmin.py (renamed from app_alphajob/database/dbadmin.py) | 0 | ||||
| -rw-r--r-- | src/database/dbmain.py (renamed from app_alphajob/database/dbmain.py) | 0 | ||||
| -rw-r--r-- | src/database/dbmission.py (renamed from app_alphajob/database/dbmission.py) | 0 | ||||
| -rw-r--r-- | src/database/dbsearch.py (renamed from app_alphajob/database/dbsearch.py) | 0 | ||||
| -rw-r--r-- | src/database/dbuser.py (renamed from app_alphajob/database/dbuser.py) | 0 | ||||
| -rw-r--r-- | src/gui/__init__.py | 0 | ||||
| -rw-r--r-- | src/gui/aPropos.py | 14 | ||||
| -rw-r--r-- | src/gui/home.py | 24 | ||||
| -rw-r--r-- | src/gui/login.py | 42 | ||||
| -rw-r--r-- | src/gui/menu.py | 17 | ||||
| -rw-r--r-- | src/gui/ressources/icon.ico (renamed from app_alphajob/ressources/icon.ico) | bin | 41662 -> 41662 bytes | |||
| -rw-r--r-- | src/main.py | 29 |
16 files changed, 151 insertions, 119 deletions
diff --git a/app_alphajob/main.py b/app_alphajob/main.py deleted file mode 100644 index 11f4cc1..0000000 --- a/app_alphajob/main.py +++ /dev/null @@ -1,119 +0,0 @@ - - -import sys -from os.path import join -from PyQt5 import QtWidgets, QtGui -from database import dbuser - -class mainWindow(QtWidgets.QMainWindow): - - VERSION = 0.1 - - def __init__(self): - super(mainWindow, self).__init__() - logo = join("./ressources", "icon.ico") - self.setWindowIcon(QtGui.QIcon(logo)) - menu = self.menuBar() - menu_options = menu.addMenu("Options") - btn_apropos = QtWidgets.QAction("A propos", self) - btn_apropos.triggered.connect(self.a_propos) - menu_options.addAction(btn_apropos) - self.setWindowTitle("Alphajob") - self.home() - - def home(self): - self.label1 = QtWidgets.QLabel("Home page") - btn1 = QtWidgets.QPushButton("Aller à la page de connexion") - btn1.clicked.connect(self.page_login) - - self.layoutMain = QtWidgets.QVBoxLayout() - - self.layoutMain.addWidget(self.label1) - self.layoutMain.addWidget(btn1) - - if hasattr(self, "mainWidget"): - self.mainWidget.deleteLater() - self.mainWidget = QtWidgets.QWidget() - self.mainWidget.setLayout(self.layoutMain) - self.setCentralWidget(self.mainWidget) - self.show() - - def page_login(self): - btnAccueil = QtWidgets.QPushButton("Accueil") - btnAccueil.clicked.connect(self.home) - self.emailConnexion = QtWidgets.QLineEdit("Email") - self.passwordConnexion = QtWidgets.QLineEdit("Password") - btnConnexion = QtWidgets.QPushButton("Connexion") - btnConnexion.clicked.connect(self.login) - - self.layoutMain = QtWidgets.QVBoxLayout() - self.layoutNavigation = QtWidgets.QHBoxLayout() - self.layoutPassword = QtWidgets.QHBoxLayout() - self.layoutPasswordWidgets = QtWidgets.QVBoxLayout() - - self.layoutMain.addLayout(self.layoutNavigation) - self.layoutNavigation.addWidget(btnAccueil) - self.layoutNavigation.addStretch() - - self.layoutMain.addLayout(self.layoutPassword) - self.layoutPassword.addStretch() - self.layoutPassword.addLayout(self.layoutPasswordWidgets) - self.layoutPassword.addStretch() - - self.layoutPasswordWidgets.addWidget(self.emailConnexion) - self.layoutPasswordWidgets.addWidget(self.passwordConnexion) - self.layoutPasswordWidgets.addWidget(btnConnexion) - - self.mainWidget.deleteLater() - self.mainWidget = QtWidgets.QWidget() - self.mainWidget.setLayout(self.layoutMain) - self.setCentralWidget(self.mainWidget) - - def login(self): - user = dbuser.DbUser() - if user.check_exist_email(self.emailConnexion.text()): - res = user.check_user_credential( - self.emailConnexion.text(), - self.passwordConnexion.text() - ) - if res: - QtWidgets.QMessageBox.information( - self, - "Connexion", - "Vous êtes connecté" - ) - else: - QtWidgets.QMessageBox.warning( - self, - "Connexion", - "Mauvaise combinaison mail & mot de passe" - ) - else: - QtWidgets.QMessageBox.warning( - self, - "Connexion", - "Mauvais email" - ) - - - def a_propos(self): - QtWidgets.QMessageBox.information( - self, - "A propos", - "Logiciel pour mon dossier professionnel.\ - <br>Version: %s\ - <br>Auteur: Debulois Quentin\ - <br>Code source: \ - <a href='https://git.debulois.fr/'>git.debulois.fr/</a>" % self.VERSION - ) - - -if __name__ == "__main__": - def main(): - """Démarrage de l'app - """ - app = QtWidgets.QApplication(sys.argv) - GUI = mainWindow() - sys.exit(app.exec_()) - - main()
\ No newline at end of file diff --git a/src/core/__init__.py b/src/core/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/core/__init__.py diff --git a/src/core/user.py b/src/core/user.py new file mode 100644 index 0000000..1d9db8d --- /dev/null +++ b/src/core/user.py @@ -0,0 +1,25 @@ +from src.database import dbuser +from PyQt5.QtWidgets import QMessageBox + +def login(mainWindow, email, password): + user = dbuser.DbUser() + if user.check_exist_email(email): + res = user.check_user_credential(email, password) + if res: + QMessageBox.information( + mainWindow, + "Connexion", + "Vous êtes connecté" + ) + else: + QMessageBox.warning( + mainWindow, + "Connexion", + "Mauvaise combinaison mail & mot de passe" + ) + else: + QMessageBox.warning( + mainWindow, + "Connexion", + "Mauvais email" + ) diff --git a/app_alphajob/database/__init__.py b/src/database/__init__.py index 03b0cc7..03b0cc7 100644 --- a/app_alphajob/database/__init__.py +++ b/src/database/__init__.py diff --git a/app_alphajob/database/dbadmin.py b/src/database/dbadmin.py index dd6b4d0..dd6b4d0 100644 --- a/app_alphajob/database/dbadmin.py +++ b/src/database/dbadmin.py diff --git a/app_alphajob/database/dbmain.py b/src/database/dbmain.py index 602cec6..602cec6 100644 --- a/app_alphajob/database/dbmain.py +++ b/src/database/dbmain.py diff --git a/app_alphajob/database/dbmission.py b/src/database/dbmission.py index 0a33a12..0a33a12 100644 --- a/app_alphajob/database/dbmission.py +++ b/src/database/dbmission.py diff --git a/app_alphajob/database/dbsearch.py b/src/database/dbsearch.py index 15d4a24..15d4a24 100644 --- a/app_alphajob/database/dbsearch.py +++ b/src/database/dbsearch.py diff --git a/app_alphajob/database/dbuser.py b/src/database/dbuser.py index e0a62fb..e0a62fb 100644 --- a/app_alphajob/database/dbuser.py +++ b/src/database/dbuser.py diff --git a/src/gui/__init__.py b/src/gui/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/gui/__init__.py diff --git a/src/gui/aPropos.py b/src/gui/aPropos.py new file mode 100644 index 0000000..49cb663 --- /dev/null +++ b/src/gui/aPropos.py @@ -0,0 +1,14 @@ + +from PyQt5.QtWidgets import QMessageBox + + +def a_propos(mainWindow): + QMessageBox.information( + mainWindow, + "A propos", + "Logiciel pour mon dossier professionnel.\ + <br>Version: %s\ + <br>Auteur: Debulois Quentin\ + <br>Code source: \ + <a href='https://git.debulois.fr/'>git.debulois.fr/</a>" % mainWindow.VERSION + ) diff --git a/src/gui/home.py b/src/gui/home.py new file mode 100644 index 0000000..554d561 --- /dev/null +++ b/src/gui/home.py @@ -0,0 +1,24 @@ + +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/login.py b/src/gui/login.py new file mode 100644 index 0000000..601cd18 --- /dev/null +++ b/src/gui/login.py @@ -0,0 +1,42 @@ + +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 new file mode 100644 index 0000000..90dffcf --- /dev/null +++ b/src/gui/menu.py @@ -0,0 +1,17 @@ + +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/app_alphajob/ressources/icon.ico b/src/gui/ressources/icon.ico Binary files differindex 7c550a3..7c550a3 100644 --- a/app_alphajob/ressources/icon.ico +++ b/src/gui/ressources/icon.ico diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..693964e --- /dev/null +++ b/src/main.py @@ -0,0 +1,29 @@ + +from sys import argv +from sys import exit as ex +from PyQt5.QtWidgets import QMainWindow, QApplication +from src.gui import menu, home + + +""" +https://peps.python.org/pep-0008/ +'python a = lambda a, b: truc' = 'js a = (a, b) => {truc}' = Fonction anonyme +""" +class mainWindow(QMainWindow): + VERSION = 0.1 + def __init__(self): + super(mainWindow, self).__init__() + menu.init_menu(self) + home.home_page(self) + + +if __name__ == "__main__": + def main(): + """Démarrage de l'app + """ + app = QApplication(argv) + GUI = mainWindow() + GUI.show() + ex(app.exec_()) + + main() |
