Exemple #1
0
    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
Exemple #2
0
 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()
Exemple #3
0
    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()