Bläddra i källkod

aggiornamento pannello amministratori per gestione diritti

Mauro 9 månader sedan
förälder
incheckning
b4ce3b3bcb

+ 70 - 2
amministratore/templates/amministratore.edit.html

@@ -42,6 +42,74 @@
 {% endblock %}
 
 {% block bodybottom %}
+  <br>
+    <div class="card">
+      <div class="class="card-header">
+        Lista dei permessi generici assegnati all'utente <b>{{ amministratore.nome.value }}</b>:
+      </div> 
+      <ul class="list-group list-group-flush">
+      <li class="list-group-item">
+        <table class='table table-striped table-hover'>
+          <thead class='thead-dark'>
+          <tr>
+            <th scope='col'>Nome</th>
+	    <th scope='col'>D</th>
+
+          </tr>
+          </thead>
+          <tbody>
+            {% for a in listapermesso %}
+              <tr>
+                <td> {{ a.permesso.nome }} </td>
+                <td><button type='submit' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#ConfirmDeletePermessoModal{{ a.permesso.id }}' value='{{ a.permesso.id }}'>D</button></td>
+              </tr>
+
+          <!-- Modal -->
+            <div class="modal fade" id="ConfirmDeletePermessoModal{{ a.permesso.id }}" tabindex="-1" role="dialog" aria-labelledby="ConfirmDeleteLabel{{ a.permesso.id }}" aria-hidden="true">
+              <div class="modal-dialog" role="document">
+                <div class="modal-content">
+                  <div class="modal-header">
+                    <h5 class="modal-title" id="ConfirmDeletePermessoLabel">Conferma Cancellazione Diritti</h5>
+                      <span aria-hidden="true"></span>
+                    </button>
+                  </div>
+                  <div class="modal-body">
+                    Confermando si procede all'immediata rimozione dei permessi associati all'amministratore {{ amministratore.nome.value }}.
+                    Confermi la cancellazione dei diritti di accesso per {{ amministratore.nome.value }}?
+                </div>
+                <div class="modal-footer">
+                  <form name='ConfirmDeleteModal' method='POST'>
+                    {% csrf_token %}
+                    <button type="submit" name="confermacancellazionepermesso" value='{{ a.id }}' class="btn btn-primary">Cancella Permessi</button>
+                    <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Chiudi/Annulla</button>
+                  </form>
+                </div>
+              </div>
+            </div>
+          <!-- end modal -->
+            {% endfor %}
+              <form name='permessoadaaggiungereform' method='POST'>
+                {% csrf_token %}
+	      <td>
+                <select class="form-select" name="permessodaaggiungere" id=permessodaaggiungere">
+		  <option value="">-- Scegli ilpermesso da Aggiungere --</option>
+	          {% for lp in listpermessodiff  %}
+		  <option value="{{ lp.id }}">{{ lp.nome }}</option>
+                    {% endfor %}
+                </select>
+	      </td>
+	      <td>
+		<button type='submit' class='btn btn-primary'>Aggiungi</button>
+	      </td>
+              </form>
+	    </tr>
+
+          </tbody>
+        </table>
+      </li>
+      </ul>
+    </div>
+
   <br>
     <div class="card">
       <div class="class="card-header">
@@ -122,13 +190,13 @@
             {% endfor %}
 
 	    <tr>
-              <form name='ConfirmDeleteModal' method='POST'>
+              <form name='aziendadaaggiungereform' method='POST'>
                 {% csrf_token %}
 	      <td>
                 <select class="form-select" name="aziendadaaggiungere" id="aziendadaaggiungere">
 		  <option value="">-- Scegli l'azienda da Aggiungere --</option>
 	          {% for lp in listaaziendadiff  %}
-		  <option value="{{ lp.id }}">{{ lp.id }} {{ lp.nome }} - {{ lp.partitaiva}}</option>
+		  <option value="{{ lp.id }}">{{ lp.nome }} - {{ lp.partitaiva}}</option>
                     {% endfor %}
                 </select>
 	      </td>

