def saveDao(self, tipo=None):
        denominazione = self.denominazione_banca_entry.get_text()
        if not denominazione:
            obligatoryField(self.anagrafica.getTopLevel(),
                    self.denominazione_banca_entry)
            return
        self.dao.denominazione = denominazione
        self.dao.agenzia = self.agenzia_entry.get_text()
        self.dao.bic_swift = self.bic_swift_entry.get_text()
        self.dao.abi = self.abi_entry.get_text()
        self.dao.cab = self.cab_entry.get_text()

        iban = self.iban_entry.get_text() or ''
        if iban:
            try:
                cc, cs, cin, abi, cab, conto = dividi_iban(iban)
            except:
                messageError(msg="Il codice IBAN inserito non è corretto.",
                                   transient=self.getTopLevel())
                return
            else:
                self.dao.abi = abi
                self.dao.cab = cab
                self.dao.iban = iban
        else:
            self.dao.iban = ''

        self.dao.persist()
Beispiel #2
0
def leggiCreditore():
    '''
    Ritorna le informazioni sul creditore

    @return: creditore
    '''
    # inizializziamo i dati del creditore
    creditore = Creditore()
    azienda = Azienda().getRecord(id=Environment.azienda)
    if azienda:
        creditore.codice_fiscale = azienda.codice_fiscale
        if not creditore.codice_fiscale:
            messageError('Inserire il codice fiscale nei Dati azienda.')
            return

        # provare con le banche azienda prima

        if azienda.iban:
            try:
                cc, cs, cin, creditore.abi, creditore.cab, creditore.numero_conto = dividi_iban(azienda.iban)
            except:
                pass
        elif azienda.abi and azienda.cab:
            creditore.abi = azienda.abi
            creditore.cab = azienda.cab
            if azienda.numero_conto:
                creditore.numero_conto = azienda.numero_conto
            else:
                messageError('Inserire il numero di conto nei Dati azienda.')
                return
        else:
            messageError('Inserire il codice IBAN nei Dati azienda.')
            return

        if azienda.codice_rea:
            creditore.codice_sia = str(azienda.codice_rea or ' ')
        else:
            messageError('Inserire il codice SIA in Dati azienda.')
            return

    creditore.descrizione[0] = azienda.ragione_sociale
    creditore.descrizione[1] = azienda.sede_operativa_indirizzo
    creditore.descrizione[2] = azienda.sede_operativa_localita
    creditore.descrizione[3] = azienda.codice_fiscale

    creditore.denominazione_breve = azienda.ragione_sociale

    return creditore