from django.shortcuts import render # Create your views here. from django.shortcuts import render from .models import * from att.views import * from config.views import * # riporta tutti i permessi mixando i tre livelli def getP(azienda=None,sede=None,amministratore=None): if isinstance(jolly,Azienda): pass # riporta l'elenco dei permessi per amministratore def getAMP(amministratore=None): amm=None print('getAMP',amministratore) if isinstance(amministratore,Amministratore): print('si tratta di una istanza, quindi possiamo direttamente accedere') amm = amministratore if isinstance(amministratore,int): print('si tratta di un int, quindi dobbiamo cercare il valore') amm = Amministratore.objects.get(pk=amministratore) permessi = list() for p in amm.amp_set.all(): permessi.append(p.permesso.nome) print('permessi disponibili',len(permessi)) #for i in permessi: print(i,) return permessi #riporta l'elenco dei permessi per azienda, filtrato per amministratore def getAZP(azienda=None,amministratore=None): azi = None if isinstance(azienda,Azienda): print('si tratta di una istanza azienda') azi=azienda if isinstance(azienda,int): print('azienda: istanza int') azi = Azienda.objects.get(pk=azienda) amm=None print('getAMP',amministratore) if isinstance(amministratore,Amministratore): print('si tratta di una istanza, quindi possiamo direttamente accedere') amm = amministratore if isinstance(amministratore,int): print('si tratta di un int, quindi dobbiamo cercare il valore') amm = Amministratore.objects.get(pk=amministratore) if not amm: return [] if not azi: return [] permessi = list() for p in azi.azp_set.all().filter(amministratore=amm): permessi.append(p.permesso.nome) print('permessi disponibili',len(permessi)) #for i in permessi: print(i,) return permessi #riporta la lista delle aziende in base all'amministratore def listaAZP(amministratore=None): print('Parametro amministratore',amministratore,type(amministratore)) amm = None if isinstance(amministratore,Amministratore): print('amministratore: instanza Amministratore') amm=amministratore if isinstance(amministratore,int): print('amministratore: istanza int') amm = Amministratore.objects.get(pk=amministratore) if amm == None: print('problema con la definizione di amministratore') return [] print('dati rilevati',amm.id,amm.login) lam = amm.azp_set.filter(permesso__nome="AMMINISTRATORE") print('lunghezza LAM',lam) aziende = list() oggetto = list() for p in lam: aziende.append(p.azienda) oggetto.append(p) print('aziende disponibili',len(aziende)) return (aziende,oggetto) #riporta l'elenco dei permessi per sede filtrato per amministratore def getSEP(sede=None,amministratore=None): sed=None amm=None print('getSEP',sede,amministratore) if isinstance(sede,Sede): print('si tratta di una istanza dede') sed=sede if isinstance(sede,int): print('sede: istanza int') sed = Sede.objects.get(pk=sede) if isinstance(amministratore,Amministratore): print('si tratta di una istanza amministratore, quindi possiamo direttamente accedere') amm = amministratore if isinstance(amministratore,int): print('si tratta di un int, quindi dobbiamo cercare il valore') amm = Amministratore.objects.get(pk=amministratore) if not sed: return [] permessi = list() for p in sed.sep_set.all().filter(amministratore=amm): permessi.append(p.permesso.nome) print('permessi disponibili',len(permessi)) #for i in permessi: print(i,) return permessi # riporta un permesso (generico) o tutti i permessi def getPermesso(permesso=None): if permesso: try: p = Permesso.objects.get(nome=permesso) except Permesso.DoesNotExist as dne: p = None print("Errore:",dne) else: p = Permesso.objects.all() return p # da questa parte si impostano i permessi def setAMP(amministratore=None,permesso=None): pass def setAZP(azienda=None,amministratore=None,permesso=None): pass def setSEP(sede=None,amministratore=None,permesso=None): pass