def execYearEnd(self): retcode = QtGui.QMessageBox.warning( self, "Attenzione", "La chiusura dell'anno scolastico deve essere eseguita\nsolo al termine delle attività annuali\n\nSicuri di voler procedere?", QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel, ) if retcode == QtGui.QMessageBox.Ok: exe = commandexec.execCommand(self) args = "%s/%s" % (self.pathBackup, self.curYear) retcode = exe.execute(self.scripts["endyear_backup"], args) # retcode = exe.execute(self.scripts['test1'], '3') if retcode != 0: QtGui.QMessageBox.critical( self, "Errore", "Errore nell'esecuzione dello script di chiusura anno [%s %s]\n\nCodice di errore %d" % (self.scripts["endyear_backup"], args, retcode), QtGui.QMessageBox.Ok, ) else: QtGui.QMessageBox.information( self, "Comando OK", "Comando completato con successo", defaultButton=QtGui.QMessageBox.Ok ) # change year state from 1 (active) to 2 (saved) self.curState = self.CUR_STATE["saved"] self.saveConf("Current/state", self.curState) self.updateUI() print "retcode = %d" % retcode
def tableImport(self): if (self.fileErr) : QtGui.QMessageBox.critical(self, "Attenzione", "Impossibile eseguire l'importazione\n\nCorreggere prima tutti i campi!\n\n ") else : if self.fileMod : retcode = QtGui.QMessageBox.warning(self, "Attenzione", "Il file originale verrà sovrascritto con le modifiche apportate!\n\nSicuri di voler procedere?", QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel) if retcode != QtGui.QMessageBox.Ok: return #save csv anyway, to prevent line terminator issue self.saveCsv() retcode = QtGui.QMessageBox.warning(self, "Attenzione", "Procedere con l'inserimento degli alunni elencati?", QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel) if retcode == QtGui.QMessageBox.Ok: # == Execute import script == print "eseguo SCRIPT!!!" exe = commandexec.execCommand() args='%s' % self.filename script = './scripts/add_students.sh' retcode = exe.execute(script, args) if retcode != 0 : QtGui.QMessageBox.critical(self, "Errore", "Errore nell'esecuzione dello script di importazione [%s %s]\n\nCodice di errore %d" % (script, args, retcode), QtGui.QMessageBox.Ok) else: QtGui.QMessageBox.information(self, "Comando OK", "Comando completato con successo!", defaultButton=QtGui.QMessageBox.Ok) self.close()
def execYearNew(self): retcode = QtGui.QMessageBox.warning( self, "Attenzione", "L'avvio di un nuovo anno cancelelrà tutti i dati dell'anno precedente!\nAccertarsi di avere eseguito il backup dell'anno precedente/in corso prima di procedere!\n\nSicuri di voler procedere?", QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel, ) if retcode == QtGui.QMessageBox.Ok: # == build tear list == year_list = QtCore.QStringList() for y in range(2010, 2050): year_list.append(str(y)) # == search for current year == now = datetime.datetime.now() year_sel, ok = QtGui.QInputDialog.getItem( self, "Nuovo Anno Scolatico", "Selezionare l'anno di inizio anno scolastico: ", year_list, current=now.year - 2010, ) year_sel = year_sel.toInt()[0] if ok: # == ask if sure :) == retcode = QtGui.QMessageBox.critical( self, "Attenzione", "Sicuri di voler procedere alla creazione del nuovo anno scolastico %d-%d ?\n\nTutti i dati attuali verranno cancellati!" % (year_sel, year_sel + 1), QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel, ) if retcode == QtGui.QMessageBox.Ok: password, ok = QtGui.QInputDialog.getText( self, "Nuovo Anno Scolatico", "Inserire la password di amministrazione: ", QtGui.QLineEdit.Password, ) if ok: # == check for password and execute the script == sec = SystemSecurity() # FIXME: debug!!!! # ret = True ret = sec.checkCurrentUserPassword(password) if not ret: QtGui.QMessageBox.critical(self, "Errore", "Password non corretta! ", QtGui.QMessageBox.Ok) return # TODO: ciclare nella richiesta password exe = commandexec.execCommand() args = "%s-%s a p" % ( year_sel, year_sel + 1, ) # per il momento sono gestite solo le sezioni dalla a alla p retcode = exe.execute(self.scripts["newyear"], args) if retcode != 0: QtGui.QMessageBox.critical( self, "Errore", "Errore nell'esecuzione dello script di avvio nuovo anno [%s %s]\n\nCodice di errore %d" % (self.scripts["newyear"], args, retcode), QtGui.QMessageBox.Ok, ) else: QtGui.QMessageBox.information( self, "Comando OK", "Comando completato con successo!\n\nOra configurare insegnanti ed alunni delle singole classi", defaultButton=QtGui.QMessageBox.Ok, ) # == update configuration file and gui == self.curState = self.CUR_STATE["active"] self.saveConf("Current/state", self.curState) self.curYear = "%s-%s" % (year_sel, year_sel + 1) self.saveConf("Current/year", self.curYear) self.updateUI()