|
|
@@ -8,6 +8,7 @@ from django.http import HttpResponse,HttpResponseRedirect
|
|
|
from django.urls import reverse
|
|
|
from sicurezza.views import *
|
|
|
from config.datafunc import *
|
|
|
+from django.db.models import Q
|
|
|
|
|
|
def welcome(request):
|
|
|
if not 'AdminId' in request.session:
|
|
|
@@ -159,7 +160,10 @@ def edit(request):
|
|
|
|
|
|
if 'indietro' in request.POST:
|
|
|
return HttpResponseRedirect(reverse("amministratore:welcome"))
|
|
|
- print('aa')
|
|
|
+
|
|
|
+ if 'AmministratoreDirittiAmministratoreButton' in request.POST:
|
|
|
+ print("Un tasto è stato premuto 'AmministratoreDirittiAmministratoreButton'")
|
|
|
+ return HttpResponseRedirect(reverse("amministratore:editAMP"))
|
|
|
|
|
|
if 'AmministratoreCancellaButton' in request.POST:
|
|
|
print('editAmministratore: premuto "AmministratoreCancellaButton"')
|
|
|
@@ -227,6 +231,81 @@ def edit(request):
|
|
|
|
|
|
return render(request,'amministratore.edit.html',data)
|
|
|
|
|
|
+def editAMP(request):
|
|
|
+ ### consente di aggiornare i diritti a livello di amministratore ###
|
|
|
+
|
|
|
+ if not 'AdminId' in request.session:
|
|
|
+ return HttpResponseRedirect(reverse("login:start"))
|
|
|
+
|
|
|
+ ### funzioni esterne ###
|
|
|
+ d = DataDict()
|
|
|
+ data = d.getData()
|
|
|
+ data['NavBar']=True
|
|
|
+ data['ShowSelectAzienda'] = False
|
|
|
+ data['ShowSelectSede'] = False
|
|
|
+
|
|
|
+ define = Define(request)
|
|
|
+ data['admin'] = define.getAdmin()
|
|
|
+ data['azienda'] = define.getAzienda()
|
|
|
+ data['AziendaId'] = define.getAziendaId()
|
|
|
+ data['sede'] = define.getSede()
|
|
|
+ data['SedeId'] = define.getSedeId()
|
|
|
+ ### funzioni esterne fine ###
|
|
|
+
|
|
|
+ if 'AdminId' in request.session:
|
|
|
+ data['AdminId'] = request.session['AdminId']
|
|
|
+ admin = Amministratore.objects.get(pk=data['AdminId'])
|
|
|
+ data['admin'] = admin
|
|
|
+ print('admin',admin.id,admin.nome)
|
|
|
+ data['permesso'] = getAMP(admin)[0]
|
|
|
+
|
|
|
+ amministratore = None
|
|
|
+ if 'AmministratoreEditId' in request.session:
|
|
|
+ amministratoreEditId = request.session.get('AmministratoreEditId')
|
|
|
+ try:
|
|
|
+ amministratore = Amministratore.objects.get(pk=amministratoreEditId)
|
|
|
+ except Amministratore.DoesNotExist as dne:
|
|
|
+ return HttpResponseRedirect(reverse("amministratore:edit"))
|
|
|
+
|
|
|
+ print('amministratore',amministratore.id,amministratore.login,amministratore.nome)
|
|
|
+ data['amministratore'] = amministratore
|
|
|
+
|
|
|
+ data['listapermessiassegnati'] = getAMP(data['amministratore'])[1]
|
|
|
+ print('listapermessiassegnati',data['listapermessiassegnati'])
|
|
|
+ data['listapermessiassegnabili'] = Permesso.objects.all()
|
|
|
+ print('listapermessiassegnabili',data['listapermessiassegnabili'])
|
|
|
+
|
|
|
+ if request.method == 'POST':
|
|
|
+
|
|
|
+ if 'AmministratoreButton' in request.POST:
|
|
|
+ print("Un tasto è stato premuto 'AmministratoreButton'")
|
|
|
+ return HttpResponseRedirect(reverse("amministratore:edit"))
|
|
|
+
|
|
|
+ formpermessodaaggiungere = FormPermessoDaAggiungere(request.POST)
|
|
|
+ formpermessodaaggiungere.c(data['listapermessiassegnabili'])
|
|
|
+
|
|
|
+ if formpermessodaaggiungere.is_valid():
|
|
|
+ print('formpermessodaaggiungere valido')
|
|
|
+ permesso = formpermessodaaggiungere.cleaned_data.get('ListaPermessiDaAggiungere')
|
|
|
+
|
|
|
+ print('*' * 10)
|
|
|
+ setAMP(amministratore,int(permesso))
|
|
|
+ print('*' * 10)
|
|
|
+
|
|
|
+ formpermessodarimuovere = FormPermessoDaRimuovere(request.POST)
|
|
|
+ if formpermessodarimuovere.is_valid():
|
|
|
+ print('formpermessodacancellare valido')
|
|
|
+ permesso = formpermessodarimuovere.cleaned_data.get('ConfermaCancellazionePermesso')
|
|
|
+ print('ConfermaCancellazionePermesso',permesso)
|
|
|
+ delAMP(amministratore,permesso)
|
|
|
+
|
|
|
+ data['listapermessiassegnati'] = getAMP(data['amministratore'])[1]
|
|
|
+ print('listapermessiassegnati',data['listapermessiassegnati'])
|
|
|
+ data['listapermessiassegnabili'] = Permesso.objects.all()
|
|
|
+ print('listapermessiassegnabili',data['listapermessiassegnabili'])
|
|
|
+
|
|
|
+ return render(request,'amministratore.edit.AMP.html',data)
|
|
|
+
|
|
|
def editAZP(request):
|
|
|
### edit diritti associati all'azienda.
|
|
|
### in questa sezione procediamo con l'assegnare o rimuovere i diritti di questo amministratore
|
|
|
@@ -257,17 +336,19 @@ def editAZP(request):
|
|
|
print('admin',admin.id,admin.nome)
|
|
|
data['permesso'] = getAMP(admin)[0]
|
|
|
|
|
|
+ listaaziendatutte = Azienda.objects.all()
|
|
|
+
|
|
|
amministratore = None
|
|
|
if 'AmministratoreEditId' in request.session:
|
|
|
amministratoreEditId = request.session.get('AmministratoreEditId')
|
|
|
try:
|
|
|
amministratore = Amministratore.objects.get(pk=amministratoreEditId)
|
|
|
except Amministratore.DoesNotExist as dne:
|
|
|
- amministratore = Amministratore()
|
|
|
- amministratore.pin = str(randint(100000,999999))
|
|
|
- print('amministratore',amministratore.id,amministratore.nome)
|
|
|
+ return HttpResponseRedirect(reverse("amministratore:edit"))
|
|
|
+
|
|
|
+ print('amministratore',amministratore.id,amministratore.login,amministratore.nome)
|
|
|
+ data['amministratore'] = amministratore
|
|
|
|
|
|
- listaaziendatutte = Azienda.objects.all()
|
|
|
if amministratore:
|
|
|
data['listaazienda'] = listaAZP(amministratore)[0]
|
|
|
data['listaaziendadiff'] = list(set(listaaziendatutte)-set(data['listaazienda']))
|
|
|
@@ -275,7 +356,7 @@ def editAZP(request):
|
|
|
data['listaaziendadiff'] = list(set(listaaziendatutte))
|
|
|
|
|
|
#parliamo di diritti assegnati all'azienda.
|
|
|
- data['dirittiAZIENDA'] = Permesso.objects.filter(classe='AZI')
|
|
|
+ data['dirittiAZIENDA'] = Permesso.objects.filter(Q(classe='AZI')|Q(classe='SED'))
|
|
|
print('dirittiAZIENDA',len(data['dirittiAZIENDA']))
|
|
|
|
|
|
if request.method == 'POST':
|
|
|
@@ -289,6 +370,17 @@ def editAZP(request):
|
|
|
print("Un tasto è stato premuto 'AmministratoreButton'")
|
|
|
return HttpResponseRedirect(reverse("amministratore:edit"))
|
|
|
|
|
|
+ if 'AziendaDaAggiungereButton' in request.POST:
|
|
|
+ print('un tasto è stato premuto AziendaDaAggiungereButton')
|
|
|
+ formaziendadaaggiungere = FormAziendaDaAggiungere(request.POST,azienda=listaaziendatutte)
|
|
|
+ if formaziendadaaggiungere.is_valid():
|
|
|
+ print('AziendaDaAggiungere, form valida')
|
|
|
+ azienda = formaziendadaaggiungere.cleaned_data.get('ListaAziendaDaAggiungere')
|
|
|
+ print(azienda)
|
|
|
+ setAZP(azienda,amministratore,'AZIENDA')
|
|
|
+ else:
|
|
|
+ print('AziendaDaAggiungere, form non valido')
|
|
|
+
|
|
|
if 'SedeButton' in request.POST:
|
|
|
print("Un tasto è stato premuto 'SedeButton'")
|
|
|
azienda = request.POST.get('SedeButton')
|
|
|
@@ -302,10 +394,16 @@ def editAZP(request):
|
|
|
formpermessodaaggiungere.c(Permesso.objects.filter(classe="SED"))
|
|
|
if formpermessodaaggiungere.is_valid():
|
|
|
print('formpermessodaaggiungere è valido')
|
|
|
+ print("cazzo cazzo")
|
|
|
else:
|
|
|
print('errore',formpermessodaaggiungere)
|
|
|
#formpermessoupdate = form.PermessoUpdate(request.POST)
|
|
|
|
|
|
+ if amministratore:
|
|
|
+ data['listaazienda'] = listaAZP(amministratore)[0]
|
|
|
+ data['listaaziendadiff'] = list(set(listaaziendatutte)-set(data['listaazienda']))
|
|
|
+ else:
|
|
|
+ data['listaaziendadiff'] = list(set(listaaziendatutte))
|
|
|
|
|
|
return render(request,'amministratore.edit.AZP.html',data)
|
|
|
|
|
|
@@ -357,14 +455,15 @@ def editSEP(request):
|
|
|
print('azienda',azienda.nome)
|
|
|
data['aziendaOnWork'] = azienda
|
|
|
|
|
|
- listasedetutte = azienda.sede_set.all()
|
|
|
- print('listasedetutte - lunghezza',len(listasedetutte))
|
|
|
-
|
|
|
data['listasede'] = listaSEP(azienda,amministratore.id,"SEDE")[0]
|
|
|
- print("data['listasede']",data['listasede'])
|
|
|
+ print("data['listasede']",len(data['listasede']))
|
|
|
+
|
|
|
+ listasedetutte = azienda.sede_set.all()
|
|
|
+ print('listasedetutte',len(listasedetutte))
|
|
|
|
|
|
- print('amministratore',amministratore.nome)
|
|
|
data['listasedediff'] = list(set(listasedetutte)-set(data['listasede']))
|
|
|
+ #data['listasedediff'] = listasedetutte
|
|
|
+ print("data['listasedediff']",len(data['listasedediff']))
|
|
|
|
|
|
# parliamo di diritti relativi alle sedi
|
|
|
data['dirittiSEDE'] = Permesso.objects.filter(classe='SED')
|