示例#1
0
    def test_elettorato_attivo_dimissione_anzianita_soddisfatta(self):

        x = Appartenenza(
            persona=self.p,
            sede=self.s,
            inizio=self.due_anni_e_mezo_fa,
            fine=self.un_anno_fa,
            terminazione=Appartenenza.DIMISSIONE,
        )
        x.save()

        self.a.inizio = self.sei_mesi_fa
        self.a.fine = None
        self.a.precedente = x
        self.a.save()

        self.assertFalse(
            self._elettorato_contiene(tipo="attivo", persona=self.p),
            "Elettorato attivo NON contiene volontari con doppia appartenenza valida (DIMISSIONE)"
        )

        x.inizio = self.un_anno_e_mezzo_fa
        x.save()

        self.assertFalse(
            self._elettorato_contiene(tipo="attivo", persona=self.p),
            "Elettorato attivo non contiene volontari con doppia appartenenza invalida (DIMISSIONE)"
        )

        self.a.precedente = None
        self.a.save()
        x.delete()
示例#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_elettorato_passivo_trasferimento_anzianita_soddisfatta(self):

        x = Appartenenza(
            persona=self.p,
            sede=self.s,
            inizio=self.due_anni_e_mezo_fa,
            fine=self.un_anno_fa,
            terminazione=Appartenenza.TRASFERIMENTO,
        )
        x.save()

        self.a.inizio = self.un_anno_fa
        self.a.fine = None
        self.a.precedente = x
        self.a.save()

        self.assertTrue(
            self._elettorato_contiene(tipo="passivo", persona=self.p),
            "Elettorato passivo contiene volontari con doppia appartenenza valida (trasf.)"
        )

        x.inizio = self.un_anno_e_mezzo_fa
        x.save()

        self.assertFalse(
            self._elettorato_contiene(tipo="passivo", persona=self.p),
            "Elettorato attivo non contiene volontari con doppia appartenenza invalida (trasf.)"
        )

        self.a.precedente = None
        self.a.save()
        x.delete()
示例#4
0
def crea_appartenenza(persona, sede):
    app = Appartenenza(
        persona=persona,
        sede=sede,
        membro=Appartenenza.VOLONTARIO,
        inizio="1980-12-10",
    )
    app.save()
    return app
示例#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
    def test_dimissione_passaggio_sostenitore(self):
        c = crea_sede(estensione=PROVINCIALE)
        c.save()

        p = crea_persona()
        p.save()

        a = Appartenenza(
            persona=p,
            sede=c,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
            confermata=True
        )
        a.save()

        d = Dimissione(
            persona=p,
            sede=c,
            appartenenza=a
        )
        d.save()

        self.assertTrue(
            a.attuale(),
            msg="L'appartenenza risulta quella attuale."
        )

        d.applica(trasforma_in_sostenitore=True)

        self.assertFalse(
            a.attuale(),
            msg="L'appartenenza risulta non più attuale."
        )

        appartenenze_attuali = p.appartenenze_attuali()

        self.assertTrue(
            appartenenze_attuali.count() == 1,
            msg="Esiste solo una appartenenza attuale come sostenitore."
        )
示例#7
0
    def test_dimissione(self):
        c = crea_sede(estensione=PROVINCIALE)
        c.save()

        p = crea_persona()
        p.save()

        a = Appartenenza(
            persona=p,
            sede=c,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
            confermata=True
        )
        a.save()

        d = Dimissione(
            persona=p,
            sede=c,
            appartenenza=a
        )
        d.save()

        self.assertTrue(
            a.attuale(),
            msg="L'appartenenza risulta quella attuale."
        )

        d.applica()

        self.assertFalse(
            a.attuale(),
            msg="L'appartenenza risulta non più attuale."
        )

        appartenenze_attuali = p.appartenenze_attuali()

        self.assertTrue(
            appartenenze_attuali.count() == 0,
            msg="Non esiste alcuna appartenenza attuale per dimissioni normali."
        )
示例#8
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"
        )
示例#9
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"
        )
示例#10
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"
        )
示例#11
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"
        )
