Beispiel #1
0
def _richiesta_conferma_email(request, me, parametri, modulo):
    email = modulo.cleaned_data.get(parametri['field'], None)
    if email and email != parametri['precedente']:
        request.session[parametri['session_code']] = email
        corpo = {
            'code': request.session[parametri['session_key']],
            'code_type': parametri['code_type'],
            'vecchia_email': parametri['precedente'],
            'nuova_email': email,
            'persona': me,
            'autore': me,
        }
        Messaggio.invia_raw(oggetto=parametri['oggetto'],
                            corpo_html=get_template(
                                parametri['template']).render(corpo),
                            email_mittente=None,
                            lista_email_destinatari=[email])
Beispiel #2
0
def _richiesta_conferma_email(request, me, parametri, modulo):
    email = modulo.cleaned_data.get(parametri['field'], None)
    if email and email != parametri['precedente']:
        request.session[parametri['session_code']] = email
        corpo = {
            'code': request.session[parametri['session_key']],
            'code_type': parametri['code_type'],
            'vecchia_email': parametri['precedente'],
            'nuova_email': email,
            'persona': me,
            'autore': me,
        }
        Messaggio.invia_raw(
            oggetto=parametri['oggetto'],
            corpo_html=get_template(parametri['template']).render(corpo),
            email_mittente=None,
            lista_email_destinatari=[
                email
            ]
        )
Beispiel #3
0
    def do(self):

        sedi = Sede.objects.filter(
            attiva=True, tipo=Sede.COMITATO,
            estensione__in=[NAZIONALE, REGIONALE,
                            PROVINCIALE, LOCALE]
        ).prefetch_related("locazione").order_by('nome')

        excel = Excel(oggetto=sedi.first())
        foglio = FoglioExcel("Report", [
            "Denominazione", "Tipo", "Regione", "Provincia",
            "Via", "Città", "CAP", "Telefono", "FAX",
            "Email", "Sito web", "Denominazione",
            "Referente", "Codice Fiscale", "Partita IVA",
            "IBAN", "Extra: Titolo", "Extra: Testo"
        ])

        for sede in sedi:

            # Denominazione: Rimuovi termini di troppo
            denominazione = sede.nome.replace(" Provinciale", "")
            estensione = {
                NAZIONALE: "CN",
                REGIONALE: "CR",
                PROVINCIALE: "CP",
                LOCALE: "CL"
            }[sede.estensione]
            regione = sede.locazione.regione if sede.locazione else ""
            provincia = sede.locazione.provincia_breve if sede.locazione else ""
            via = "%s, %s" % (sede.locazione.via, sede.locazione.civico) if sede.locazione else ""
            citta = sede.locazione.comune if sede.locazione else ""
            cap = sede.locazione.cap if sede.locazione else ""
            presidente = sede.presidente() or ""

            extra_titolo = ""
            extra_testo = ""

            unita = sede.get_children().filter(estensione=TERRITORIALE)
            if unita.exists():
                extra_titolo = "<h2>Le nostre unità territoriali</h2>"
                extra_testo += "<ul>"
                for u in unita:
                    extra_testo += "<li>Sede CRI di %s%s</li>" % (
                        u.nome,
                        (" &mdash; e-mail: %s" % u.email) if u.email else ""
                    )
                extra_testo += "</ul>"

            foglio.aggiungi_riga(
                denominazione,
                estensione,
                regione,
                provincia,
                via,
                citta,
                cap,
                sede.telefono,
                sede.fax,
                sede.email,
                sede.sito_web,
                "Presidente/Commissario CRI",
                presidente,
                sede.codice_fiscale,
                sede.partita_iva,
                sede.iban,
                extra_titolo,
                extra_testo,
            )

        excel.aggiungi_foglio(foglio)

        tra_una_settimana = poco_fa() + timedelta(days=7)
        excel.genera_e_salva(nome="Report.xlsx", scadenza=tra_una_settimana)

        data = datetime.today().strftime("%d/%m/%Y")

        Messaggio.invia_raw(
            oggetto="(SVI) Report Sedi CRI - %s" % data,
            corpo_html="In allegato è presente il report excel delle Sedi CRI, "
                       "aggiornato al %s." % data,
            email_mittente="%s <%s>" % (Messaggio.SUPPORTO_NOME, Messaggio.NOREPLY_EMAIL),
            lista_email_destinatari=DESTINATARI_REPORT,
            allegati=[excel]
        )

        print("Inviato report sedi ai seguenti indirizzi: %s" % ", ".join(DESTINATARI_REPORT))
