Пример #1
0
def espandi_gestione_autoparchi_sede(qs_sedi, al_giorno=None):
    from veicoli.models import Autoparco, Veicolo, Collocazione
    return [
        (MODIFICA,  Autoparco.objects.filter(sede__in=qs_sedi.espandi())),
        (MODIFICA,  Veicolo.objects.filter(Collocazione.query_attuale().via("collocazioni"),
                                           collocazioni__autoparco__sede__in=qs_sedi.espandi())),
        (MODIFICA,  Collocazione.query_attuale(autoparco__sede__in=qs_sedi.espandi())),
    ]
Пример #2
0
def espandi_gestione_autoparchi_sede(qs_sedi, al_giorno=None):
    from veicoli.models import Autoparco, Veicolo, Collocazione
    try:
        return [
            (MODIFICA, Autoparco.objects.filter(sede__in=qs_sedi.espandi())),
            (MODIFICA, Veicolo.objects.filter(Collocazione.query_attuale().via("collocazioni"),
                                              collocazioni__autoparco__sede__in=qs_sedi.espandi())),
            (MODIFICA, Collocazione.query_attuale(autoparco__sede__in=qs_sedi.espandi())),
        ]
    except (AttributeError, ValueError, KeyError, TypeError):
        return []
Пример #3
0
def veicoli_elenco(request, me):

    modulo = ModuloFiltraVeicoli(request.POST or None)

    autoparchi, veicoli = _autoparchi_e_veicoli(me)
    modulo.fields['autoparchi'].queryset = autoparchi
    modulo.fields['autoparchi'].initial = autoparchi

    if modulo.is_valid():
        autoparchi = modulo.cleaned_data.get('autoparchi')
        targa = modulo.cleaned_data.get('targa')
        stati = modulo.cleaned_data.get('stato')
        veicoli = veicoli.filter(
            Collocazione.query_attuale().via("collocazioni"),
            collocazioni__autoparco__in=autoparchi,
            targa__icontains=targa,
            stato=stati)
    else:
        veicoli = veicoli.filter(stato=Veicolo.IN_SERVIZIO)

    contesto = {
        "veicoli": veicoli,
        "autoparchi": autoparchi,
        "modulo": modulo,
    }
    return "veicoli_elenco.html", contesto
Пример #4
0
def _autoparchi_e_veicoli(persona):
    sedi = persona.oggetti_permesso(GESTIONE_AUTOPARCHI_SEDE)
    autoparchi = Autoparco.objects.filter(sede__in=sedi)
    veicoli = Veicolo.objects.filter(
        Collocazione.query_attuale().via("collocazioni"),
        collocazioni__autoparco__in=autoparchi)
    return autoparchi, veicoli
Пример #5
0
def _autoparchi_e_veicoli(persona):
    sedi = persona.oggetti_permesso(GESTIONE_AUTOPARCHI_SEDE)
    autoparchi = Autoparco.objects.filter(sede__in=sedi)
    veicoli = Veicolo.objects.filter(
        Collocazione.query_attuale().via("collocazioni"),
        collocazioni__autoparco__in=autoparchi
    )
    return autoparchi, veicoli
Пример #6
0
def veicoli_elenco_autoparco(request, me, autoparco):

    autoparco = get_object_or_404(Autoparco, pk=autoparco)
    veicoli = Veicolo.objects.filter(Collocazione.query_attuale().via("collocazioni"), collocazioni__autoparco=autoparco, stato=Veicolo.IN_SERVIZIO)

    if not me.permessi_almeno(autoparco, MODIFICA):
        return redirect(ERRORE_PERMESSI)

    contesto = {
        "veicoli": veicoli,
    }
    return "veicoli_elenco_autoparco.html", contesto
Пример #7
0
def veicoli_elenco_autoparco(request, me, autoparco):

    autoparco = get_object_or_404(Autoparco, pk=autoparco)
    veicoli = Veicolo.objects.filter(
        Collocazione.query_attuale().via("collocazioni"),
        collocazioni__autoparco=autoparco,
        stato=Veicolo.IN_SERVIZIO)

    if not me.permessi_almeno(autoparco, MODIFICA):
        return redirect(ERRORE_PERMESSI)

    contesto = {
        "veicoli": veicoli,
    }
    return "veicoli_elenco_autoparco.html", contesto
Пример #8
0
def veicoli_elenco(request, me):

    modulo = ModuloFiltraVeicoli(request.POST or None)

    autoparchi, veicoli = _autoparchi_e_veicoli(me)
    modulo.fields['autoparchi'].queryset = autoparchi
    modulo.fields['autoparchi'].initial = autoparchi

    if modulo.is_valid():
        autoparchi = modulo.cleaned_data.get('autoparchi')
        targa = modulo.cleaned_data.get('targa')
        stati = modulo.cleaned_data.get('stato')
        veicoli = veicoli.filter(Collocazione.query_attuale().via("collocazioni"), collocazioni__autoparco__in=autoparchi, targa__icontains=targa, stato=stati)
    else:
        veicoli = veicoli.filter(stato=Veicolo.IN_SERVIZIO)


    contesto = {
        "veicoli": veicoli,
        "autoparchi": autoparchi,
        "modulo": modulo,
    }
    return "veicoli_elenco.html", contesto