예제 #1
0
 def provvSaveDao(self):
     self.dao_provv_pg_az_art = ProvvPgAzArt().select(id_persona_giuridica_from=self.ana.dao.id, batchSize=None)
     for a in self.dao_provv_pg_az_art:
         a.delete()
     for a in self.provv_listore:
         if a[2] != "":
             dao_provv = Provvigione()
             dao_provv.valore_provv = a[2]
             dao_provv.tipo_provv = a[3]
             dao_provv.persist()
             dao_provv_pg_az_art = ProvvPgAzArt()
             dao_provv_pg_az_art.id_persona_giuridica_to = a[0].id
             dao_provv_pg_az_art.id_persona_giuridica_from = self.ana.dao.id
             dao_provv_pg_az_art.id_provvigione = dao_provv.id
             dao_provv_pg_az_art.persist()
예제 #2
0
 def setDao(self, dao):
     """ Si istanzia un nuovo DAO o nuovo o prelevato dalla Treeview
     principale
     """
     if dao is None:
         self.dao = ProvvPgAzArt()
         self.__dao_provv =  Provvigione()
     else:
         self.dao = dao
         self.__dao_provv = self.dao.provv
     self._refresh()
     return self.dao
예제 #3
0
class AnagraficaProvvEdit(AnagraficaEdit):
    """ Modifica un record dell'anagrafica delle provvigioni """
    def __init__(self, anagrafica, daoFrom=None, tipo="Cliente"):
        AnagraficaEdit.__init__(self,
                anagrafica,
                'Gestione Provvigioni',
                root='anagrafica_provv_detail_vbox',
                path='Provvigione/gui/_anagrafica_provv_elements.glade',
                isModule=True)
        self._widgetFirstFocus = self.provv_ArticoloSearchWidget
        self.anagrafica = anagrafica
        self.daoFrom = daoFrom
        self.tipo = tipo

    def draw(self, cplx=False):
        """ Funzione che "disegna l'interfaccia, devi annullare alcune combo
        a seconda di cosa richiama la finestra...iniziamo dal caso cliente
        """
        if self.tipo == "Cliente":
            self.provv_ClienteSearchWidget.set_sensitive(False)
            self.provv_PersonaGiuridicaSearchWidget.set_sensitive(False)

    def setDao(self, dao):
        """ Si istanzia un nuovo DAO o nuovo o prelevato dalla Treeview
        principale
        """
        if dao is None:
            self.dao = ProvvPgAzArt()
            self.__dao_provv =  Provvigione()
        else:
            self.dao = dao
            self.__dao_provv = self.dao.provv
        self._refresh()
        return self.dao

    def _refresh(self):
        """Funzione che rinfresca la UI all'apertura e dopo alcune operazioni
        di modifica
        """
        if self.dao.provv:
            self.valore_provv_entry.set_value(mN(self.dao.provv.valore_provv, 2))
        else:
            self.valore_provv_entry.set_text("")
        if self.dao.provv and self.dao.provv.tipo_provv == "€":
            tippo = 1
        else:
            tippo = 0
        self.tipo_provv_euro_radiobutton.set_active(tippo)
        self.provv_ClienteSearchWidget.setId(self.daoFrom.id)
        self.provv_FornitoreSearchWidget.setId(self.dao.id_persona_giuridica_to)
        self.provv_ArticoloSearchWidget.setId(self.dao.id_articolo)


    def clear(self):
        """ Funzione di reset o pulizia della UI """
        return

    def saveDao(self, tipo=None):
        """ Si effettuano controlli di coerenza, eventuale presenza
        di campi obbligatori ei provvedere a salvare il record dopo
        aver assegnato i valori necessari
        """
        provv_valore = self.valore_provv_entry.get_value()
        if self.tipo_provv_euro_radiobutton.get_active():
            tippo = "€"
        else:
            tippo = "%"
        provv_tipo = tippo
        self.__dao_provv.valore_provv = provv_valore
        self.__dao_provv.tipo_provv = provv_tipo
        self.__dao_provv.persist()

        self.dao.id_articolo = self.provv_ArticoloSearchWidget.getId()
        self.dao.id_persona_giuridica_from = self.daoFrom.id
        self.dao.id_persona_giuridica_to = self.provv_FornitoreSearchWidget.getId()
        self.dao.id_provvigione = self.__dao_provv.id
        self.dao.persist()

        self.clear()