Przeglądaj źródła

display amministratori nelle sezioni

mauro 10 miesięcy temu
rodzic
commit
8a252609c4

+ 0 - 9
amministratore/templates/amministratore.edit.html

@@ -1,14 +1,5 @@
 {% extends 'base.html' %}
 
-{% block top %}
-  <div class='form-outline mb-3 text-center btn-primary h3'>
-     {{ HeaderTitle }}
-  </div>
-  <div class='form-outline mb-3 text-center btn-primary h3'>
-     Amministratore: {{ admin.username }} 
-  </div>
-{% endblock %}
-
 {% block body %}
   <!-- errori form sede -->
   {% if sede.errors %}

+ 19 - 2
amministratore/views.py

@@ -109,7 +109,7 @@ def edit(request):
 
   data = dict()
   data['HeaderTitle'] = getConfig('HeaderTitle')
-  data['Navbar']=True
+  data['Navbar']=False
 
   if 'AdminId' in request.session:
     data['AdminId'] = request.session['AdminId']
@@ -117,7 +117,24 @@ def edit(request):
     data['admin'] = admin
     print('admin',admin.id,admin.nome)
     data['permesso'] = getAMP(admin)
-   
+  
+  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
+
   amministratore = None
   print(request)
   if 'AmministratoreEditId' in request.session:

+ 30 - 0
azienda/templates/azienda.editAzienda.html

@@ -104,3 +104,33 @@
   </form>
 
 </div>{% endblock %}
+
+{% block bodybottom %}
+  <br>
+    <div class="card">
+      <div class="class="card-header">
+        Lista Amministratori con autorizzazione all'accesso
+      </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'>Login</th>
+            <th scope='col'>Nome</th>
+          </tr>
+          </thead>
+          <tbody>
+            {% for a in listaAmministratore %}
+              <tr>
+	        <td> {{ a.login }}</td>
+                <td> {{ a.nome }} </td>
+              </tr>
+            {% endfor %}
+          </tbody>
+        </table>
+      </li>
+      </ul>
+    </div>
+{% endblock %}
+

+ 29 - 0
azienda/templates/azienda.editSede.html

@@ -88,3 +88,32 @@
 </div>
 {% endblock %}
 
+{% block bodybottom %}
+  <br>
+    <div class="card">
+      <div class="class="card-header">
+        Lista Amministratori con autorizzazione all'accesso
+      </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'>Login</th>
+            <th scope='col'>Nome</th>
+          </tr>
+          </thead>
+          <tbody>
+            {% for a in listaAmministratore %}
+              <tr>
+                <td> {{ a.login }}</td>
+                <td> {{ a.nome }} </td>
+              </tr>
+            {% endfor %}
+          </tbody>
+        </table>
+      </li>
+      </ul>
+    </div>
+{% endblock %}
+

+ 6 - 4
azienda/views.py

@@ -5,7 +5,7 @@ from .models import *
 from config.views import *
 from att.views import *
 from .forms import *
-from sicurezza.views import getAMP,getAZP,getSEP,setAZP,setSEP
+from sicurezza.views import getAMP,getAZP,getSEP,setAZP,setSEP,listaAMMperAzienda,listaAMMperSede
 
 def welcome(request):
 
@@ -201,6 +201,7 @@ def editAzienda(request):
     data['sede'] = sede
 
   data['HeaderTitle'] = getConfig('HeaderTitle')
+  data['Navbar']=False
   user = data['admin'] = Amministratore.objects.get(pk=AdminId)
 
   azienda = None
@@ -215,11 +216,9 @@ def editAzienda(request):
 
   data['permesso_amministratore'] = getAMP(AdminId)
   data['permesso_azienda'] = getAZP(azienda,AdminId)
-  #data['permesso_sede'] = getSEP(sede,AdminId)
 
   print('permesso_amministratore',data['permesso_amministratore'])
   print('permesso_azienda',data['permesso_azienda'])
-  #print('permesso_sede',data['permesso_sede'])
 
   if 'indietro' in request.POST:
     return HttpResponseRedirect(reverse('azienda:welcome'))
@@ -284,6 +283,8 @@ def editAzienda(request):
         formAziendaField = formAzienda(tmp)
 
     data['aziendaForm'] = formAziendaField
+    data['listaAmministratore'],oggetti = listaAMMperAzienda(AziendaId)
+    print(data['listaAmministratore'])
 
   return render(request,'azienda.editAzienda.html',data)
 
@@ -311,7 +312,7 @@ def editSede(request):
       print("non esiste")
 
   data['HeaderTitle'] = getConfig('HeaderTitle')
-  data['Navbar']=True
+  data['Navbar']=False
 
   data['HeaderTitle'] = getConfig('HeaderTitle')
   admin = data['admin'] = Amministratore.objects.get(pk=AdminId)
@@ -400,6 +401,7 @@ def editSede(request):
     tmp['otppassword'] = sede.otppassword
     print('stato tmp',tmp)
     data['sedeForm'] = formSede(tmp)
+    data['listaAmministratore'],oggetti = listaAMMperSede(SedeId)
 
   return render(request,'azienda.editSede.html',data)
  

+ 58 - 0
sicurezza/views.py

@@ -63,6 +63,64 @@ def getAZP(azienda=None,amministratore=None):
   #for i in permessi: print(i,)
   return permessi
 
+#ottiene la lista degli amministratori per azienda
+def listaAMMperAzienda(azienda=None):
+  print('Parametro azienda',azienda,type(azienda))
+  azi = None
+  if isinstance(azienda,Azienda):
+    print('Azienda: instanza Azienda')
+    azi = azienda
+  if isinstance(azienda,int):
+    print('Azienda: istanza int')
+    azi = Azienda.objects.get(pk=azienda)
+
+  if azi == None: 
+    print('problema con la definizione di azienda')
+    return []
+
+  print('dati rilevati',azi.id,azi.nome)
+
+  laz = azi.azp_set.filter(permesso__nome="AMMINISTRATORE")
+  print('lunghezza LAZ',laz)
+
+  amministratore = list()
+  oggetto = list()
+  for p in laz:
+    amministratore.append(p.amministratore)
+    oggetto.append(p)
+
+  print('amministratori disponibili',len(amministratore))
+  return (amministratore,oggetto)
+
+#ottiene la lista degli amministratori per sede
+def listaAMMperSede(sede=None):
+  print('Parametro sede',sede,type(sede))
+  sed = None
+  if isinstance(sede,Sede):
+    print('Sede: instanza Sede')
+    sed = Sede
+  if isinstance(sede,int):
+    print('Sede: istanza int')
+    sed = Sede.objects.get(pk=sede)
+
+  if sed == None: 
+    print('problema con la definizione di sede')
+    return []
+
+  print('dati rilevati',sed.id,sed.nome)
+
+  lse = sed.sep_set.filter(permesso__nome="AMMINISTRATORE")
+  print('lunghezza Lse',lse)
+
+  amministratore = list()
+  oggetto = list()
+  for p in lse:
+    amministratore.append(p.amministratore)
+    oggetto.append(p)
+
+  print('amministratori disponibili',len(amministratore))
+  return (amministratore,oggetto)
+
 #riporta la lista delle aziende in base all'amministratore
 def listaAZP(amministratore=None):
   print('Parametro amministratore',amministratore,type(amministratore))