Ver Fonte

inizio operazioni su amministratore

Mauro há 8 meses atrás
pai
commit
b89f4e2f43

+ 0 - 0
amministratore/templates/amministratore.edit.paz.html → amministratore/templates/amministratore.edit.AZP.html


+ 1 - 0
amministratore/urls.py

@@ -5,6 +5,7 @@ app_name='amministratore'
 urlpatterns = [
   path('welcome',views.welcome,name='welcome'),
   path('edit',views.edit,name='edit'),
+  path('editAZP',views.editAZP,name='editAZP'),
   path('editAmministratore',views.editAmministratore,name='editAmministratore'),
 ]
 

+ 94 - 31
amministratore/views.py

@@ -181,6 +181,7 @@ def edit(request):
     
     if 'AmministratoreDirittiAziendaButton' in request.POST:
       print('edit azienda: premuto "AmministratoreDirittiAziendaButton"')
+      return HttpResponseRedirect(reverse("amministratore:editAZP"))
 
     if 'AmministratoreUpdateButton' in request.POST:
       formamministratore = FormAmministratore(request.POST)
@@ -191,11 +192,103 @@ def edit(request):
         amministratore.mail=formamministratore.cleaned_data.get('mail')
         amministratore.pin=formamministratore.cleaned_data.get('pin')
         amministratore.save()
+
         print('id amministratore salvato/nuovo',amministratore.id,":",amministratore.nome)
         request.session['AmministratoreEditId'] = amministratore.id
        
         return HttpResponseRedirect(reverse('amministratore:welcome'))
 
+  tmp = dict()
+  tmp['nome'] = amministratore.nome
+  tmp['login'] = amministratore.login
+  tmp['pin'] = amministratore.pin
+  tmp['mail'] = amministratore.mail
+  data['amministratore'] = FormAmministratore(tmp)
+
+  if amministratore.id:
+    # elenco aziende autorizzate per amministratore
+    data['listaazienda'] = listaAZP(amministratore)[0]
+    print('lista azienda',len(data['listaazienda']))
+    # elenco dei permessi per amministratore
+    data['listapermesso'] = getAMP(amministratore)[2]
+    print('lista permesso',len(data['listapermesso']))
+
+    #calcola la differenza tra i permessi assegnati e quelli disponibili
+    data['listapermessotutto'] = getPermesso()
+
+    data['listapermessomancante'] = getAMP(amministratore)[1]
+    data['listapermessodiff'] = list(set(data['listapermessotutto']) - set(data['listapermessomancante']))
+    print('Quanti ne mancano',len(data['listapermessodiff']),data['listapermessodiff'])
+
+    #calcolo la differenza tra tutte le aziende e le aziende sottoposte a permesso
+    listaaziendatutte = Azienda.objects.all()
+    data['listaaziendadiff'] = list(set(listaaziendatutte)-set(data['listaazienda']))
+    print('Differenza aziende',len(data['listaaziendadiff']))
+ 
+  return render(request,'amministratore.edit.html',data)
+
+def editAZP(request):
+  ### edit diritti associati all'azienda.
+  ### in questa sezione procediamo con l'assegnare o rimuovere i diritti di questo amministratore 
+  ### per le aziende in elenco.
+
+  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:
+      amministratore = Amministratore()
+      amministratore.pin = str(randint(100000,999999))
+    print('amministratore',amministratore.id,amministratore.nome)
+
+  listaaziendatutte = Azienda.objects.all()
+  if amministratore.id: 
+    data['listaazienda'] = listaAZP(amministratore)[0]
+    data['listaaziendadiff'] = list(set(listaaziendatutte)-set(data['listaazienda']))
+  else:
+    data['listaaziendadiff'] = list(set(listaaziendatutte))
+
+  if request.method == 'POST':
+    print("qualcosa e' stato premuto")
+  
+    if 'AmministratoreReturnButton' in request.POST:
+      print("Un tasto è stato premuto 'AmministratoreReturnButton'")
+      return HttpResponseRedirect(reverse("amministratore:welcome"))
+
+    if 'AmministratoreButton' in request.POST:
+      print("Un tasto è stato premuto 'AmministratoreButton'")
+      return HttpResponseRedirect(reverse("amministratore:edit"))
+
+  return render(request,'amministratore.edit.AZP.html',data)
+
+
+'''
     if 'ConfermaCancellazionePermessoXAmministratore' in request.POST:
       print("Premuto tasto ConfermaCancellazionePermessoXAmministratore")
       formcancellapermessoxamministratore = FormCancellaPermessiXAmministratore(request.POST)
@@ -319,37 +412,7 @@ def edit(request):
           setSEP(Sede.objects.get(pk=lsm),amministratore,Permesso.objects.get(nome="SEDE"))
 
       #else: print(formsedemancante)
-
-      data['pane'] = 'Sede'
-
-  tmp = dict()
-  tmp['nome'] = amministratore.nome
-  tmp['login'] = amministratore.login
-  tmp['pin'] = amministratore.pin
-  tmp['mail'] = amministratore.mail
-  data['amministratore'] = FormAmministratore(tmp)
-
-  if amministratore.id:
-    # elenco aziende autorizzate per amministratore
-    data['listaazienda'] = listaAZP(amministratore)[0]
-    print('lista azienda',len(data['listaazienda']))
-    # elenco dei permessi per amministratore
-    data['listapermesso'] = getAMP(amministratore)[2]
-    print('lista permesso',len(data['listapermesso']))
-
-    #calcola la differenza tra i permessi assegnati e quelli disponibili
-    data['listapermessotutto'] = getPermesso()
-
-    data['listapermessomancante'] = getAMP(amministratore)[1]
-    data['listapermessodiff'] = list(set(data['listapermessotutto']) - set(data['listapermessomancante']))
-    print('Quanti ne mancano',len(data['listapermessodiff']),data['listapermessodiff'])
-
-    #calcolo la differenza tra tutte le aziende e le aziende sottoposte a permesso
-    listaaziendatutte = Azienda.objects.all()
-    data['listaaziendadiff'] = list(set(listaaziendatutte)-set(data['listaazienda']))
-    print('Differenza aziende',len(data['listaaziendadiff']))
- 
-  return render(request,'amministratore.edit.html',data)
+'''
 
 ### editing amministratore senza ulteriori funzioni ###
 def editAmministratore(request):