class IntervenantUI(TableUI): """Classe chargée de l'interface de gestion des intervenants""" def setupModel(self): u"""Définit et configure le modèle sous-jacent à la table""" self._modele = QSqlTableModel(self) self._modele.setTable("intervenant") self._modele.setHeaderData(1, Qt.Horizontal, "Nom") self._modele.setHeaderData(2, Qt.Horizontal, u"Téléphone") self._modele.setHeaderData(3, Qt.Horizontal, "Email") self._modele.setEditStrategy(QSqlTableModel.OnFieldChange) self._modele.select() self._ui.tv.setModel(self._modele) def msgValidationNouveau(self): u"""Message d'erreur quand on veut créer deux items de suite""" return u"Valider l'intervenant avant d'en recréer un nouveau" def titreErrSuppression(self): return u"Cliquer sur l'intervenant à supprimer" def msgErrSuppression(self): return u"""Veuiller cliquer sur un intervenant avant de cliquer sur \ supprimer""" def msgSuppression(self, index): return u"Êtes-vous sûr de vouloir supprimer l'intervenant " + index.sibling( index.row(), 1).data() + " ? " def preSupprVerification(self, index): u"""Vérification à effectuer avant d'autoriser à supprimer un item Renvoit False si la suppression est interdite """ sql = """ SELECT COUNT(*) FROM absence WHERE id_intervenant=""" + str(index.sibling(index.row(), 0).data()) req = QSqlQuery() if req.exec_(sql): req.next() nbAbsences = req.record().value(0) if nbAbsences != 0: pl = "" if nbAbsences != 1: pl = "s" QMessageBox.critical( self, "Impossible de suppprimer", u"L'intervenant a encore " + str(nbAbsences) + u" absence" + pl + u" enregistrée" + pl + "<br />" + u"Il faut les supprimer avant") # TODO trouver un moyen de setter l'onglet de l'application # self._ui.tabWidget.setCurrentIndex(1) return False # TODO gérer le else, au moins logger quelque chose return True
class IntervenantUI(TableUI): """Classe chargée de l'interface de gestion des intervenants""" def setupModel(self): u"""Définit et configure le modèle sous-jacent à la table""" self._modele = QSqlTableModel(self) self._modele.setTable("intervenant") self._modele.setHeaderData(1, Qt.Horizontal, "Nom") self._modele.setHeaderData(2, Qt.Horizontal, u"Téléphone") self._modele.setHeaderData(3, Qt.Horizontal, "Email") self._modele.setEditStrategy(QSqlTableModel.OnFieldChange) self._modele.select() self._ui.tv.setModel(self._modele) def msgValidationNouveau(self): u"""Message d'erreur quand on veut créer deux items de suite""" return u"Valider l'intervenant avant d'en recréer un nouveau" def titreErrSuppression(self): return u"Cliquer sur l'intervenant à supprimer" def msgErrSuppression(self): return u"""Veuiller cliquer sur un intervenant avant de cliquer sur \ supprimer""" def msgSuppression(self, index): return u"Êtes-vous sûr de vouloir supprimer l'intervenant " + index.sibling(index.row(), 1).data() + " ? " def preSupprVerification(self, index): u"""Vérification à effectuer avant d'autoriser à supprimer un item Renvoit False si la suppression est interdite """ sql = """ SELECT COUNT(*) FROM absence WHERE id_intervenant=""" + str(index.sibling(index.row(), 0).data()) req = QSqlQuery() if req.exec_(sql): req.next() nbAbsences = req.record().value(0) if nbAbsences != 0: pl = "" if nbAbsences != 1: pl = "s" QMessageBox.critical(self, "Impossible de suppprimer", u"L'intervenant a encore " + str(nbAbsences) + u" absence" + pl + u" enregistrée" + pl + "<br />" + u"Il faut les supprimer avant") # TODO trouver un moyen de setter l'onglet de l'application # self._ui.tabWidget.setCurrentIndex(1) return False # TODO gérer le else, au moins logger quelque chose return True
def InitTable(self): """Funzione che accede al database ed imposta il data model""" db = QSqlDatabase.addDatabase("QSQLITE") db.setDatabaseName(self.myWidget.txtPercorso.text()) db.open() model = QSqlTableModel() model.setTable("contatti") model.setEditStrategy(QSqlTableModel.OnManualSubmit) model.select() model.setHeaderData(0, QtCore.Qt.Horizontal, "Nome") model.setHeaderData(1, QtCore.Qt.Horizontal, "Cognome") model.setHeaderData(2, QtCore.Qt.Horizontal, "Telefono") self.tableModel = model self.myWidget.lstRubrica.setModel(model)
def InitTable(self): """Funzione che accede al database ed imposta il data model""" db = QSqlDatabase.addDatabase("QSQLITE") db.setDatabaseName(self.myWidget.txtPercorso.text()) db.open() model = QSqlTableModel() model.setTable("contatti") model.setEditStrategy(QSqlTableModel.OnManualSubmit) model.select() model.setHeaderData(0, QtCore.Qt.Horizontal, "Nome") model.setHeaderData(1, QtCore.Qt.Horizontal, "Cognome") model.setHeaderData(2, QtCore.Qt.Horizontal, "Telefono") self.tableModel = model self.myWidget.lstRubrica.setModel(model)