def setDao(self, dao): if dao is None: # Crea un nuovo Dao vuoto self.dao = Promemoria() self._is_changing = False else: # Ricrea il Dao con una connessione al DBMS SQL self.dao = Promemoria().getRecord(id= dao.id) self._is_changing = True self._refresh() return self.dao
class AnagraficaPromemoriaEdit(AnagraficaEdit): """ Modifica un record dell'anagrafica dei clienti """ def __init__(self, anagrafica, selectedData=None): AnagraficaEdit.__init__(self, anagrafica, 'Dati promemoria', root='anagrafica_promemoria_detail_table', path='_anagrafica_promemoria_elements.glade') self._widgetFirstFocus = self.data_scadenza_entry self.selectedData = selectedData def draw(self,cplx=False): textBuffer = gtk.TextBuffer() self.descrizione_textview.set_buffer(textBuffer) # self.annotazioneHTML = createHtmlObj(self) # self.annotazione_scrolled.add(self.annotazioneHTML) textBuffer = gtk.TextBuffer() self.annotazione_textview.set_buffer(textBuffer) fillComboboxIncaricatiPromemoria(self.incaricato_combobox_entry) fillComboboxAutoriPromemoria(self.autore_combobox_entry) def setDao(self, dao): if dao is None: # Crea un nuovo Dao vuoto self.dao = Promemoria() self._is_changing = False else: # Ricrea il Dao con una connessione al DBMS SQL self.dao = Promemoria().getRecord(id= dao.id) self._is_changing = True self._refresh() return self.dao def setPreavvisoSpinLimit(self, diffe): adj = self.giorni_preavviso_entry.get_adjustment() adj.set_upper(diffe) def on_data_scadenza_entry_focus_out_event(self, entry, event): differenze = 0 data_scadenza = stringToDateTime(self.data_scadenza_entry.get_text()) data_inserimento = stringToDateTime(self.data_inserimento_entry.get_text()) if data_scadenza: differenze = int((data_scadenza - data_inserimento).days) self.setPreavvisoSpinLimit(differenze) def _refresh(self): self.data_scadenza_entry.set_text(dateTimeToString(self.dao.data_scadenza) or '') self.oggetto_entry.set_text(self.dao.oggetto or '') self.incaricato_combobox_entry.get_child().set_text(self.dao.incaricato or '') self.autore_combobox_entry.get_child().set_text(self.dao.autore or '') self.descrizione_textview.get_buffer().set_text(self.dao.descrizione or '') # static = self.dao.annotazione or "test" # pageData = {"file": "promemoria_annotazioni.html", # "static":static, # } # self.hhttmmll = renderTemplate(pageData) # renderHTML(self.annotazioneHTML,self.hhttmmll) self.annotazione_textview.get_buffer().set_text(self.dao.annotazione or '') self.riferimento_combobox_entry.get_child().set_text(self.dao.riferimento or '') self.giorni_preavviso_entry.set_text(str(self.dao.giorni_preavviso or '')) self.in_scadenza_checkbutton.set_active(self.dao.in_scadenza or False) # self.setPreavvisoSpinLimit() if self._is_changing: self.scaduto_checkbutton.set_property('visible',True) self.completato_checkbutton.set_property('visible',True) self.scaduto_checkbutton.set_active(self.dao.scaduto) self.completato_checkbutton.set_active(self.dao.completato) self.data_inserimento_entry.set_text(dateTimeToString(self.dao.data_inserimento)) else: self.scaduto_checkbutton.set_property('visible',False) self.completato_checkbutton.set_property('visible',False) if self.selectedData: self.data_inserimento_entry.set_text(self.selectedData) else: self.data_inserimento_entry.set_text(dateTimeToString(datetime.datetime.now()) or '') fillComboboxIncaricatiPromemoria(self.incaricato_combobox_entry) fillComboboxAutoriPromemoria(self.autore_combobox_entry) def saveDao(self, tipo=None): if self.data_scadenza_entry.get_text() == '': obligatoryField(self.dialogTopLevel, self.data_scadenza_entry, msg = 'Data scadenza. \nCampo obbligatorio') if self.oggetto_entry.get_text() == '': obligatoryField(self.dialogTopLevel, self.oggetto_entry, msg = 'Oggetto. \nCampo obbligatorio') self.dao.data_inserimento = stringToDateTime(self.data_inserimento_entry.get_text()) self.dao.data_scadenza = stringToDateTime(self.data_scadenza_entry.get_text()) self.dao.oggetto = self.oggetto_entry.get_text() #GTK3 + self.dao.incaricato = self.incaricato_combobox_entry.get_child().get_text() self.dao.autore = self.autore_combobox_entry.get_child().get_text() #GTK3 - #self.dao.incaricato = self.incaricato_combobox_entry.get_active_text() #self.dao.autore = self.autore_combobox_entry.get_active_text() textBuffer = self.descrizione_textview.get_buffer() self.dao.descrizione = textBuffer.get_text(textBuffer.get_start_iter(), textBuffer.get_end_iter(),True) textBuffer = self.annotazione_textview.get_buffer() self.dao.annotazione = textBuffer.get_text(textBuffer.get_start_iter(), textBuffer.get_end_iter(),True) #GTK3 + self.dao.riferimento = self.riferimento_combobox_entry.get_child().get_text() #GTK3 - #self.dao.riferimento = self.riferimento_combobox_entry.get_active_text() if self.giorni_preavviso_entry.get_text() == '': self.giorni_preavviso_entry.set_text('0') self.in_scadenza_checkbutton.set_active(True) self.dao.giorni_preavviso = self.giorni_preavviso_entry.get_text() self.dao.in_scadenza = self.in_scadenza_checkbutton.get_active() self.dao.scaduto = self.scaduto_checkbutton.get_active() self.dao.completato = self.completato_checkbutton.get_active() self.dao.persist() def on_riferimento_combobox_entry_changed(self, combobox): stringContatti = 'Contatti..' stringClienti = 'Clienti..' stringFornitori = 'Fornitori..' def refresh_combobox(anagWindow, tipo): if anag.dao is None: id = None else: id = anag.dao.id if tipo == 'fornitore': res = leggiFornitore(id) elif tipo == 'cliente': res = leggiCliente(id) elif tipo == 'contatto': res = leggiContatto(id) if "ragioneSociale" in res and res["ragioneSociale"] != '': self.riferimento_combobox_entry.get_child().set_text(res["ragioneSociale"]) else: self.riferimento_combobox_entry.get_child().set_text(res["cognome"] + ' ' + res["nome"]) anag.on_ricerca_window_close(self) if combobox.get_child().get_text() == stringClienti: from promogest.ui.RicercaComplessaClienti import RicercaComplessaClienti anag = RicercaComplessaClienti() anag.setTreeViewSelectionType(GTK_SELECTIONMODE_SINGLE) anagWindow = anag.getTopLevel() anagWindow.connect("hide", refresh_combobox, 'cliente') returnWindow = combobox.get_toplevel() anagWindow.set_transient_for(returnWindow) anag.show_all() elif combobox.get_child().get_text() == stringFornitori: from promogest.ui.RicercaComplessaFornitori import RicercaComplessaFornitori anag = RicercaComplessaFornitori() anag.setTreeViewSelectionType(GTK_SELECTIONMODE_SINGLE) anagWindow = anag.getTopLevel() anagWindow.connect("hide", refresh_combobox, 'fornitore') returnWindow = combobox.get_toplevel() anagWindow.set_transient_for(returnWindow) anag.show_all() elif combobox.get_child().get_text() == stringContatti: if posso("CN"): from promogest.ui.Contatti.RicercaContatti import RicercaContatti anag = RicercaContatti() anagWindow = anag.getTopLevel() anagWindow.connect("hide", refresh_combobox, 'contatto') returnWindow = combobox.get_toplevel() anagWindow.set_transient_for(returnWindow) anag.show_all() else: fenceDialog()