示例#1
0
def crea_persona():
    p = Persona(
        nome=names.get_first_name(),
        cognome=names.get_last_name(),
        codice_fiscale=codice_fiscale(),
        data_nascita="1994-2-5"
    )
    p.save()
    return p
示例#2
0
def import_import_volontari(risultato):
    i = 0
    for p in risultato:
        if _ha_errore(p):
            continue

        dati = _ottieni_dati(p)

        dati_persona = {
            x: y
            for x, y in dati.items() if x in [
                "nome", "cognome", "codice_fiscale", "data_nascita",
                "comune_nascita", "provincia_nascita", "stato_nascita",
                "stato_residenza", "cap_residenza", "indirizzo_residenza",
                "comune_residenza", "email_contatto"
            ]
        }

        try:
            persona = Persona.objects.get(
                codice_fiscale__iexact=dati_persona['codice_fiscale'])

        except Persona.DoesNotExist:
            persona = Persona(**dati_persona)
            persona.save()

        if dati['telefono']:
            persona.aggiungi_numero_telefono(dati['telefono'], servizio=False)

        if dati['telefono_servizio']:
            persona.aggiungi_numero_telefono(dati['telefono_servizio'],
                                             servizio=True)

        for app in persona.appartenenze_attuali():
            app.fine = poco_fa()
            app.save()

        # Cancella aspirante associato
        Aspirante.objects.filter(persona=persona).delete()

        app = Appartenenza(
            persona=persona,
            sede=dati['sede'],
            inizio=dati['data_ingresso'],
            membro=Appartenenza.VOLONTARIO,
        )
        app.save()

        if dati['email'] and not Utenza.objects.filter(
                persona=persona).exists():
            # Non ha utenza
            if not Utenza.objects.filter(email__iexact=dati['email']):
                # Non esiste, prova a creare
                u = Utenza(persona=persona, email=dati['email'])
                u.save()
                u.genera_credenziali()

        i += 1

    return i
示例#3
0
    def test_zip(self):

        p = Persona(
            nome="Mario",
            cognome="Rossi",
            codice_fiscale="FRSSAKJSIKAJD2",
            data_nascita="1994-2-5"
        )
        p.save()

        z = Zip(oggetto=p)

        # Crea file 1
        f1 = NamedTemporaryFile(delete=False, mode='wt')
        f1.write(self.CONTENUTO_1)
        f1.close()

        # Crea file 2
        f2 = NamedTemporaryFile(delete=False, mode='wt')
        f2.write(self.CONTENUTO_2)
        f2.close()

        # Genera ZIP file
        z.aggiungi_file(f1.name, self.NOME_1)
        z.aggiungi_file(f2.name, self.NOME_2)
        z.comprimi_e_salva(nome='TestZip.zip')

        with ZipFile(z.file.path, 'r') as zip:

            self.assertIsNone(
                zip.testzip(),
                msg="Il file Zip non e' corrotto"
            )

            r1 = zip.open(self.NOME_1)
            self.assertTrue(
                r1.read().decode() == self.CONTENUTO_1,
                msg="Il contenuto del primo file coincide"
            )

            r2 = zip.open(self.NOME_2)
            self.assertTrue(
                r2.read().decode() == self.CONTENUTO_2,
                msg="Il contenuto del secondo file coincide"
            )

            zip.close()

        self.assertTrue(
            p.allegati.all(),
            msg="Allegato associato correttamente alla persona"
        )
示例#4
0
    def test_normalizza_nome(self):
        nomi = {
            'gIoVanni': 'Giovanni',
            "D'AMATO": "D'Amato",
            "'apostrofo": "'Apostrofo",
            "franÇoise": "Françoise",
            "günther": "Günther",
        }
        field_stub = TitleCharField()
        field_stub.attname = 'nome'
        persona = Persona()
        persona.nome = None
        self.assertEqual(field_stub.pre_save(persona, False), None)
        persona.nome = 1
        self.assertEqual(field_stub.pre_save(persona, False), 1)
        persona.nome = ''
        self.assertEqual(field_stub.pre_save(persona, False), '')
        persona.nome = 'testo minuscolo'
        self.assertEqual(field_stub.pre_save(persona, False), 'Testo Minuscolo')
        persona.nome = False
        self.assertEqual(field_stub.pre_save(persona, False), False)

        for nome, atteso in nomi.items():
            self.assertEqual(normalizza_nome(nome), atteso)
            persona.nome = nome
            self.assertEqual(field_stub.pre_save(persona, False), atteso)