示例#12
0
文件: tests.py 项目: ico88/jorvik
    def test_permessi(self):

        c = crea_sede(estensione=PROVINCIALE)
        c.save()

        c2 = crea_sede(estensione=TERRITORIALE, genitore=c)
        c2.save()

        p = crea_persona()
        p.save()

        v = crea_persona()
        v.save()

        a = Appartenenza(
            persona=v,
            sede=c,
            membro=Appartenenza.VOLONTARIO,
            inizio="1980-12-10",
            confermata=True
        )
        a.save()

        self.assertFalse(
            p.permessi_almeno(c, MODIFICA),
            msg="Questa persona non ha delega di presidenza"
        )

        self.assertFalse(
            p.permessi_almeno(v, MODIFICA),
            msg="Questa persona non ha delega di Ufficio Soci"
        )

        d1 = Delega(
            persona=p,
            tipo=UFFICIO_SOCI,
            oggetto=c,
            inizio="1980-12-10",
            fine="1990-12-10",
        )
        d1.save()

        self.assertFalse(
            p.permessi_almeno(v, MODIFICA),
            msg="La delega e' passata, non vale."
        )

        d2 = Delega(
            persona=p,
            tipo=UFFICIO_SOCI,
            oggetto=c,
            inizio="2020-12-10",
            fine="2025-12-10",
        )
        d2.save()

        self.assertFalse(
            p.permessi_almeno(v, MODIFICA),
            msg="La delega e' futura, non vale."
        )

        d3 = Delega(
            persona=p,
            tipo=UFFICIO_SOCI,
            oggetto=c,
            inizio="2020-12-10",
            fine=None,
        )
        d3.save()

        self.assertFalse(
            p.permessi_almeno(v, MODIFICA),
            msg="La delega e' futura, non vale."
        )

        self.assertFalse(
            p.oggetti_permesso(ELENCHI_SOCI).exists(),
            msg="Non ho permesso di Elenchi soci da nessuna parte"
        )

        d4 = Delega(
            persona=p,
            tipo=UFFICIO_SOCI,
            oggetto=c,
            inizio="2000-12-10",
            fine="2099-12-10",
        )
        d4.save()

        self.assertTrue(
            p.permessi_almeno(v, MODIFICA),
            msg="La persona ha diritti di US sulla scheda."
        )

        d4.delete()

        d5 = Delega(
            persona=p,
            tipo=UFFICIO_SOCI,
            oggetto=c,
            inizio="2000-12-10",
            fine=None,
        )
        d5.save()

        self.assertTrue(
            p.permessi_almeno(v, MODIFICA),
            msg="La persona ha diritti di US sulla scheda."
        )

        self.assertTrue(
            p.oggetti_permesso(ELENCHI_SOCI).count() == 2,
            msg="Ho permesso di elenchi su due comitati"
        )

        self.assertFalse(
            p.permessi_almeno(c, MODIFICA),
            msg="Questa persona non ha delega di presidenza"
        )

        d6 = Delega(
            persona=p,
            tipo=PRESIDENTE,
            oggetto=c,
            inizio="2000-12-10",
            fine=None,
        )
        d6.save()

        self.assertTrue(
            p.permessi_almeno(v, MODIFICA),
            msg="La persona ha diritti di US sulla scheda."
        )

        self.assertTrue(
            p.permessi_almeno(c, MODIFICA),
            msg="Questa persona ha delega di presidenza"
        )

        self.assertTrue(
            p.permessi_almeno(c2, MODIFICA),
            msg="Questa persona ha delega di presidenza, e puo' quindi modificare comitati sottostanti"
        )

        d5.delete()

        self.assertTrue(
            p.permessi_almeno(v, MODIFICA),
            msg="La persona ha ancora, tramite presidenza, diritti di US sulla scheda."
        )

        self.assertTrue(
            p.permessi_almeno(c, MODIFICA),
            msg="Questa persona ha delega di presidenza"
        )

        d6.fine = "2010-12-10"
        d6.save()

        self.assertFalse(
            p.permessi_almeno(v, MODIFICA),
            msg="La persona non ha piu, tramite presidenza, diritti di US sulla scheda."
        )

        self.assertFalse(
            p.permessi_almeno(c, MODIFICA),
            msg="Questa persona non ha piu delega di presidenza"
        )

        d6.delete()
