def setDao(self, dao):
     if dao is None:
         # Crea un nuovo Dao vuoto
         self.dao = Pagamento()
     else:
         # Ricrea il Dao con una connessione al DBMS SQL
         self.dao = Pagamento().getRecord(id=dao.id)
     self._refresh()
class AnagraficaPagamentiEdit(AnagraficaEdit):
    """ Modifica un record dell'anagrafica dei pagamenti """

    def __init__(self, anagrafica):
        AnagraficaEdit.__init__(self,
                                anagrafica,
                                'Dati pagamento',
                                root='anagrafica_pagamenti_detail_table',
                                path='_anagrafica_pagamenti_elements.glade')
        self._widgetFirstFocus = self.denominazione_entry

    def draw(self, cplx=False):
        #Popola combobox
        fillComboboxAliquoteIva(self.id_aliquota_iva_ccb.combobox)
        self.id_aliquota_iva_ccb.connect('clicked',
                                         on_id_aliquota_iva_customcombobox_clicked)

    def setDao(self, dao):
        if dao is None:
            # Crea un nuovo Dao vuoto
            self.dao = Pagamento()
        else:
            # Ricrea il Dao con una connessione al DBMS SQL
            self.dao = Pagamento().getRecord(id=dao.id)
        self._refresh()

    def _refresh(self):
        self.denominazione_entry.set_text(self.dao.denominazione or '')
        self.spese_entry.set_text(str(self.dao.spese or 0))
        self.codice_entry.set_text(self.dao.codice or '')
        findComboboxRowFromStr(self.tipo_combobox, self.dao.tipo, 0)
        findComboboxRowFromId(self.id_aliquota_iva_ccb.combobox,
                              self.dao.id_aliquota_iva)

    def saveDao(self, tipo=None):
        if self.denominazione_entry.get_text() == '':
            obligatoryField(self.dialogTopLevel,
                            self.denominazione_entry,
                            msg='Inserire la denominazione!')
        if findStrFromCombobox(self.tipo_combobox, 0) == '':
            obligatoryField(self.dialogTopLevel,
                            self.tipo_combobox,
                            msg='Inserire il tipo di pagamento!')

        self.dao.id_aliquota_iva = findIdFromCombobox(self.id_aliquota_iva_ccb.combobox)
        self.dao.denominazione = self.denominazione_entry.get_text()
        self.dao.spese = float(self.spese_entry.get_text())
        self.dao.codice = self.codice_entry.get_text()
        self.dao.tipo = findStrFromCombobox(self.tipo_combobox, 0)
        self.dao.persist()