+ 6 - 8
amministratore/views.py

@@ -24,8 +24,8 @@ def welcome(request):
   data['admin'] = admin
   print('admin',admin.id,admin.nome)
 
-  data['permesso'] = getAMP(admin)
-  data['permesso_amministratore'] = getAMP(admin)
+  data['permesso'] = getAMP(admin)[0]
+  data['permesso_amministratore'] = getAMP(admin)[0]
   
   azienda = None
   if 'AziendaId' in request.session:
@@ -116,7 +116,7 @@ def edit(request):
     admin = Amministratore.objects.get(pk=data['AdminId'])
     data['admin'] = admin
     print('admin',admin.id,admin.nome)
-    data['permesso'] = getAMP(admin)
+    data['permesso'] = getAMP(admin)[0]
   
   azienda = None
   if 'AziendaId' in request.session:
@@ -210,10 +210,6 @@ def edit(request):
         print("Azienda non trovata",aziendadaaggiungere)
       if aztoadd:
         print('Azienda in corso di aggiunta',aztoadd.nome)
-        amp = AMP()
-        amp.amministratore = amministratore
-        amp.permesso = getPermesso("AMMINISTRATORE")
-        amp.save()
         azp = AZP()
         azp.azienda = aztoadd
         azp.amministratore = amministratore
@@ -231,8 +227,10 @@ def edit(request):
 
   if amministratore.id:
     data['listaazienda'] = listaAZP(amministratore)[0]
+    data['listapermesso'] = getAMP(amministratore)[1]
+    print('lista permesso',len(data['listapermesso']))
 
-  data['listapermesso'] = getPermesso()
+  data['listapermessotutto'] = getPermesso()
 
   #calcolo la differenza tra tutte le aziende e le aziende sottoposte a permesso
   listaaziendatutte = Azienda.objects.all()

+ 11 - 11
azienda/views.py

@@ -39,7 +39,7 @@ def welcome(request):
 
   admin = Amministratore.objects.get(pk=AdminId)
   data['admin'] = admin
-  data['permesso_amministratore'] = getAMP(admin)
+  data['permesso_amministratore'] = getAMP(admin)[0]
   data['permesso_azienda'] = getAZP(azienda,admin)
   data['permesso_sede'] = getSEP(sede,admin)
 
@@ -214,7 +214,7 @@ def editAzienda(request):
     except Azienda.DoesNotExist as dnf:
         print(dnf)
 
-  data['permesso_amministratore'] = getAMP(AdminId)
+  data['permesso_amministratore'] = getAMP(AdminId)[0]
   data['permesso_azienda'] = getAZP(azienda,AdminId)
 
   print('permesso_amministratore',data['permesso_amministratore'])
@@ -240,13 +240,13 @@ def editAzienda(request):
       print('azienda:',azienda.id)
 
       setAZP(azienda,data['admin'],"AZIENDA")
-      if 'AZIENDA.CREA' in getAMP(data['admin']):
+      if 'AZIENDA.CREA' in getAMP(data['admin'])[0]:
         setAZP(azienda,data['admin'],"AZIENDA.CREA")
-      if 'AZIENDA.EDIT' in getAMP(data['admin']):
+      if 'AZIENDA.EDIT' in getAMP(data['admin'])[0]:
         setAZP(azienda,data['admin'],"AZIENDA.EDIT")
-      if 'UTENTE' in getAMP(data['admin']):
+      if 'UTENTE' in getAMP(data['admin'])[0]:
         setAZP(azienda,data['admin'],"UTENTE")
-      if 'UTENTE.CREA' in getAMP(data['admin']):
+      if 'UTENTE.CREA' in getAMP(data['admin'])[0]:
         setAZP(azienda,data['admin'],"UTENTE.CREA")
 
       assegnazione = AssegnazioneAzienda()
@@ -335,7 +335,7 @@ def editSede(request):
       sede.forzanuovapassword = sede.azienda.forzanuovapassword
       sede.otppassword = sede.azienda.otppassword
 