示例#5
0
def import_import_volontari(risultato):
    i = 0
    for p in risultato:
        if _ha_errore(p):
            continue

        dati = _ottieni_dati(p)

        dati_persona = {x: y for x, y in dati.items() if x in [
            "nome", "cognome", "codice_fiscale", "data_nascita", "comune_nascita",
            "provincia_nascita", "stato_nascita", "stato_residenza",
            "cap_residenza", "indirizzo_residenza", "comune_residenza",
            "email_contatto"
        ]}

        try:
            persona = Persona.objects.get(codice_fiscale__iexact=dati_persona['codice_fiscale'])

        except Persona.DoesNotExist:
            persona = Persona(**dati_persona)
            persona.save()

        if dati['telefono']:
            persona.aggiungi_numero_telefono(dati['telefono'], servizio=False)

        if dati['telefono_servizio']:
            persona.aggiungi_numero_telefono(dati['telefono_servizio'], servizio=True)

        for app in persona.appartenenze_attuali():
            app.fine = poco_fa()
            app.save()

        # Cancella aspirante associato
        Aspirante.objects.filter(persona=persona).delete()

        app = Appartenenza(
            persona=persona,
            sede=dati['sede'],
            inizio=dati['data_ingresso'],
            membro=Appartenenza.VOLONTARIO,
        )
        app.save()

        if dati['email'] and not Utenza.objects.filter(persona=persona).exists():
            # Non ha utenza
            if not Utenza.objects.filter(email__iexact=dati['email']):
                # Non esiste, prova a creare
                u = Utenza(persona=persona, email=dati['email'])
                u.save()
                u.genera_credenziali()

        i += 1

    return i
