def setDao(self, dao): self.dao = dao if dao is None: # Crea un nuovo Dao vuoto self.dao = AccountEmail() self._refresh() return self.dao
class AnagraficaAccountMailEdit(AnagraficaEdit): """ Modifica un record dell'anagrafica account di posta elettronica """ def __init__(self, anagrafica): AnagraficaEdit.__init__(self, anagrafica, 'Dati account di posta elettronica', root='anagrafica_account_mail_detail_table', path='_anagrafica_account_mail_elements.glade') self._widgetFirstFocus = self.denominazione_entry def draw(self, cplx=False): pass def setDao(self, dao): self.dao = dao if dao is None: # Crea un nuovo Dao vuoto self.dao = AccountEmail() self._refresh() return self.dao def clear(self): self.denominazione_entry.set_text('') self.indirizzo_entry.set_text('') self.preferito_checkbutton.set_active(False) self.server_smtp_entry.set_text('') self.porta_smtp_entry.set_text('') self.crypto_ssl_checkbutton.set_active(False) self.username_entry.set_text('') self.password_entry.set_text('') self.memo_password_checkbutton.set_active(False) self.oggetto_entry.set_text('') textview_set_text(self.firma_textview, 'Documento creato e inviato tramite Promogest http://www.promogest.me') textview_set_text(self.body_textview, '') self.result_test_label.set_text('') def _refresh(self): self.clear() self.denominazione_entry.set_text(self.dao.denominazione or '') self.indirizzo_entry.set_text(self.dao.indirizzo or '') self.preferito_checkbutton.set_active(self.dao.preferito or False) self.server_smtp_entry.set_text(self.dao.server_smtp or '') self.porta_smtp_entry.set_text(str(self.dao.porta_smtp or '465')) self.crypto_ssl_checkbutton.set_active(self.dao.cripto_SSL or False) self.username_entry.set_text(self.dao.username or '') self.oggetto_entry.set_text(self.dao.oggetto or '') textview_set_text(self.firma_textview, self.dao.firma or 'Documento creato e inviato tramite Promogest http://www.promogest.me') textview_set_text(self.body_textview, self.dao.body or '') password = '' try: password = keyring.get_password('promogest2', self.dao.username) except: pass self.password_entry.set_text(password or '') del password #self.memo_password_checkbutton.set_active(False) def saveDao(self, tipo=None): denominazione = self.denominazione_entry.get_text() if denominazione == '': obligatoryField(self.dialogTopLevel, self.denominazione_entry) self.dao.denominazione = denominazione self.dao.id_azienda = env.azienda self.dao.indirizzo = self.indirizzo_entry.get_text() self.dao.preferito = self.preferito_checkbutton.get_active() self.dao.server_smtp = self.server_smtp_entry.get_text() self.dao.porta_smtp = int(self.porta_smtp_entry.get_text()) self.dao.cripto_SSL = self.crypto_ssl_checkbutton.get_active() self.dao.username = self.username_entry.get_text() self.dao.oggetto = self.oggetto_entry.get_text() self.dao.firma = textview_get_text(self.firma_textview) self.dao.body = textview_get_text(self.body_textview) #self.dao.memo_password = self.memo_password_checkbutton.get_active() self.dao.persist() if keyring: password = self.password_entry.get_text() try: keyring.set_password('promogest2', self.dao.username, password) except Exception as ex: messageWarning('Impossibile salvare la password nel portachiavi di sistema:\n\n%s.' % str(ex)) def on_test_conn_button_clicked(self, widget): s = None self.result_test_label.set_text('Connessione in corso...') if self.crypto_ssl_checkbutton.get_active(): try: s = smtplib.SMTP_SSL(self.server_smtp_entry.get_text(), port=self.porta_smtp_entry.get_text()) except: self.result_test_label.set_text('Connessione al server non riuscita.') return else: try: s = smtplib.SMTP(self.server_smtp_entry.get_text()) s.starttls() except: self.result_test_label.set_text('Connessione al server non riuscita.') return try: s.login(self.username_entry.get_text(), self.password_entry.get_text()) except: self.result_test_label.set_text('Nome utente o password non validi.') return if s: s.quit() self.result_test_label.set_text('Connessione riuscita con successo.')