Sfoglia il codice sorgente

creazione utenti e sicurezze

mauro 9 mesi fa
parent
commit
c8746ceef1
3 ha cambiato i file con 56 aggiunte e 42 eliminazioni
  1. 17 31
      amministratore/views.py
  2. 33 9
      azienda/views.py
  3. 6 2
      static/templates/base.html

+ 17 - 31
amministratore/views.py

@@ -7,60 +7,46 @@ from random import randint
 from django.http import HttpResponse,HttpResponseRedirect
 from django.urls import reverse
 from sicurezza.views import *
+from config.datafunc import *
 
 def welcome(request):
   if not 'AdminId' in request.session:
     print("Non rilevo presensa AdminId in request.session")
     return HttpResponseRedirect(reverse("login:start"))
 
-  AdminId = request.session['AdminId']
-  print('AdminId',AdminId)
+  ### funzioni esterne ###
+  d = DataDict()
+  data = d.getData()
 
-  data = dict()
-  data['HeaderTitle'] = getConfig('HeaderTitle')
-  data['Navbar']=False
+  define = Define(request)
+  data['admin'] = define.getAdmin()
+  data['azienda'] = define.getAzienda()
+  data['sede'] = define.getSede()
+  ### funzioni esterne fine ###
 
-  admin = Amministratore.objects.get(pk=AdminId)
-  data['admin'] = admin
-  print('admin',admin.id,admin.nome)
+  #AdminId = request.session['AdminId']
+  #print('AdminId',AdminId)
 
-  data['permesso'] = getAMP(admin)[0]
-  data['permesso_amministratore'] = getAMP(admin)[0]
+  data['permesso'] = getAMP(data['admin'])[0]
+  data['permesso_amministratore'] = getAMP(data['admin'])[0]
   
-  azienda = None
-  if 'AziendaId' in request.session:
-    AziendaId = request.session['AziendaId']
-    print('AziendaId',AziendaId)
-    azienda = Azienda.objects.get(pk=AziendaId)
-    data['azienda'] = azienda
-
-  sede = None
-  if 'SedeId' in request.session:
-    SedeId = request.session['SedeId']
-    print('SedeId',SedeId)
-    try:
-      sede = Sede.objects.get(pk=SedeId)
-    except Sede.DoesNotExist as dne:
-      print("Sede non esiste")
-    data['sede'] = sede
-
   amministratorelista = Amministratore.objects.all()
   data['amministratorelista'] = amministratorelista
   print(len(amministratorelista))
 
   # mostriamo gli amministratori per l'azienda
-  if azienda:
+  if data['azienda']:
     print('trovato riferimento per azienda')
-    amministratorelista = azienda.assegnazioneazienda_set.all()
+    amministratorelista = data['azienda'].assegnazioneazienda_set.all()
     tmp=[]
     for al in amministratorelista:
       print(al.amministratore.nome)
       tmp.append(al.amministratore)
     data['amministratorelista'] = tmp
 
-  if sede:
+  if data['sede']:
     print('trovato riferimento per sede')
-    amministratorelista = sede.assegnazionesede_set.all()
+    amministratorelista = data['sede'].assegnazionesede_set.all()
     tmp = []
     for al in amministratorelista:
       try:

+ 33 - 9
azienda/views.py

@@ -19,19 +19,25 @@ def welcome(request):
   define = Define(request)
   data['admin'] = define.getAdmin()
   data['azienda'] = define.getAzienda()
+  data['AziendaId'] = define.getAziendaId()
   data['sede'] = define.getSede()
-  print("cazzo cazzo",data['azienda'])
+  data['SedeId'] = define.getSedeId()
+  print('cazzo cazzo')
 
   ### permessi inizio ###
   data['permesso'] = getAMP(data['admin'])[0]
