summaryrefslogtreecommitdiff
path: root/src/gui/windowMissions.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windowMissions.py')
-rw-r--r--src/gui/windowMissions.py153
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()