本文整理汇总了Python中posta.models.Messaggio类的典型用法代码示例。如果您正苦于以下问题:Python Messaggio类的具体用法?Python Messaggio怎么用?Python Messaggio使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Messaggio类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: disiscrivi
def disiscrivi(self, mittente=None):
"""
Disiscrive partecipante dal corso base.
"""
self.autorizzazioni_ritira()
Messaggio.costruisci_e_invia(
oggetto="Disiscrizione dal Corso Base: %s" % self.corso,
modello="email_aspirante_corso_deiscrizione.html",
corpo={
"partecipazione": self,
"corso": self.corso,
"persona": self.persona,
"mittente": mittente,
},
mittente=mittente,
destinatari=[self.persona],
)
Messaggio.costruisci_e_invia(
oggetto="Disiscrizione dal Corso Base: %s" % self.corso,
modello="email_aspirante_corso_deiscrizione_mittente.html",
corpo={
"partecipazione": self,
"corso": self.corso,
"persona": self.persona,
"richiedente": mittente,
},
mittente=None,
destinatari=[mittente],
)
开发者ID:nephila,项目名称:jorvik,代码行数:29,代码来源:models.py
示例2: test_flag_utenza_e_contatti_uguali
def test_flag_utenza_e_contatti_uguali(self):
self.persona.email_contatto = self.persona.utenza.email
self.persona.save()
Messaggio.costruisci_e_invia(
destinatari=[self.persona],
oggetto="Stessa email",
modello="email.html",
utenza=True
)
self.assertEqual(len(mail.outbox), 1)
email = mail.outbox[0]
self.assertTrue(email.subject.find('Stessa email') > -1)
self.assertEqual(len(email.to), 1)
self.assertIn(self.persona.email_contatto, email.to)
self.assertIn(self.persona.utenza.email, email.to)
# Nessuna email di contatto
self.persona.email_contatto = ''
self.persona.save()
Messaggio.costruisci_e_invia(
destinatari=[self.persona],
oggetto="Stessa email",
modello="email.html",
utenza=True
)
# c'è anche quella precedente
self.assertEqual(len(mail.outbox), 2)
email = mail.outbox[1]
self.assertTrue(email.subject.find('Stessa email') > -1)
self.assertEqual(len(email.to), 1)
self.assertNotIn(self.persona.email_contatto, email.to)
self.assertIn(self.persona.utenza.email, email.to)
开发者ID:valentino831,项目名称:jorvik,代码行数:34,代码来源:tests.py
示例3: _invia_notifica
def _invia_notifica(self, modello, oggetto, auto, destinatari=None, aggiunte_corpo=None):
from posta.models import Messaggio
if not destinatari:
if auto:
destinatari = [self.richiedente]
if self.firmatario:
destinatari.append(self.firmatario)
self.oggetto.automatica = True
self.oggetto.save()
else:
destinatari = [self.richiedente]
corpo = {
"richiesta": self,
"firmatario": self.firmatario,
"giorni": self.giorni_automatici
}
if aggiunte_corpo:
corpo.update(aggiunte_corpo)
Messaggio.costruisci_e_accoda(
oggetto=oggetto,
modello=modello,
corpo=corpo,
mittente=self.firmatario,
destinatari=destinatari
)
开发者ID:AlfioEmanueleFresta,项目名称:jorvik,代码行数:27,代码来源:models.py
示例4: _invia_msg_singolo
def _invia_msg_singolo(self):
Messaggio.costruisci_e_invia(
destinatari=[self.persone[0].persona],
oggetto="Email contatto",
modello="email.html",
utenza=True
)
开发者ID:valentino831,项目名称:jorvik,代码行数:7,代码来源:tests.py
示例5: test_messaggio_senza_destinatari
def test_messaggio_senza_destinatari(self, mock_smtp):
messaggio = Messaggio.costruisci_e_accoda(
destinatari=[],
oggetto="Email contatto",
modello="email.html",
)
messaggio.smaltisci_coda()
self.assertEqual(Messaggio.in_coda().count(), 0)
开发者ID:valentino831,项目名称:jorvik,代码行数:8,代码来源:tests.py
示例6: _invia_notifica_registrazione
def _invia_notifica_registrazione(self):
Messaggio.costruisci_e_invia(
oggetto="Ricevuta %d del %d: %s" % (
self.progressivo, self.anno, self.causale
),
modello="email_ricevuta_nuova_notifica.html",
corpo={"ricevuta": self},
mittente=self.registrato_da,
destinatari=[self.persona],
)
开发者ID:valentino831,项目名称:jorvik,代码行数:10,代码来源:models.py
示例7: test_messaggio_con_destinatario_vuoto
def test_messaggio_con_destinatario_vuoto(self, mock_smtp):
persona, sede, appartenenza = crea_persona_sede_appartenenza()
persona.save()
messaggio = Messaggio.costruisci_e_accoda(
destinatari=[persona],
oggetto="Email contatto",
modello="email.html",
)
messaggio.smaltisci_coda()
self.assertEqual(Messaggio.in_coda().count(), 0)
开发者ID:valentino831,项目名称:jorvik,代码行数:10,代码来源:tests.py
示例8: test_fallimento_autenticazione
def test_fallimento_autenticazione(self, mock_smtp):
"""
In caso di fallimento autenticazione il messaggio viene rimesso in coda
"""
self.assertEqual(Messaggio.in_coda().count(), 0)
instance = mock_smtp.return_value
instance.sendmail.side_effect = smtplib.SMTPAuthenticationError(code=530, msg='authentication error')
self._invia_msg_singolo()
self.assertEqual(Messaggio.in_coda().count(), 1)
开发者ID:valentino831,项目名称:jorvik,代码行数:10,代码来源:tests.py
示例9: _invia_notifica_annullamento
def _invia_notifica_annullamento(self):
Messaggio.costruisci_e_invia(
oggetto="ANNULLATA Ricevuta %d del %d" % (
self.progressivo, self.anno
),
modello="email_ricevuta_annullata_notifica.html",
corpo={"ricevuta": self},
mittente=self.registrato_da,
destinatari=[self.persona],
)
开发者ID:valentino831,项目名称:jorvik,代码行数:10,代码来源:models.py
示例10: notifiche_richieste_in_attesa
def notifiche_richieste_in_attesa(cls):
from anagrafica.models import Estensione, Trasferimento
from posta.models import Messaggio
oggetto = "Richieste in attesa di approvazione"
modello = "email_richieste_pending.html"
in_attesa = cls.objects.filter(
concessa__isnull=True
)
trasferimenti = in_attesa.filter(oggetto_tipo=ContentType.objects.get_for_model(Trasferimento))
estensioni = in_attesa.filter(oggetto_tipo=ContentType.objects.get_for_model(Estensione))
trasferimenti_manuali = trasferimenti.filter(scadenza__isnull=True, tipo_gestione=Autorizzazione.MANUALE)
trasferimenti_automatici = trasferimenti.filter(
scadenza__isnull=False, scadenza__gt=now()
).exclude(tipo_gestione=Autorizzazione.MANUALE)
autorizzazioni = list(estensioni) + list(trasferimenti_manuali) + list(trasferimenti_automatici)
persone = dict()
for autorizzazione in autorizzazioni:
if not autorizzazione.oggetto:
print('autorizzazione {} non ha oggetto collegato'.format(autorizzazione.pk))
continue
if autorizzazione.oggetto and not autorizzazione.oggetto.ritirata and not autorizzazione.oggetto.confermata:
destinatari = cls.espandi_notifiche(autorizzazione.destinatario_oggetto, [], True, True)
for destinatario in destinatari:
if destinatario.pk not in persone:
persone[destinatario.pk] = {
'persona': None,
'estensioni': [],
'trasferimenti_manuali': [],
'trasferimenti_automatici': [],
}
persone[destinatario.pk]['persona'] = destinatario
if autorizzazione in estensioni:
persone[destinatario.pk]['estensioni'].append(autorizzazione.oggetto)
elif autorizzazione in trasferimenti_manuali:
persone[destinatario.pk]['trasferimenti_manuali'].append(autorizzazione.oggetto)
elif autorizzazione in trasferimenti_automatici:
persone[destinatario.pk]['trasferimenti_automatici'].append(autorizzazione.oggetto)
for persona in persone.values():
corpo = {
"persona": persona,
"DATA_AVVIO_TRASFERIMENTI_AUTO": settings.DATA_AVVIO_TRASFERIMENTI_AUTO
}
Messaggio.costruisci_e_accoda(
oggetto=oggetto,
modello=modello,
corpo=corpo,
destinatari=[persona['persona']]
)
开发者ID:AlfioEmanueleFresta,项目名称:jorvik,代码行数:54,代码来源:models.py
示例11: notifica_negata
def notifica_negata(self):
from posta.models import Messaggio
Messaggio.costruisci_e_invia(
oggetto="Richiesta di %s RESPINTA" % (self.oggetto.RICHIESTA_NOME,),
modello="email_autorizzazione_negata.html",
corpo={
"richiesta": self,
},
mittente=self.firmatario,
destinatari=[self.richiedente]
)
开发者ID:ico88,项目名称:jorvik,代码行数:11,代码来源:models.py
示例12: _invia_email_agli_aspiranti
def _invia_email_agli_aspiranti(self, rispondi_a=None):
for aspirante in self.aspiranti_nelle_vicinanze():
persona = aspirante.persona
Messaggio.costruisci_e_accoda(
oggetto="Nuovo Corso per Volontari CRI",
modello="email_aspirante_corso.html",
corpo={
"persona": persona,
"corso": self,
},
destinatari=[persona],
rispondi_a=rispondi_a
)
开发者ID:ico88,项目名称:jorvik,代码行数:13,代码来源:models.py
示例13: test_flag_utenza
def test_flag_utenza(self):
Messaggio.costruisci_e_invia(
destinatari=[self.persona],
oggetto="Entrambe le email",
modello="email.html",
utenza=True
)
self.assertEqual(len(mail.outbox), 1)
email = mail.outbox[0]
self.assertTrue(email.subject.find('Entrambe le email') > -1)
self.assertEqual(len(email.to), 2)
self.assertIn(self.persona.email_contatto, email.to)
self.assertIn(self.persona.utenza.email, email.to)
开发者ID:valentino831,项目名称:jorvik,代码行数:13,代码来源:tests.py
示例14: test_flag_no_utenza
def test_flag_no_utenza(self):
Messaggio.costruisci_e_invia(
destinatari=[self.persona],
oggetto="Solo email di contatto",
modello="email.html"
)
self.assertEqual(len(mail.outbox), 1)
email = mail.outbox[0]
self.assertTrue(email.subject.find('Solo email di contatto') > -1)
self.assertEqual(len(email.to), 1)
self.assertIn(self.persona.email_contatto, email.to)
self.assertNotIn(self.persona.utenza.email, email.to)
开发者ID:valentino831,项目名称:jorvik,代码行数:13,代码来源:tests.py
示例15: _invia_notifica_chiusura
def _invia_notifica_chiusura(self, autore, azione_automatica):
"""
Invia una e-mail di notifica ai delegati della chiusura automatica di questa attivita'.
:param azione_automatica: Se l'azione e' stata svolta in modo automatico (i.e. via cron) o meno.
Viene usato per modificare la notifica.
"""
Messaggio.costruisci_e_accoda(oggetto="Chiusura automatica: %s" % self.nome,
mittente=(None if azione_automatica else autore),
destinatari=self.delegati_attuali(solo_deleghe_attive=True),
modello="email_attivita_chiusa.html",
corpo={"azione_automatica": azione_automatica,
"autore": autore,
"attivita": self})
开发者ID:nephila,项目名称:jorvik,代码行数:13,代码来源:models.py
示例16: aspirante_corso_base_iscritti_aggiungi
def aspirante_corso_base_iscritti_aggiungi(request, me, pk):
corso = get_object_or_404(CorsoBase, pk=pk)
if not me.permessi_almeno(corso, MODIFICA):
return redirect(ERRORE_PERMESSI)
if not corso.possibile_aggiungere_iscritti:
return errore_generico(request, me, titolo="Impossibile aggiungere iscritti",
messaggio="Non si possono aggiungere altri iscritti a questo "
"stadio della vita del corso base.",
torna_titolo="Torna al corso base", torna_url=corso.url_iscritti)
modulo = ModuloIscrittiCorsoBaseAggiungi(request.POST or None)
risultati = []
if modulo.is_valid():
for persona in modulo.cleaned_data['persone']:
esito = corso.persona(persona)
ok = False
if esito in corso.PUOI_ISCRIVERTI or \
esito in corso.NON_PUOI_ISCRIVERTI_SOLO_SE_IN_AUTONOMIA:
ok = True
p = PartecipazioneCorsoBase(persona=persona, corso=corso)
p.save()
Log.crea(me, p)
Messaggio.costruisci_e_invia(
oggetto="Iscrizione a Corso Base",
modello="email_corso_base_iscritto.html",
corpo={
"persona": persona,
"corso": corso,
},
mittente=me,
destinatari=[persona]
)
risultati += [{
"persona": persona,
"esito": esito,
"ok": ok,
}]
contesto = {
"corso": corso,
"puo_modificare": True,
"modulo": modulo,
"risultati": risultati,
}
return 'aspirante_corso_base_scheda_iscritti_aggiungi.html', contesto
开发者ID:ico88,项目名称:jorvik,代码行数:49,代码来源:viste.py
示例17: test_fallimento_data
def test_fallimento_data(self, mock_smtp):
"""
In caso di fallimento durante il comando data il messaggio viene rimesso in coda,
tranne che in caso di errore 501 che è permanente
"""
codici = (451, 554, 500, 501, 503, 421, 552, 451, 452)
for codice in codici:
msg = 'code {}'.format(codice)
instance = mock_smtp.return_value
instance.sendmail.side_effect = smtplib.SMTPDataError(code=codice, msg=msg)
self._invia_msg_singolo()
if codice == 501:
self.assertEqual(Messaggio.in_coda().count(), 0)
else:
self.assertEqual(Messaggio.in_coda().count(), 1)
self._reset_coda()
开发者ID:valentino831,项目名称:jorvik,代码行数:16,代码来源:tests.py
示例18: notifica_richiesta
def notifica_richiesta(self, persona):
from anagrafica.models import Delega, Persona
from posta.models import Messaggio
if not persona:
return # Nessun destinatario, nessuna e-mail.
Messaggio.costruisci_e_accoda(
oggetto="Richiesta di %s da %s" % (self.oggetto.RICHIESTA_NOME, self.richiedente.nome_completo,),
modello="email_autorizzazione_richiesta.html",
corpo={
"richiesta": self,
},
mittente=self.richiedente,
destinatari=[persona],
)
开发者ID:AlfioEmanueleFresta,项目名称:jorvik,代码行数:16,代码来源:models.py
示例19: test_fallimento_sender
def test_fallimento_sender(self, mock_smtp):
"""
In caso di fallimento del sender il messaggio viene rimesso in coda,
tranne che in caso di errore 501 che è permanente
"""
codici = (451, 452, 500, 501, 421)
for codice in codici:
msg = 'code {}'.format(codice)
instance = mock_smtp.return_value
instance.sendmail.side_effect = smtplib.SMTPSenderRefused(code=codice, msg=msg, sender=Messaggio.SUPPORTO_EMAIL)
self._invia_msg_singolo()
if codice == 501:
self.assertEqual(Messaggio.in_coda().count(), 0)
else:
self.assertEqual(Messaggio.in_coda().count(), 1)
self._reset_coda()
开发者ID:valentino831,项目名称:jorvik,代码行数:16,代码来源:tests.py
示例20: notifica_esito_esame
def notifica_esito_esame(self, mittente=None):
"""
Invia una e-mail al partecipante con l'esito del proprio esame.
"""
Messaggio.costruisci_e_accoda(
oggetto="Esito del Corso Base: %s" % self.corso,
modello="email_aspirante_corso_esito.html",
corpo={
"partecipazione": self,
"corso": self.corso,
"persona": self.persona,
"mittente": mittente,
},
mittente=mittente,
destinatari=[self.persona],
)
开发者ID:nephila,项目名称:jorvik,代码行数:16,代码来源:models.py
注:本文中的posta.models.Messaggio类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论