diff options
| author | Debulois <quentin@debulois.fr> | 2022-05-01 23:24:19 +0200 |
|---|---|---|
| committer | Debulois <quentin@debulois.fr> | 2022-05-01 23:24:19 +0200 |
| commit | 809f5c2c7ce0bdf05287c6f1b5ec1330efb0c469 (patch) | |
| tree | 786477393b2608d3dd118d3e9ae4e57380804b5a /src/gui/windowUserInfo.py | |
| parent | 1eaf21fd423e5dedf1ed4361b0e9b6cbbcfc9fa0 (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.py | 195 |
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() |
