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())), ]
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 []
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
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
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
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
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
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