Exemplo n.º 1
0
    def genera_pdf(self):
        """
        Genera il verbale del corso.
        """
        def key_cognome(elem):
            return elem.persona.cognome

        if not self.ha_verbale:
            raise ValueError("Questo corso non ha un verbale.")

        partecipazioni = self.partecipazioni_confermate()
        pdf = PDF(oggetto=self)
        pdf.genera_e_salva(
            nome="Verbale Esame del Corso Base %d-%d.pdf" %
            (self.progressivo, self.anno),
            corpo={
                "corso": self,
                "partecipazioni": sorted(partecipazioni, key=key_cognome),
                "numero_idonei": self.idonei().count(),
                "numero_non_idonei": self.non_idonei().count(),
                "numero_aspiranti": self.partecipazioni_confermate().count(),
            },
            modello="pdf_corso_base_esame_verbale.html",
        )
        return pdf
Exemplo n.º 2
0
    def genera_pdf_firme(self):
        """
        Genera il fogli firme delle lezioni del corso.
        """
        def key_cognome(elem):
            return elem.cognome

        iscritti = [
            partecipazione.persona
            for partecipazione in self.partecipazioni_confermate()
        ]

        archivio = Zip(oggetto=self)
        for lezione in self.lezioni.all():

            pdf = PDF(oggetto=self)
            pdf.genera_e_salva(
                nome="Firme lezione %s.pdf" % lezione.nome,
                corpo={
                    "corso": self,
                    "iscritti": sorted(iscritti, key=key_cognome),
                    "lezione": lezione,
                    "data": lezione.inizio,
                },
                modello="pdf_firme_lezione.html",
            )
            archivio.aggiungi_file(file_path=pdf.file.path, nome_file=pdf.nome)

        archivio.comprimi_e_salva(nome="Fogli firme %s.zip" % self.nome)

        return archivio
Exemplo n.º 3
0
 def genera_pdf(self, request=None, **kwargs):
     pdf = PDF(oggetto=self)
     pdf.genera_e_salva(
         nome="Ricevuta %s.pdf" % (self.persona.nome_completo, ),
         corpo={
             "quota": self,
         },
         modello="pdf_ricevuta.html",
     )
     return pdf
Exemplo n.º 4
0
 def genera_scheda_valutazione(self):
     pdf = PDF(oggetto=self)
     pdf.genera_e_salva(
         nome="Scheda Valutazione %s.pdf" % self.persona.codice_fiscale,
         corpo={
             "partecipazione": self,
             "corso": self.corso,
             "persona": self.persona,
         },
         modello="pdf_corso_base_scheda_valutazione.html",
     )
     return pdf
Exemplo n.º 5
0
 def genera_attestato(self):
     if not self.idoneo:
         return None
     pdf = PDF(oggetto=self)
     pdf.genera_e_salva(
         nome="Attestato %s.pdf" % self.persona.codice_fiscale,
         corpo={
             "partecipazione": self,
             "corso": self.corso,
             "persona": self.persona,
         },
         modello="pdf_corso_base_attestato.html",
     )
     return pdf
Exemplo n.º 6
0
 def genera_pdf(self, request=None, **kwargs):
     codice = self.genera_codice_a_barre_png()
     sede = self.persona.sede_riferimento(al_giorno=self.creazione).comitato
     pdf = PDF(oggetto=self)
     pdf.genera_e_salva(
         "Tesserino_%s.pdf" % self.codice,
         modello='pdf_tesserino.html',
         corpo={
             "tesserino": self,
             "persona": self.persona,
             "sede": sede,
             "codice": codice,
         },
         formato=PDF.FORMATO_CR80,
         orientamento=PDF.ORIENTAMENTO_ORIZZONTALE,
         posizione="tesserini/",
     )
     return pdf
Exemplo n.º 7
0
    def genera_report(self, format=REPORT_FORMAT_PDF):
        corpo = {
            "attivita": self,
            "turni_e_partecipanti": self._genera_report(),
        }

        if format == self.REPORT_FORMAT_PDF:
            pdf = PDF(oggetto=self)
            pdf.genera_e_salva(
                nome="Report.pdf",
                modello="pdf_attivita_report.html",
                corpo=corpo,
                orientamento=PDF.ORIENTAMENTO_ORIZZONTALE,
            )
            return pdf

        if format == self.REPORT_FORMAT_EXCEL:
            excel = AttivitaReport(filename='Report.xls')
            return excel.generate_and_download(data=corpo)
Exemplo n.º 8
0
 def genera_report(self):
     """
     Genera il report in formato PDF.
     :return:
     """
     from anagrafica.models import Persona
     turni = self.turni_passati()
     turni_e_partecipanti = []
     for turno in turni:
         partecipanti = Persona.objects.filter(
             partecipazioni__in=turno.partecipazioni_confermate())
         turni_e_partecipanti.append((turno, partecipanti))
     pdf = PDF(oggetto=self)
     pdf.genera_e_salva(
         nome="Report.pdf",
         modello="pdf_attivita_report.html",
         corpo={
             "attivita": self,
             "turni_e_partecipanti": turni_e_partecipanti,
         },
         orientamento=PDF.ORIENTAMENTO_ORIZZONTALE,
     )
     return pdf