summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDebulois <quentin@debulois.fr>2022-04-20 13:17:36 +0200
committerDebulois <quentin@debulois.fr>2022-04-20 13:17:36 +0200
commit4c4f70bf6eb88a419add86e182d3080674196433 (patch)
treede407cee641f168c5ac325aa6a8b695ee04a429b
parent41243ec2137bac39225231c0834f9d611fe94728 (diff)
Mis en place de la structure orientée objet
-rw-r--r--app_alphajob/main.py119
-rw-r--r--src/core/__init__.py0
-rw-r--r--src/core/user.py25
-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__.py0
-rw-r--r--src/gui/aPropos.py14
-rw-r--r--src/gui/home.py24
-rw-r--r--src/gui/login.py42
-rw-r--r--src/gui/menu.py17
-rw-r--r--src/gui/ressources/icon.ico (renamed from app_alphajob/ressources/icon.ico)bin41662 -> 41662 bytes
-rw-r--r--src/main.py29
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
index 7c550a3..7c550a3 100644
--- a/app_alphajob/ressources/icon.ico
+++ b/src/gui/ressources/icon.ico
Binary files differ
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()