Пример #1
0
 def setDao(self, dao):
     if dao is None:
         self.dao = Magazzino()
         self._refresh()
     else:
         # Ricrea il Dao con una connessione al DBMS SQL
         self.dao = Magazzino().getRecord(id=dao.id)
         self._refresh()
     return self.dao
Пример #2
0
class AnagraficaMagazziniEdit(AnagraficaEdit):
    """ Modifica un record dell'anagrafica dei magazzini """

    def __init__(self, anagrafica):
        AnagraficaEdit.__init__(self,
                                  anagrafica,
                                  'Dati magazzino',
                                  root='anagrafica_magazzini_detail_table',
                                  path='_anagrafica_magazzini_elements.glade')
        self._widgetFirstFocus = self.denominazione_entry


    def draw(self, cplx=False):
        pass


    def setDao(self, dao):
        if dao is None:
            self.dao = Magazzino()
            self._refresh()
        else:
            # Ricrea il Dao con una connessione al DBMS SQL
            self.dao = Magazzino().getRecord(id=dao.id)
            self._refresh()
        return self.dao


    def _refresh(self):
        self.denominazione_entry.set_text(self.dao.denominazione or '')
        self.indirizzo_entry.set_text(self.dao.indirizzo or '')
        self.localita_entry.set_text(self.dao.localita or '')
        self.cap_entry.set_text(self.dao.cap or '')
        self.provincia_entry.set_text(self.dao.provincia or '')
        self.pvcode_entry.set_text(self.dao.pvcode or '')

    def saveDao(self, tipo=None):
        if (self.denominazione_entry.get_text() == ''):
            obligatoryField(self.dialogTopLevel, self.denominazione_entry)


        daoEsistente = Magazzino().select(denominazione=self.denominazione_entry.get_text())
        if daoEsistente:
            messageInfo(msg="""ATTENZIONE!!
Un magazzino con lo stesso nome esiste già
Verrà aggiornata la precedente.""")
            del self.dao
            self.dao = daoEsistente[0]


        self.dao.denominazione = self.denominazione_entry.get_text()
        self.dao.indirizzo = self.indirizzo_entry.get_text()
        self.dao.localita = self.localita_entry.get_text()
        self.dao.cap = self.cap_entry.get_text()
        self.dao.provincia = self.provincia_entry.get_text()
        self.dao.pvcode = self.pvcode_entry.get_text()
        self.dao.persist()


    def on_contatti_togglebutton_clicked(self, toggleButton):
        if posso("CN"):
            toggleButton.set_active(False)
            if self.dao.id is None:
                msg = 'Prima di poter inserire i contatti occorre salvare il magazzino.\n Salvare ?'
                if YesNoDialog(msg=msg, transient=self.dialogTopLevel):
                    self.on_anagrafica_complessa_detail_dialog_response(self.dialogTopLevel, GTK_RESPONSE_APPLY)
                else:
                    toggleButton.set_active(False)
                    return

            from promogest.ui.Contatti.AnagraficaContatti import AnagraficaContatti
            anag = AnagraficaContatti(self.dao.id, 'magazzino')
            anagWindow = anag.getTopLevel()

            showAnagraficaRichiamata(self.dialogTopLevel, anagWindow, toggleButton)
        else:
            fencemsg()
            toggleButton.set_active(False)