| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- 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
|