示例#6
0
文件: tests.py 项目: dan-it/jorvik
    def test_permessi_attivita(self):

        fiumefreddo = Sede(
            nome="Comitato Locale di Fiumefreddo di Sicilia",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
        )
        fiumefreddo.save()

        mascali = Sede(
            nome="Comitato Locale di Mascali",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
        )
        mascali.save()

        area = Area(
            nome="6",
            obiettivo=6,
            sede=fiumefreddo,
        )
        area.save()

        a = Attivita(
            stato=Attivita.VISIBILE,
            nome="Att 1",
            apertura=Attivita.APERTA,
            area=area,
            descrizione="1",
            sede=mascali,
        )
        a.save()

        p = Persona(
            nome="Mario",
            cognome="Rossi",
            codice_fiscale="FRSSAKJNOKAJMI",
            data_nascita="1994-2-5"
        )
        p.save()

        app = Appartenenza(
            persona=p,
            sede=fiumefreddo,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app.save()

        t = Turno(
            attivita=a,
            prenotazione=datetime.datetime(2015, 11, 10),
            inizio=datetime.datetime(2015, 11, 10),
            fine=datetime.datetime(2015, 11, 30),
            minimo=1,
            massimo=6,
        )
        t.save()

        delega = Delega(
            oggetto=a,
            persona=p,
            tipo=REFERENTE,
            inizio="2015-11-15",
        )
        delega.save()

        self.assertTrue(
            p.calendario_turni(datetime.date(2015, 11, 1), datetime.date(2015, 11, 30)).filter(pk=t.pk).exists(),
            msg="Il turno viene trovato nel calendario - attivita' creata dalla sede del volontario"
        )
示例#7
0
文件: tests.py 项目: dan-it/jorvik
    def test_attivita_estesa(self):

        sicilia = Sede(
            nome="Comitato Regionale di Sicilia",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
        )
        sicilia.save()

        fiumefreddo = Sede(
            nome="Comitato Locale di Fiumefreddo di Sicilia",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
            genitore=sicilia,
        )
        fiumefreddo.save()

        mascali = Sede(
            nome="Comitato Locale di Mascali",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
            genitore=sicilia,
        )
        mascali.save()

        calabria = Sede(
            nome="Comitato Regionale di Calabria",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
        )
        calabria.save()

        area = Area(
            nome="6",
            obiettivo=6,
            sede=sicilia,
        )
        area.save()

        a = Attivita(
            stato=Attivita.VISIBILE,
            nome="Att 1",
            apertura=Attivita.APERTA,
            area=area,
            descrizione="1",
            sede=sicilia,
            estensione=sicilia,
        )
        a.save()

        a1 = Attivita(
            stato=Attivita.VISIBILE,
            nome="Att 1",
            apertura=Attivita.APERTA,
            area=area,
            descrizione="1",
            sede=fiumefreddo,
            estensione=sicilia,
        )
        a1.save()

        t = Turno(
            attivita=a,
            prenotazione=datetime.datetime(2015, 11, 10),
            inizio=datetime.datetime(2015, 11, 10),
            fine=datetime.datetime(2015, 11, 30),
            minimo=1,
            massimo=6,
        )
        t.save()

        t1 = Turno(
            attivita=a,
            prenotazione=datetime.datetime(2015, 11, 10),
            inizio=datetime.datetime(2015, 10, 10),
            fine=datetime.datetime(2015, 10, 30)
        )
        t1.save()

        t2 = Turno(
            attivita=a1,
            prenotazione=datetime.datetime(2015, 11, 10),
            inizio=datetime.datetime(2015, 11, 10),
            fine=datetime.datetime(2015, 11, 30)
        )
        t2.save()

        p = Persona(
            nome="Mario",
            cognome="Rossi",
            codice_fiscale="FRSSAKJSIKAJDO",
            data_nascita="1994-2-5"
        )
        p.save()

        p1 = Persona(
            nome="Mario",
            cognome="Rossi",
            codice_fiscale="FRSSAKJSIRAJDO",
            data_nascita="1994-2-5"
        )
        p1.save()

        p2 = Persona(
            nome="Mario",
            cognome="Rossi",
            codice_fiscale="FRSSAKJNOKAJDO",
            data_nascita="1994-2-5"
        )
        p2.save()

        p3 = Persona(
            nome="Mario",
            cognome="Rossi",
            codice_fiscale="FRSSAKJNOKAJMI",
            data_nascita="1994-2-5"
        )
        p3.save()

        app = Appartenenza(
            persona=p,
            sede=sicilia,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app.save()

        app1 = Appartenenza(
            persona=p1,
            sede=fiumefreddo,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app1.save()

        app2 = Appartenenza(
            persona=p2,
            sede=mascali,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app2.save()

        app3 = Appartenenza(
            persona=p3,
            sede=calabria,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app3.save()

        self.assertTrue(
            p2.calendario_turni(datetime.date(2015, 11, 1), datetime.date(2015, 11, 30)).filter(pk=t2.pk).exists(),
            msg="Il turno viene trovato nel calendario - attivita' estesa al volontario"
        )

        self.assertFalse(
            p3.calendario_turni(datetime.date(2015, 11, 1), datetime.date(2015, 11, 30)).filter(pk=t2.pk).exists(),
            msg="Il turno non viene trovato nel calendario - attivita' estesa al volontario"
        )
示例#8
0
    def test_permessi_attivita(self):

        fiumefreddo = Sede(
            nome="Comitato Locale di Fiumefreddo di Sicilia",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
        )
        fiumefreddo.save()

        mascali = Sede(
            nome="Comitato Locale di Mascali",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
        )
        mascali.save()

        area = Area(
            nome="6",
            obiettivo=6,
            sede=fiumefreddo,
        )
        area.save()

        a = Attivita(
            stato=Attivita.VISIBILE,
            nome="Att 1",
            apertura=Attivita.APERTA,
            area=area,
            descrizione="1",
            sede=mascali,
        )
        a.save()

        p = Persona(nome="Mario",
                    cognome="Rossi",
                    codice_fiscale="FRSSAKJNOKAJMI",
                    data_nascita="1994-2-5")
        p.save()

        app = Appartenenza(
            persona=p,
            sede=fiumefreddo,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app.save()

        t = Turno(
            attivita=a,
            prenotazione=datetime.datetime(2015, 11, 10),
            inizio=datetime.datetime(2015, 11, 10),
            fine=datetime.datetime(2015, 11, 30),
            minimo=1,
            massimo=6,
        )
        t.save()

        delega = Delega(
            oggetto=a,
            persona=p,
            tipo=REFERENTE,
            inizio="2015-11-15",
        )
        delega.save()

        self.assertTrue(
            p.calendario_turni(datetime.date(2015, 11, 1),
                               datetime.date(2015, 11,
                                             30)).filter(pk=t.pk).exists(),
            msg=
            "Il turno viene trovato nel calendario - attivita' creata dalla sede del volontario"
        )
示例#9
0
    def test_attivita_estesa(self):

        sicilia = Sede(
            nome="Comitato Regionale di Sicilia",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
        )
        sicilia.save()

        fiumefreddo = Sede(
            nome="Comitato Locale di Fiumefreddo di Sicilia",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
            genitore=sicilia,
        )
        fiumefreddo.save()

        mascali = Sede(
            nome="Comitato Locale di Mascali",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
            genitore=sicilia,
        )
        mascali.save()

        calabria = Sede(
            nome="Comitato Regionale di Calabria",
            tipo=Sede.COMITATO,
            estensione=LOCALE,
        )
        calabria.save()

        area = Area(
            nome="6",
            obiettivo=6,
            sede=sicilia,
        )
        area.save()

        a = Attivita(
            stato=Attivita.VISIBILE,
            nome="Att 1",
            apertura=Attivita.APERTA,
            area=area,
            descrizione="1",
            sede=sicilia,
            estensione=sicilia,
        )
        a.save()

        a1 = Attivita(
            stato=Attivita.VISIBILE,
            nome="Att 1",
            apertura=Attivita.APERTA,
            area=area,
            descrizione="1",
            sede=fiumefreddo,
            estensione=sicilia,
        )
        a1.save()

        t = Turno(
            attivita=a,
            prenotazione=datetime.datetime(2015, 11, 10),
            inizio=datetime.datetime(2015, 11, 10),
            fine=datetime.datetime(2015, 11, 30),
            minimo=1,
            massimo=6,
        )
        t.save()

        t1 = Turno(attivita=a,
                   prenotazione=datetime.datetime(2015, 11, 10),
                   inizio=datetime.datetime(2015, 10, 10),
                   fine=datetime.datetime(2015, 10, 30))
        t1.save()

        t2 = Turno(attivita=a1,
                   prenotazione=datetime.datetime(2015, 11, 10),
                   inizio=datetime.datetime(2015, 11, 10),
                   fine=datetime.datetime(2015, 11, 30))
        t2.save()

        p = Persona(nome="Mario",
                    cognome="Rossi",
                    codice_fiscale="FRSSAKJSIKAJDO",
                    data_nascita="1994-2-5")
        p.save()

        p1 = Persona(nome="Mario",
                     cognome="Rossi",
                     codice_fiscale="FRSSAKJSIRAJDO",
                     data_nascita="1994-2-5")
        p1.save()

        p2 = Persona(nome="Mario",
                     cognome="Rossi",
                     codice_fiscale="FRSSAKJNOKAJDO",
                     data_nascita="1994-2-5")
        p2.save()

        p3 = Persona(nome="Mario",
                     cognome="Rossi",
                     codice_fiscale="FRSSAKJNOKAJMI",
                     data_nascita="1994-2-5")
        p3.save()

        app = Appartenenza(
            persona=p,
            sede=sicilia,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app.save()

        app1 = Appartenenza(
            persona=p1,
            sede=fiumefreddo,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app1.save()

        app2 = Appartenenza(
            persona=p2,
            sede=mascali,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app2.save()

        app3 = Appartenenza(
            persona=p3,
            sede=calabria,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
        )
        app3.save()

        self.assertTrue(
            p2.calendario_turni(datetime.date(2015, 11, 1),
                                datetime.date(2015, 11,
                                              30)).filter(pk=t2.pk).exists(),
            msg=
            "Il turno viene trovato nel calendario - attivita' estesa al volontario"
        )

        self.assertFalse(
            p3.calendario_turni(datetime.date(2015, 11, 1),
                                datetime.date(2015, 11,
                                              30)).filter(pk=t2.pk).exists(),
            msg=
            "Il turno non viene trovato nel calendario - attivita' estesa al volontario"
        )