-  data['permesso_amministratore'] = getAMP(AdminId)
+  data['permesso_amministratore'] = getAMP(AdminId)[0]
   print('permesso_amministratore',data['permesso_amministratore'])
 
   if flag:
@@ -367,13 +367,13 @@ def editSede(request):
       print('azienda',sede.azienda.nome)
 
       setSEP(sede,data['admin'],"SEDE")
-      if 'SEDE.CREA' in getAMP(data['admin']):
+      if 'SEDE.CREA' in getAMP(data['admin'])[0]:
         setSEP(sede,data['admin'],"SEDE.CREA")
-      if 'SEDE.EDIT' in getAMP(data['admin']):
+      if 'SEDE.EDIT' in getAMP(data['admin'])[0]:
         setSEP(sede,data['admin'],"SEDE.EDIT")
-      if 'UTENTE' in getAMP(data['admin']):
+      if 'UTENTE' in getAMP(data['admin'])[0]:
         setSEP(sede,data['admin'],"UTENTE")
-      if 'UTENTE.CREA' in getAMP(data['admin']):
+      if 'UTENTE.CREA' in getAMP(data['admin'])[0]:
         setSEP(sede,data['admin'],"UTENTE.CREA")
 
       # verifica assegnazione

+ 1 - 1
comunicazione/views.py

@@ -212,7 +212,7 @@ def welcome(request):
   data['admin'] = Amministratore.objects.get(pk=data['AdminId'])
   data['azienda'] = Azienda.objects.get(pk=data['AziendaId'])
   print('SedeId',SedeId)
-  if 'SedeId' in data and data['SedeId'] is not -1:
+  if 'SedeId' in data and data['SedeId'] != -1:
     data['sede'] = Sede.objects.get(pk=data['SedeId'])
 
   data['comunicazione'] = data['azienda'].comunicazione_set.all()

+ 25 - 1
sicurezza/views.py

@@ -23,12 +23,15 @@ def getAMP(amministratore=None):
     amm = Amministratore.objects.get(pk=amministratore)
 
   permessi = list()
+  oggetto = list()
+
   for p in amm.amp_set.all():
     permessi.append(p.permesso.nome)
+    oggetto.append(p)
 
   print('permessi disponibili',len(permessi))
   #for i in permessi: print(i,)
-  return permessi
+  return (permessi,oggetto)
 
 #riporta l'elenco dei permessi per azienda, filtrato per amministratore
 def getAZP(azienda=None,amministratore=None):
@@ -63,6 +66,27 @@ def getAZP(azienda=None,amministratore=None):
   #for i in permessi: print(i,)
   return permessi
 
+# riporta l'elenco dei permessi per amministratore versione oggetto (adatta all'editing)
+def listaAMP(amministratore=None):
+  amm=None
+  print('listaAMP',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()
+  oggetto = list()
+  for p in amm.amp_set.all():
+    permessi.append(p.permesso)
+    oggetto.append(p)
+
+  print('permessi disponibili',len(permessi))
+  #for i in permessi: print(i,)
+  return (permessi,oggetto)
+
 #ottiene la lista degli amministratori per azienda
 def listaAMMperAzienda(azienda=None):
   print('Parametro azienda',azienda,type(azienda))

+ 2 - 2
utente/views.py

@@ -54,7 +54,7 @@ def welcome(request):
 
   data['numeroRecordAttuali'] = len(data['utenti'])
 
-  data['permesso_amministratore'] = getAMP(admin)
+  data['permesso_amministratore'] = getAMP(admin)[0]
   data['permesso_azienda'] = getAZP(data['AziendaId'],admin)
   data['permesso_sede'] = getSEP(data['sede'],admin)
 
@@ -152,7 +152,7 @@ def edit(request):
       print("non esiste")
     data['sede'] = sede
 
-  data['permesso_amministratore'] = getAMP(admin)
+  data['permesso_amministratore'] = getAMP(admin)[0]
   data['permesso_azienda'] = getAZP(data['AziendaId'],admin)
   data['permesso_sede'] = getSEP(sede,admin)