summaryrefslogtreecommitdiff
path: root/src/gui/windowAdmin.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windowAdmin.py')
-rw-r--r--src/gui/windowAdmin.py180
1 files changed, 180 insertions, 0 deletions
diff --git a/src/gui/windowAdmin.py b/src/gui/windowAdmin.py
new file mode 100644
index 0000000..3996615
--- /dev/null
+++ b/src/gui/windowAdmin.py
@@ -0,0 +1,180 @@
+
+from PyQt5.QtWidgets import (
+ QDialog, QGroupBox, QLabel,
+ QLineEdit, QVBoxLayout, QHBoxLayout,
+ QGridLayout, QPushButton, QComboBox
+)
+from src.database import dbsearch, dbadmin, dbmission
+from src.core import coreAdmin
+
+
+class admin_emplois():
+ def cmb_populate(self, mainWindow: object , cmb: object) -> None:
+ # Instanciation DB
+ search: object = dbsearch.DbSearch(mainWindow)
+ allJobs: object = search.get_job_all()
+ cmb.clear()
+ for i in allJobs:
+ cmb.addItem(f"{i[2]}", i[0])
+
+ def __init__(self, mainWindow: object) -> None:
+ # Fenêtre
+ dial: object = QDialog(parent = mainWindow)
+ dial.setWindowTitle("Admin - Emplois")
+
+ # Widgets Ajout
+ labAjoutEn: object = QLabel("Nom en Anglais")
+ inpAjoutEn: object = QLineEdit()
+ labAjoutFr: object = QLabel("Nom en Français")
+ inpAjoutFr: object = QLineEdit()
+ btnAjout: object = QPushButton("Enregistrer")
+ btnAjout.clicked.connect(
+ lambda: [
+ coreAdmin.core_ajout_emploi(
+ mainWindow,
+ inpAjoutEn.text(),
+ inpAjoutFr.text()
+ ),
+ self.cmb_populate(mainWindow, cmbSuppr)
+ ]
+ )
+ # Layout Ajout
+ layAjout: object = QGridLayout()
+ layAjout.addWidget(labAjoutEn, 0, 0)
+ layAjout.addWidget(inpAjoutEn, 0, 1)
+ layAjout.addWidget(labAjoutFr, 1, 0)
+ layAjout.addWidget(inpAjoutFr, 1, 1)
+ layAjout.addWidget(btnAjout, 2, 1)
+ # Grp Ajout
+ grpAjout: object = QGroupBox("Ajout d'un emploi")
+ grpAjout.setLayout(layAjout)
+
+ # Widgets Suppr
+ labSuppr: object = QLabel("Emploi à supprimmer")
+ cmbSuppr: object = QComboBox()
+ self.cmb_populate(mainWindow, cmbSuppr)
+ btnSuppr: object = QPushButton("Supprimer")
+ btnSuppr.clicked.connect(
+ lambda: [
+ coreAdmin.core_suppr_emploi(
+ mainWindow,
+ cmbSuppr.currentData()
+ ),
+ self.cmb_populate(mainWindow, cmbSuppr)
+ ]
+ )
+ # Layouts Suppr
+ laySuppr: object = QGridLayout()
+ laySuppr.addWidget(labSuppr, 0, 0)
+ laySuppr.addWidget(cmbSuppr, 0, 1)
+ laySuppr.addWidget(btnSuppr, 1, 1)
+ # Grp Suppr
+ grpSuppr: object = QGroupBox("Suppression d'un emploi")
+ grpSuppr.setLayout(laySuppr)
+
+ # Layout Main & show
+ layoutMain: object = QVBoxLayout()
+ layoutMain.addWidget(grpAjout)
+ layoutMain.addWidget(grpSuppr)
+ dial.setLayout(layoutMain)
+ dial.show()
+
+
+def admin_users(mainWindow: object) -> None:
+ # Instanciation DB
+ admin: object = dbadmin.DbAdmin(mainWindow)
+ allUsers: object = admin.get_all_users_account()
+
+ # Fenêtre
+ dial: object = QDialog(parent = mainWindow)
+ dial.setWindowTitle("Admin - Utilisateurs")
+
+ # Widgets Users
+ labUserId: object = QLabel("Id à supprimer")
+ inpUserId: object = QLineEdit()
+ btnSuppr: object = QPushButton("Supprimer")
+ btnSuppr.clicked.connect(
+ lambda: [
+ coreAdmin.core_suppr_user(
+ mainWindow,
+ inpUserId.text()
+ ),
+ dial.close()
+ ]
+ )
+ labAllUsers: list = []
+ for i in allUsers:
+ labAllUsers.append(QLabel(f"ID:{i[0]} Mail:{i[1]} Inscr.{i[4]} Status:{i[5]}"))
+ # Layouts Users
+ layUsersCmd: object = QHBoxLayout()
+ layUsersCmd.addStretch()
+ layUsersCmd.addWidget(labUserId)
+ layUsersCmd.addWidget(inpUserId)
+ layUsersCmd.addWidget(btnSuppr)
+ layUsersCmd.addStretch()
+ layUsers: object = QVBoxLayout()
+ for i in range(len(labAllUsers)):
+ layUsers.addWidget(labAllUsers[i])
+ layUserMain: object = QVBoxLayout()
+ layUserMain.addLayout(layUsersCmd)
+ layUserMain.addLayout(layUsers)
+ # Grp Users
+ grpUser: object = QGroupBox("Suppression d'un utilisateur")
+ grpUser.setLayout(layUserMain)
+
+ # Layout Main & Show
+ layoutMain: object = QVBoxLayout()
+ layoutMain.addWidget(grpUser)
+ dial.setLayout(layoutMain)
+ dial.show()
+
+
+def admin_missions(mainWindow: object):
+ # Instanciation DB
+ mission: object = dbmission.DbMission(mainWindow)
+ search: object = dbsearch.DbSearch(mainWindow)
+
+ # Fenêtre
+ dial: object = QDialog(parent = mainWindow)
+ dial.setWindowTitle("Admin - Missions")
+
+ # Widgets Users
+ labMissionId: object = QLabel("Id à supprimer")
+ inpMissionId: object = QLineEdit()
+ btnSuppr: object = QPushButton("Supprimer")
+ btnSuppr.clicked.connect(
+ lambda: [
+ coreAdmin.core_suppr_mission(
+ mainWindow,
+ inpMissionId.text()
+ ),
+ dial.close()
+ ]
+ )
+ allMissions: object = mission.get_all_missions()
+ labAllMissions: list = []
+ for i in allMissions:
+ emploi = search.get_job_by_jobid(i[10])[0][2]
+ labAllMissions.append(QLabel(f"ID:{i[0]} date:{i[1].strftime('%m/%d/%Y')} Emploi:{emploi} sujet:{i[2]} clientId:{i[8]} proId:{i[9]} "))
+ # Layouts Missions
+ layMissionsCmd: object = QHBoxLayout()
+ layMissionsCmd.addStretch()
+ layMissionsCmd.addWidget(labMissionId)
+ layMissionsCmd.addWidget(inpMissionId)
+ layMissionsCmd.addWidget(btnSuppr)
+ layMissionsCmd.addStretch()
+ layMissions: object = QVBoxLayout()
+ for i in range(len(labAllMissions)):
+ layMissions.addWidget(labAllMissions[i])
+ layMissionMain: object = QVBoxLayout()
+ layMissionMain.addLayout(layMissionsCmd)
+ layMissionMain.addLayout(layMissions)
+ # Grp Missions
+ grpMission: object = QGroupBox("Suppression d'une mission")
+ grpMission.setLayout(layMissionMain)
+
+ # Layout Main & Show
+ layoutMain: object = QVBoxLayout()
+ layoutMain.addWidget(grpMission)
+ dial.setLayout(layoutMain)
+ dial.show()