diff options
Diffstat (limited to 'src/gui/windowMissions.py')
| -rw-r--r-- | src/gui/windowMissions.py | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/src/gui/windowMissions.py b/src/gui/windowMissions.py deleted file mode 100644 index d6fe57b..0000000 --- a/src/gui/windowMissions.py +++ /dev/null @@ -1,153 +0,0 @@ - -from PyQt5.QtWidgets import ( - QDialog, QGroupBox, QLabel, - QVBoxLayout, QHBoxLayout, - QPushButton, QMessageBox, - QLineEdit, QComboBox -) -from src.database.dbmission import DbMission - - -def review_mission(dial: object, dbmission: object, missionId: int) -> None: - dialReview = QDialog(parent=dial) - - lineNote = QHBoxLayout() - labNote = QLabel("Note: ") - cmbNote = QComboBox() - for i in range(6): - cmbNote.addItem(str(i), i) - lineNote.addWidget(labNote) - lineNote.addStretch() - lineNote.addWidget(cmbNote) - - lineReview = QHBoxLayout() - labReview = QLabel("Avis: ") - inpReview = QLineEdit() - lineReview.addWidget(labReview) - lineReview.addStretch() - lineReview.addWidget(inpReview) - - lineBtn = QHBoxLayout() - btnValider = QPushButton("Valider") - btnValider.clicked.connect( - lambda: - [dbmission.review_mission(missionId, inpReview.text(), cmbNote.currentData()), - dbmission.validate_mission_client_by_missionid(missionId), - QMessageBox.information( - dial, - "Mission", - "La mission a été validée" - ), - dialReview.close()] - ) - lineBtn.addStretch() - lineBtn.addWidget(btnValider) - lineBtn.addStretch() - - - layReview = QVBoxLayout() - layReview.addLayout(lineNote) - layReview.addLayout(lineReview) - layReview.addLayout(lineBtn) - - grpMain = QGroupBox("Donnez votre avis") - grpMain.setLayout(layReview) - layMain = QVBoxLayout() - layMain.addWidget(grpMain) - - dialReview.setLayout(layMain) - dialReview.show() - - -def validate_mission(mainWindow: object, dial: object, missionId: int, status: str) -> None: - dbmission: object = DbMission(mainWindow) - if status == "acceptedByPro": - dbmission.accept_mission_by_missionid(missionId) - QMessageBox.information( - dial, - "Mission", - "La mission a bien été acceptée" - ) - elif status == "validatedByPro": - dbmission.validate_mission_pro_by_missionid(missionId) - QMessageBox.information( - dial, - "Mission", - "La mission a été validée" - ) - elif status == "validatedByClient": - review_mission(dial, dbmission, missionId) - - dial.close() - - -def get_missions_status(mainWindow: object, status: str) -> list: - dbmission: object = DbMission(mainWindow) - if mainWindow.userStatus == "Pro": - missionsAll: list = dbmission.get_mission_by_proid(mainWindow.userId) - elif mainWindow.userStatus == "Client": - missionsAll: list = dbmission.get_mission_by_clientid(mainWindow.userId) - - if status == "pending": - missionsPending = [list(i) for i in missionsAll if i[5] == None] - return missionsPending - elif status == "ongoing": - missionsOngoing = [list(i) for i in missionsAll if i[5] != None and (i[6] == None or i[7] == None)] - return missionsOngoing - elif status == "completed": - missionsCompleted = [list(i) for i in missionsAll if (i[6] != None and i[7] != None)] - return missionsCompleted - - -def main(mainWindow: object, status: str) -> None: - missions: list = get_missions_status(mainWindow, status) - dial: object = QDialog(parent = mainWindow) - - linesMission: list = [] - for mission in missions: - line = QHBoxLayout() - labMission = QLabel(" - ".join([str(i) for i in mission[1:] if i != None])) - line.addWidget(labMission) - if status == "pending" and mainWindow.userStatus == "Pro": - btnValidate = QPushButton("Valider") - btnValidate.clicked.connect( - lambda checked, missionId=mission[0]: - validate_mission(mainWindow, dial, missionId, "acceptedByPro") - ) - line.addStretch() - line.addWidget(btnValidate) - elif status == "ongoing" and mainWindow.userStatus == "Pro" and mission[7] == None: - btnValidate = QPushButton("Valider") - btnValidate.clicked.connect( - lambda checked, missionId=mission[0]: - validate_mission(mainWindow, dial, missionId, "validatedByPro") - ) - line.addStretch() - line.addWidget(btnValidate) - elif status == "ongoing" and mainWindow.userStatus == "Client" and mission[6] == None: - btnValidate = QPushButton("Valider") - btnValidate.clicked.connect( - lambda checked, missionId=mission[0]: - validate_mission(mainWindow, dial, missionId, "validatedByClient") - ) - line.addStretch() - line.addWidget(btnValidate) - - linesMission.append(line) - - layMission = QVBoxLayout() - for i in linesMission: - layMission.addLayout(i) - - if status == "pending": - grpMain = QGroupBox("Missions en attente") - elif status == "ongoing": - grpMain = QGroupBox("Missions en cours") - elif status == "completed": - grpMain = QGroupBox("Missions terminées") - - grpMain.setLayout(layMission) - layMain = QVBoxLayout() - layMain.addWidget(grpMain) - dial.setLayout(layMain) - dial.show() |
