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()
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")
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()