示例#1
0
 def save_contatto_email_principale(self,anagrafica, daocontatto):
     recont = RecapitoContatto().select(idContatto=daocontatto.id,
                                                     tipoRecapito="Email")
     if recont:
         reco = recont[0]
         if anagrafica.email_principale_entry.get_text() =="" or reco.recapito=="":
             reco.delete()
         else:
             reco.id_contatto = daocontatto.id
             reco.tipo_recapito = "Email"
             reco.recapito = anagrafica.email_principale_entry.get_text()
             reco.persist()
     else:
         reco = RecapitoContatto()
         reco.id_contatto = daocontatto.id
         reco.tipo_recapito = "Email"
         reco.recapito = anagrafica.email_principale_entry.get_text()
         reco.persist()
示例#2
0
 def save_contatto_sito_principale(self,anagrafica, daocontatto):
     recontw = RecapitoContatto().select(idContatto=daocontatto.id,
                                                 tipoRecapito="Sito")
     if recontw:
         recow = recontw[0]
         if anagrafica.sito_web_principale_entry.get_text() =="" or recow.recapito=="":
             recow.delete()
         else:
             recow.id_contatto = daocontatto.id
             recow.tipo_recapito = "Sito"
             recow.recapito = anagrafica.sito_web_principale_entry.get_text()
             recow.persist()
     else:
         recow = RecapitoContatto()
         recow.id_contatto = daocontatto.id
         recow.tipo_recapito = "Sito"
         recow.recapito = anagrafica.sito_web_principale_entry.get_text()
         recow.persist()
    def on_duplica_in_cliente_activate_item(self, widget):
        dao = self.filter.getSelectedDao()
        if not dao:
            messageInfo(msg="SELEZIONARE UN FORNITORE")
            return
        import promogest.dao.Cliente
        from promogest.dao.Cliente import Cliente
        from promogest.dao.daoContatti.ContattoCliente import ContattoCliente
        from promogest.dao.daoContatti.RecapitoContatto import RecapitoContatto
        from promogest.dao.daoContatti.Contatto import Contatto

        d = Cliente()
        d.codice = promogest.dao.Cliente.getNuovoCodiceCliente()
        d.ragione_sociale = dao.ragione_sociale
        d.insegna = dao.insegna
        d.cognome = dao.cognome
        d.nome = dao.nome
        d.sede_operativa_indirizzo= dao.sede_operativa_indirizzo
        d.sede_operativa_cap = dao.sede_operativa_cap
        d.sede_operativa_localita = dao.sede_operativa_localita
        d.sede_operativa_provincia = dao.sede_operativa_provincia
        d.sede_legale_indirizzo = dao.sede_legale_indirizzo
        d.sede_legale_cap = dao.sede_legale_cap
        d.sede_legale_localita = dao.sede_legale_localita
        d.sede_legale_provincia = dao.sede_legale_provincia
        d.codice_fiscale = dao.codice_fiscale
        d.note = dao.note
        d.partita_iva = dao.partita_iva
        #dao.id_categoria_fornitore
        d.id_pagamento = dao.id_pagamento
        d.id_magazzino = dao.id_magazzino
        d.nazione = dao.nazione
        d.persist()
        #SEzione dedicata ai contatti/recapiti principali
        dao_contatto = ContattoCliente()
        if Environment.tipo_eng =="sqlite":
            forMaxId = Contatto().select(batchSize=None)
            if not forMaxId:
                dao_contatto.id = 1
            else:
                idss = []
                for l in forMaxId:
                    idss.append(l.id)
                dao_contatto.id = (max(idss)) +1
        appa = ""
        if d.ragione_sociale:
            appa = appa +" "+d.ragione_sociale
        if d.cognome:
            appa = appa+" " +d.cognome
        dao_contatto.cognome = appa
        if d.nome:
            dao_contatto.nome = d.nome
        dao_contatto.tipo_contatto ="cliente"
        dao_contatto.id_cliente =d.id
        dao_contatto.persist()

        from promogest.dao.DaoUtils import getRecapitiFornitore
        contatti = getRecapitiFornitore(dao.id)
        for c in contatti:
            reco = RecapitoContatto()
            reco.id_contatto = dao_contatto.id
            reco.tipo_recapito = c.tipo_recapito
            reco.recapito = c.recapito
            reco.persist()
        messageInfo(msg="FORNITORE DUPLICATO IN CLIENTE")
