summaryrefslogtreecommitdiff
path: root/src/gui/windowUserInfo.py
diff options
context:
space:
mode:
authorDebulois <quentin@debulois.fr>2022-05-01 23:24:19 +0200
committerDebulois <quentin@debulois.fr>2022-05-01 23:24:19 +0200
commit809f5c2c7ce0bdf05287c6f1b5ec1330efb0c469 (patch)
tree786477393b2608d3dd118d3e9ae4e57380804b5a /src/gui/windowUserInfo.py
parent1eaf21fd423e5dedf1ed4361b0e9b6cbbcfc9fa0 (diff)
Ajout du système pour mandater et mise en page des documents
Diffstat (limited to 'src/gui/windowUserInfo.py')
-rw-r--r--src/gui/windowUserInfo.py195
1 files changed, 0 insertions, 195 deletions
diff --git a/src/gui/windowUserInfo.py b/src/gui/windowUserInfo.py
deleted file mode 100644
index e0a9b08..0000000
--- a/src/gui/windowUserInfo.py
+++ /dev/null
@@ -1,195 +0,0 @@
-
-from PyQt5.QtWidgets import (
- QDialog, QGroupBox, QLabel,
- QLineEdit, QVBoxLayout, QHBoxLayout,
- QPushButton, QComboBox, QMessageBox
-)
-from src.database.dbuser import DbUser
-from src.database.dbsearch import DbSearch
-
-
-def add_job(jobName: str, jobId: int, listMyJobs: list, layMyJobs: object) -> None:
- if jobId not in listMyJobs:
- listMyJobs.append(jobId)
- lineMyJobs: object = QHBoxLayout()
- labJob: object = QLabel(jobName)
- btnRemoveJob: object = QPushButton("Supprimer")
- btnRemoveJob.clicked.connect(
- lambda checked, jId=jobId, layItem=lineMyJobs: [
- listMyJobs.remove(jId),
- delete_job(layItem)
- ]
- )
- lineMyJobs.addWidget(labJob)
- lineMyJobs.addStretch()
- lineMyJobs.addWidget(btnRemoveJob)
- layMyJobs.addLayout(lineMyJobs)
-
-
-def delete_job(layLineJob: object) -> None:
- lab: object = layLineJob.itemAt(0).widget()
- btn: object = layLineJob.itemAt(2).widget()
- lab.deleteLater()
- btn.deleteLater()
- layLineJob.deleteLater()
-
-
-def validate(mainWindow: object, dial: object, layoutLines: list, oldJobs: list = None, newJobs: list = None) -> None:
- user: object = DbUser(mainWindow = mainWindow)
- userInfos: list = []
- for i in layoutLines:
- if i != "selectJobs" and i != "myJobs":
- lineInput: object = layoutLines[i].itemAt(2).widget()
- userInfos.append(lineInput.text())
-
- if mainWindow.userStatus == "Pro":
- isPro: bool = True
- else:
- isPro: bool = False
-
- if "" in userInfos:
- QMessageBox.warning(
- dial,
- "Mes informations",
- "Veuillez renseigner tous les champs"
- )
- return
-
- user.update_user_infos(userInfos, mainWindow.userId, isPro, oldJobs, newJobs)
- QMessageBox.information(
- dial,
- "Mes informations",
- "Modification enregistrée"
- )
-
-
-# https://stackoverflow.com/questions/3077192/get-a-layouts-widgets-in-pyqt
-def modif_infos(mainWindow: object) -> None:
- dial: object = QDialog(parent = mainWindow)
- dial.setWindowTitle("Mes infos")
-
- search: object = DbSearch(mainWindow)
- infos: list = search.get_user_info_by_userid(mainWindow.userId)
-
- if infos:
- champsClients: dict = {
- "Nom": infos[0][1],
- "Prénom": infos[0][2],
- "Téléphone": infos[0][6],
- "Addresse": infos[0][7],
- "Code postal": infos[0][8],
- "ville": infos[0][9]
- }
- champsPro: dict = {
- "Diplôme": infos[0][3],
- "Capacités": infos[0][4],
- "Description": infos[0][5]
- }
- else:
- champsClients: list = [
- "Nom",
- "Prénom",
- "Téléphone",
- "Addresse",
- "Code postal",
- "ville"
- ]
- champsPro: list =[
- "Diplôme",
- "Capacités",
- "Description"
- ]
-
- layoutLines: list = {}
- for i in champsClients:
- layoutLines[i] = QHBoxLayout()
- layoutLines[i].addWidget(QLabel(i))
- layoutLines[i].addStretch()
- if infos:
- if i == "Téléphone":
- layoutLines[i].addWidget(QLineEdit(champsClients[i], maxLength=10))
- elif i == "Code postal":
- layoutLines[i].addWidget(QLineEdit(champsClients[i], maxLength=6))
- else:
- layoutLines[i].addWidget(QLineEdit(champsClients[i], maxLength=128))
- else:
- if i == "Téléphone":
- layoutLines[i].addWidget(QLineEdit(maxLength=10))
- elif i == "Code postal":
- layoutLines[i].addWidget(QLineEdit(maxLength=6))
- else:
- layoutLines[i].addWidget(QLineEdit(maxLength=128))
-
- if mainWindow.userStatus == "Pro":
- allJobs: object = search.get_job_all()
- labSelectJobs: object = QLabel("Les emplois:")
- cmbAllJobs: object = QComboBox()
- lineSelectJobs: object = QHBoxLayout()
- for i in allJobs:
- cmbAllJobs.addItem(f"{i[2]}", i[0])
- btnSelectJobs = QPushButton("Ajouter")
- btnSelectJobs.clicked.connect(
- lambda :
- add_job(
- cmbAllJobs.currentText(),
- cmbAllJobs.currentData(),
- newJobs,
- layMyJobs
- )
- )
- lineSelectJobs.addWidget(labSelectJobs)
- lineSelectJobs.addStretch()
- lineSelectJobs.addWidget(cmbAllJobs)
- lineSelectJobs.addStretch()
- lineSelectJobs.addWidget(btnSelectJobs)
- layoutLines["selectJobs"] = lineSelectJobs
-
- myJobs: object = search.get_pro_job_by_proid(mainWindow.userId)
- layMyJobs: object = QVBoxLayout()
- newJobs: list = []
- for i in myJobs:
- add_job(i[2], i[0], newJobs, layMyJobs)
- oldJobs: list = newJobs.copy() # Sinon pointer !!!
-
- layoutLines["myJobs"] = layMyJobs
-
- for i in champsPro:
- layoutLines[i] = QHBoxLayout()
- layoutLines[i].addWidget(QLabel(i))
- layoutLines[i].addStretch()
- if infos:
- layoutLines[i].addWidget(QLineEdit(champsPro[i], maxLength=256))
- else:
- layoutLines[i].addWidget(QLineEdit(maxLength=256))
-
- modifLayout: object = QVBoxLayout()
- for i in layoutLines:
- modifLayout.addLayout(layoutLines[i])
-
- btnModif: object = QPushButton("modifer")
- btnModif.clicked.connect(
- lambda:
- validate(
- mainWindow,
- dial,
- layoutLines,
- oldJobs,
- newJobs
- ) if mainWindow.userStatus == "Pro"
- else validate(
- mainWindow,
- dial,
- layoutLines
- )
- )
- layoutBtn: object = QHBoxLayout()
- layoutBtn.addStretch()
- layoutBtn.addWidget(btnModif)
- modifLayout.addLayout(layoutBtn)
-
- grpMain: object = QGroupBox("Mes infos")
- grpMain.setLayout(modifLayout)
- mainLayout: object = QVBoxLayout()
- mainLayout.addWidget(grpMain)
- dial.setLayout(mainLayout)
- dial.show()