|
|
@@ -369,14 +369,20 @@ def listaSEP(azienda=None,amministratore=None,permesso=None):
|
|
|
return (sedi,oggetto)
|
|
|
|
|
|
# getSEP: riporta l'elenco dei permessi per sede filtrato per amministratore
|
|
|
-def getSEP(sede=None,amministratore=None):
|
|
|
+def getSEP(sede=None,amministratore=None,permesso=None):
|
|
|
|
|
|
print('getSEP',sede,amministratore)
|
|
|
|
|
|
sed=None
|
|
|
if isinstance(sede,Sede):
|
|
|
- print('si tratta di una istanza sede')
|
|
|
+ print('sede: si tratta di una istanza sede')
|
|
|
sed=sede
|
|
|
+ if isinstance(sede,str):
|
|
|
+ print('sede: si tratta di una instanza int')
|
|
|
+ try:
|
|
|
+ sede = int(sede)
|
|
|
+ except ValueError as ve:
|
|
|
+ print('Errore conversione sede')
|
|
|
if isinstance(sede,int):
|
|
|
print('sede: istanza int')
|
|
|
sed = Sede.objects.get(pk=sede)
|
|
|
@@ -390,16 +396,33 @@ def getSEP(sede=None,amministratore=None):
|
|
|
print('si tratta di un int, quindi dobbiamo cercare il valore')
|
|
|
amm = Amministratore.objects.get(pk=amministratore)
|
|
|
|
|
|
+ per=None
|
|
|
+ if isinstance(permesso,Permesso):
|
|
|
+ print('si tratta di una istanza permesso')
|
|
|
+ per = permesso
|
|
|
+ print('permesso',per.nome)
|
|
|
+ if isinstance(permesso,str):
|
|
|
+ print('si tratta di una str, quindi dobbiamo cercare il valore')
|
|
|
+ per = Permesso.objects.get(nome=permesso)
|
|
|
+
|
|
|
if not sed:
|
|
|
print('sede non presente')
|
|
|
return []
|
|
|
- permessi = list()
|
|
|
|
|
|
- for t in sed.sep_set.all():
|
|
|
- print(t.amministratore.nome,t.permesso.nome)
|
|
|
+ if not amm:
|
|
|
+ print('amministratore non presente')
|
|
|
+ return []
|
|
|
|
|
|
- for p in sed.sep_set.all().filter(amministratore=amm):
|
|
|
- permessi.append(p.permesso.nome)
|
|
|
+ permessi = list()
|
|
|
+
|
|
|
+ if not permesso:
|
|
|
+ for p in sed.sep_set.all().filter(amministratore=amm):
|
|
|
+ print(p.amministratore.nome,p.permesso.nome)
|
|
|
+ permessi.append(p.permesso.nome)
|
|
|
+ else:
|
|
|
+ for p in sed.sep_set.all().filter(amministratore=amm).filter(permesso=per):
|
|
|
+ print(p.amministratore.nome,p.permesso.nome)
|
|
|
+ permessi.append(p.permesso.nome)
|
|
|
|
|
|
print('permessi disponibili',len(permessi))
|
|
|
#for i in permessi: print(i,)
|