示例#13
0
    def test_storia_volontario(self):
        presidente1 = crea_persona()
        presidente2 = crea_persona()

        persona = crea_persona()
        persona.save()

        persona, sede1, app1 = crea_persona_sede_appartenenza(presidente1)
        sede2 = crea_sede(presidente2)
        sede2.save()
        sede3 = crea_sede(presidente2)
        sede3.save()

        # Appena diventato volontario
        a = Appartenenza(
            persona=persona,
            sede=sede1,
            membro=Appartenenza.VOLONTARIO,
            inizio=poco_fa(),
            confermata=True
        )
        a.save()

        self.assertTrue(persona.volontario_da_meno_di_un_anno)

        # data vecchia nel passato
        a.inizio = "1980-12-10"
        a.save()
        self.assertFalse(persona.volontario_da_meno_di_un_anno)
        
        # trasferiscilo ad altro comitato

        modulo = ModuloCreazioneEstensione()
        est = modulo.save(commit=False)
        est.richiedente = persona
        est.persona = persona
        est.destinazione = sede2
        est.save()
        est.richiedi()
        aut = presidente1.autorizzazioni_in_attesa().first()
        modulo = est.autorizzazione_concedi_modulo()({
            "protocollo_numero": 31,
            "protocollo_data": datetime.date.today()
        })
        aut.concedi(presidente1, modulo=modulo)
        est.refresh_from_db()

        # il trasferimento non cambia l'anzianità
        self.assertFalse(persona.volontario_da_meno_di_un_anno)

        # impostiamo una data recente
        a.inizio = datetime.date.today()
        a.save()
        self.assertTrue(persona.volontario_da_meno_di_un_anno)

        # trasferimento fallito ad altro comitato
        modulo = ModuloCreazioneEstensione()
        est = modulo.save(commit=False)
        est.richiedente = persona
        est.persona = persona
        est.destinazione = sede3
        est.save()
        est.richiedi()
        aut = presidente1.autorizzazioni_in_attesa().first()
        modulo = est.autorizzazione_concedi_modulo()({
            "protocollo_numero": 32,
            "protocollo_data": datetime.date.today()
        })
        aut.nega(presidente1, modulo=modulo)
        est.refresh_from_db()

        # lo stato non è cambiato
        self.assertTrue(persona.volontario_da_meno_di_un_anno)

        # data vecchia nel passato
        a.inizio = "1980-12-10"
        a.save()
        self.assertFalse(persona.volontario_da_meno_di_un_anno)

        # un espulso non è più un volontario, quindi deve fallire
        a.inizio = datetime.date.today()
        a.save()
        persona.espelli()
        self.assertFalse(persona.volontario_da_meno_di_un_anno)

        # reintegriamo l'utente
        a = Aspirante(persona=persona)
        a.locazione = sede1.locazione
        a.save()

        # l'aspirante non è volontario
        self.assertFalse(persona.volontario_da_meno_di_un_anno)

        # promosso a volontario
        persona.da_aspirante_a_volontario(sede2)
        # è appena tornato volontario
        self.assertTrue(persona.volontario_da_meno_di_un_anno)

        # dimettiamolo
        for app in persona.appartenenze_attuali():
            d = Dimissione(
                persona=persona,
                sede=sede2,
                appartenenza=app
            )
            d.save()
            d.applica()
        self.assertFalse(persona.volontario_da_meno_di_un_anno)

        # reintegriamo l'utente
        a = Aspirante(persona=persona)
        a.locazione = sede1.locazione
        a.save()

        # l'aspirante non è volontario
        self.assertFalse(persona.volontario_da_meno_di_un_anno)

        # promosso a volontario
        persona.da_aspirante_a_volontario(sede2)
        # è appena tornato volontario
        self.assertTrue(persona.volontario_da_meno_di_un_anno)

        attuale = persona.appartenenze_attuali().get(membro=Appartenenza.VOLONTARIO)
        # data vecchia nel passato
        attuale.inizio = "1980-12-10"
        attuale.save()
        self.assertFalse(persona.volontario_da_meno_di_un_anno)
示例#14
0
文件: scramble.py 项目: ico88/jorvik
    s1 = Sede(nome="York", genitore=c, estensione=TERRITORIALE)
    s1.save()
    s2 = Sede(nome="Bergamo", genitore=c, estensione=TERRITORIALE)
    s2.save()
    s3 = Sede(nome="Catania", genitore=c, estensione=TERRITORIALE)
    s3.save()
    a1 = Autoparco(nome="Autorimessa Principato", sede=s3)
    a1.save()

    print("Genero dei membri della Sede a caso...")
    for sede in [c, s1, s2, s3]:  # Per ogni Sede
        for membro in [Appartenenza.VOLONTARIO, Appartenenza.SOSTENITORE]:
            for i in range(0, 20):  # Creo 20 volontari
                p = crea_persona()
                a = Appartenenza(persona=p, sede=sede, inizio=poco_fa(), membro=membro)
                a.save()

    print("Ne creo un presidente...")
    # Creo il presidente
    presidente = crea_persona()
    presidente.nome = "Douglas"
    presidente.cognome = "Adams"
    presidente.save()

    a = Appartenenza(persona=presidente, sede=s1, inizio=poco_fa(), membro=Appartenenza.VOLONTARIO)
    a.save()

    # Assegno una utenza
    print(" - Creo credenziali...")
    utenza = Utenza(persona=presidente, email="*****@*****.**",
                    password='******')