Beispiel #4
0
    def do(self):

        sedi = Sede.objects.filter(
            attiva=True,
            tipo=Sede.COMITATO,
            estensione__in=[NAZIONALE, REGIONALE, PROVINCIALE, LOCALE
                            ]).prefetch_related("locazione").order_by('nome')

        excel = Excel(oggetto=sedi.first())
        foglio = FoglioExcel("Report", [
            "Denominazione", "Tipo", "Regione", "Provincia", "Via", "Città",
            "CAP", "Telefono", "FAX", "Email", "Sito web", "Denominazione",
            "Referente", "Codice Fiscale", "Partita IVA", "IBAN", "PEC",
            "Ultima modifica", "Extra: Titolo", "Extra: Testo"
        ])

        for sede in sedi:

            # Denominazione: Rimuovi termini di troppo
            denominazione = sede.nome.replace(" Provinciale", "")
            estensione = {
                NAZIONALE: "CN",
                REGIONALE: "CR",
                PROVINCIALE: "CP",
                LOCALE: "CL"
            }[sede.estensione]
            regione = sede.locazione.regione if sede.locazione else ""
            provincia = sede.locazione.provincia_breve if sede.locazione else ""
            via = "%s, %s" % (sede.locazione.via,
                              sede.locazione.civico) if sede.locazione else ""
            citta = sede.locazione.comune if sede.locazione else ""
            cap = sede.locazione.cap if sede.locazione else ""
            presidente = sede.presidente() or ""

            extra_titolo = ""
            extra_testo = ""

            unita = sede.ottieni_figli().filter(estensione=TERRITORIALE)
            if unita.exists():
                extra_titolo = "<h2>Le nostre unità territoriali</h2>"
                extra_testo += "<ul>"
                for u in unita:
                    extra_testo += "<li>Sede CRI di %s%s</li>" % (u.nome, (
                        " &mdash; e-mail: %s" % u.email) if u.email else "")
                extra_testo += "</ul>"

            foglio.aggiungi_riga(
                denominazione,
                estensione,
                regione,
                provincia,
                via,
                citta,
                cap,
                sede.telefono,
                sede.fax,
                sede.email,
                sede.sito_web,
                "Presidente/Commissario CRI",
                presidente,
                sede.codice_fiscale,
                sede.partita_iva,
                sede.iban,
                sede.pec,
                sede.ultima_modifica,
                extra_titolo,
                extra_testo,
            )

        excel.aggiungi_foglio(foglio)

        tra_una_settimana = poco_fa() + timedelta(days=7)
        excel.genera_e_salva(nome="Report.xlsx", scadenza=tra_una_settimana)

        data = datetime.today().strftime("%d/%m/%Y")

        Messaggio.invia_raw(
            oggetto="(SVI) Report Sedi CRI - %s" % data,
            corpo_html="In allegato è presente il report excel delle Sedi CRI, "
            "aggiornato al %s." % data,
            email_mittente="%s <%s>" %
            (Messaggio.SUPPORTO_NOME, Messaggio.NOREPLY_EMAIL),
            lista_email_destinatari=DESTINATARI_REPORT,
            allegati=[excel])

        print("Inviato report sedi ai seguenti indirizzi: %s" %
              ", ".join(DESTINATARI_REPORT))