From 809f5c2c7ce0bdf05287c6f1b5ec1330efb0c469 Mon Sep 17 00:00:00 2001 From: Debulois Date: Sun, 1 May 2022 23:24:19 +0200 Subject: Ajout du système pour mandater et mise en page des documents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gui/windowMissions.py | 153 ---------------------------------------------- 1 file changed, 153 deletions(-) delete mode 100644 src/gui/windowMissions.py (limited to 'src/gui/windowMissions.py') 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() -- cgit v1.2.3