-
-  if 'AziendaId' in data:
-    for t in getAZP(data['AziendaId'],admin):
-      if t not in data['permesso']:
-        data['permesso'].append(t)
-    for t in getSEP(data['sede'],admin):
+  print("******",data['azienda'])
+  if 'azienda' in data:
+    print('**** azienda presente ****')
+    for t in getAZP(data['azienda'],data['admin']):
       if t not in data['permesso']:
         data['permesso'].append(t)
+    if 'sede' in data:
+      print('**** sede presente ****')
+      for t in getSEP(data['sede'],data['admin']):
+        if t not in data['permesso']:
+          data['permesso'].append(t)
+  print(data['permesso'])
 
     #print('permesso',getAMP(admin)[0])
     #print('permesso_azienda',getAZP(data['AziendaId'],admin))
@@ -184,6 +190,22 @@ def welcome(request):
     print('numero di sedi',len(data['SedeLista']))
     #for i in data['SedeLista']: print(":::",i.nome)
 
+  ### permessi inizio ###
+  data['permesso'] = getAMP(data['admin'])[0]
+  print("******",data['azienda'])
+  if 'azienda' in data:
+    print('**** azienda presente ****')
+    for t in getAZP(data['azienda'],data['admin']):
+      if t not in data['permesso']:
+        data['permesso'].append(t)
+    if 'sede' in data:
+      print('**** sede presente ****')
+      for t in getSEP(data['sede'],data['admin']):
+        if t not in data['permesso']:
+          data['permesso'].append(t)
+  print(data['permesso'])
+  ### permessi fine ###
+
   return render(request,'azienda.welcome.html',data)
 
 # creazione azienda
@@ -344,8 +366,9 @@ def editAzienda(request):
     formaziendafield = formAzienda(tmp)
   data['aziendaForm'] = formaziendafield
 
-  data['listaAmministratore'] = listaAMMperAzienda(AziendaId)[1]
-  print(data['listaAmministratore'])
+  if AziendaId:
+    data['listaAmministratore'] = listaAMMperAzienda(AziendaId)[1]
+    print(data['listaAmministratore'])
   data['listaAmministratoreDaAggiungere'] = Amministratore.objects.all()
 
   return render(request,'azienda.editAzienda.html',data)
@@ -366,6 +389,7 @@ def editSede(request):
   print('admin',admin.id,admin.nome)
 
   azienda = None
+  AziendaId = None
   if 'AziendaId' in request.session:
     AziendaId = request.session['AziendaId']
     print('AziendaId',AziendaId)

+ 6 - 2
static/templates/base.html

@@ -29,14 +29,16 @@
         {% if ShowSelectAzienda %}
         <li class="nav-item">
           <ul class="navbar-nav me-auto mb-2 mb-lg-0">
-            <form name="scegliazienda" method=POST class='d-flex'>
+		  <form name="scegliazienda" method=POST class='d-flex'>
             {% csrf_token %}
             <select class="form-select form-select-lg mb-1" aria-label=".form-select-lg" name="sceltaazienda" onchange="this.form.submit()">
 	      <option value=-1>Scelta Azienda</option>
               {% for a in AziendaLista %}
 	      <option value={{ a.id }} {% if a.id == azienda.id %}selected{% endif %}>{{ a.nome }}</button></option>
               {% endfor %}
+	      {% if "AZIENDA.CREA" in permesso %}
               <option value=0>Nuova Azienda</option>
+	      {% endif %}
             </select>
             </form>
 	  </ul>
@@ -52,7 +54,9 @@
               {% for s in SedeLista %}
 	      <option value={{ s.id }} {% if s.id == sede.id %}selected{% endif %}>{{ s.nome }} {% if s.identificativo %}({{ s.identificativo }}){% endif %}</button></option>
               {% endfor %}
-              <option value=0>Nuova Sede</option>
+	      {% if "SEDE.CREA" in permesso %}
+                <option value=0>Nuova Sede</option>
+	      {% endif %}
             </select>
             </form>
           </ul>