示例#4
0
    def saveDao(self, tipo=None):
        if not self.generico_radiobutton.get_active():
            if self.appartenenza_customcombobox._id is None:
                obligatoryField(self.dialogTopLevel, self.appartenenza_customcombobox)
        if self.cliente_radiobutton.get_active():
            if self.dao.id is None:
                self.dao = ContattoCliente()
            self.dao.id_cliente = self.appartenenza_customcombobox._id
            self.dao.tipo_contatto ="cliente"
        elif self.fornitore_radiobutton.get_active():
            if self.dao.id is None:
                self.dao = ContattoFornitore()
            self.dao.id_fornitore = self.appartenenza_customcombobox._id
            self.dao.tipo_contatto ="fornitore"
        elif self.magazzino_radiobutton.get_active():
            if self.dao.id is None:
                self.dao = ContattoMagazzino()
            self.dao.id_magazzino = self.appartenenza_customcombobox._id
            self.dao.tipo_contatto ="magazzino"
        elif self.azienda_radiobutton.get_active():
            if self.dao.id is None:
                self.dao = ContattoAzienda()
            self.dao.schema_azienda = self.appartenenza_customcombobox._id
            self.dao.tipo_contatto ="azienda"
        elif self.generico_radiobutton.get_active():
            if self.dao.id is None:
                self.dao = Contatto()
            self.dao.tipo_contatto ="generico"


        self.dao.cognome = self.cognome_entry.get_text()
        self.dao.nome = self.nome_entry.get_text()
        self.dao.ruolo = self.ruolo_comboboxentry.get_child().get_text()
        self.dao.descrizione = self.descrizione_comboboxentry.child.get_text()
        textBuffer = self.note_textview.get_buffer()
        self.dao.note = textBuffer.get_text(textBuffer.get_start_iter(), textBuffer.get_end_iter(),True)
        if Environment.tipo_eng =="sqlite" and not self.dao.id:
            forMaxId = Contatto().select(batchSize=None)
            if not forMaxId:
                self.dao.id = 1
            else:
                idss = []
                for l in forMaxId:
                    idss.append(l.id)
                self.dao.id = (max(idss)) +1
        #self.daoid=self.dao.id
        self.dao.persist()
        # Salvo categorie contatti
        model = self.categorie_treeview.get_model()

        cleanContattoCategoriaContatto = ContattoCategoriaContatto()\
                                                    .select(idContatto=self.dao.id,
                                                    batchSize=None)
        for contatto in cleanContattoCategoriaContatto:
            contatto.delete()
        for c in model:
            if c[3] == 'deleted':
                pass
            else:
                daoContattoCategoriaContatto = ContattoCategoriaContatto()
                daoContattoCategoriaContatto.id_contatto = self.dao.id
                daoContattoCategoriaContatto.id_categoria_contatto = c[0]
                daoContattoCategoriaContatto.persist()

        ## Salvo recapiti
        model = self.recapiti_treeview.get_model()
        recapiti = []
        cleanRecapitoContatto = RecapitoContatto().select(idContatto=self.dao.id)
        for recapito in cleanRecapitoContatto:
            recapito.delete()

        for r in model:
            if r[4] == 'deleted':
                pass
            else:
                if r[1] == '' or r[2] == '':
                    continue
                daoRecapitoContatto = RecapitoContatto()
                daoRecapitoContatto.id_contatto = self.dao.id
                daoRecapitoContatto.tipo_recapito = r[1]
                daoRecapitoContatto.recapito = r[2]
                daoRecapitoContatto.persist()


        self._refreshCategorie()
        self._refreshRecapiti()