Преглед на файлове

vengono mostrate le aziende associate all'admin

Mauro преди 10 месеца
родител
ревизия
6f01184543
променени са 4 файла, в които са добавени 69 реда и са изтрити 8 реда
  1. 10 1
      amministratore/forms.py
  2. 29 0
      amministratore/templates/amministratore.edit.html
  3. 3 0
      amministratore/views.py
  4. 27 7
      sicurezza/views.py

+ 10 - 1
amministratore/forms.py

@@ -15,11 +15,20 @@ class FormAmministratoreEditId(forms.Form):
     return choices
 
 class FormAmministratore(forms.Form):
-  def __init__(self,*args,**kwargs):
+  def __init__(self,*args,azienda=[],**kwargs):
     forms.Form.__init__(self,*args,**kwargs)
     self.fields['login'] = forms.CharField(required=True)
     self.fields['nome'] = forms.CharField(required=True)
     self.fields['mail'] = forms.CharField(required=False)
     self.fields['pin'] = forms.CharField(required=True)
     self.fields['uuid'] = forms.CharField(required=False)
+    self.fields['azienda'] = forms.ChoiceField(required=True,choices=self.c(azienda))
+
+  def c(self,azienda):
+    choices = []
+    for a in azienda:
+      choices.append((a.id,a.id))
+
+    print('choices',choices)
+    return choices
 

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

@@ -40,6 +40,7 @@
     </div>
 
     <div class="btn-group">
+      <br>
       <input type='submit' class="btn btn-primary" value='Aggiorna' {% if admin.sola_lettura %} disable {% endif %}>
       <input type='submit' class="btn btn-primary" name="indietro" value="Indietro">
     </div>
@@ -49,3 +50,31 @@
 </div>
 {% endblock %}
 
+{% block bodybottom %}
+  <br>
+    <div class="card">
+      <div class="class="card-header">
+        Lista Aziende
+      </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'>P.Iva</th>
+          </tr>
+          </thead>
+          <tbody>
+            {% for a in listaazienda %}
+              <tr>
+                <td> {{ a.nome }} </td>
+                <td> {{ a.partitaiva }} </td>
+              </tr>
+            {% endfor %}
+          </tbody>
+        </table>
+      </li>
+      </ul>
+    </div>
+{% endblock %}

+ 3 - 0
amministratore/views.py

@@ -146,6 +146,7 @@ def edit(request):
       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
@@ -153,6 +154,8 @@ def edit(request):
   tmp['pin'] = amministratore.pin
   tmp['mail'] = amministratore.mail
   data['amministratore'] = FormAmministratore(tmp)
+  if amministratore.id:
+    data['listaazienda'] = listaAZP(amministratore)[0]
 
   print('data',data)
 

+ 27 - 7
sicurezza/views.py

@@ -64,14 +64,34 @@ def getAZP(azienda=None,amministratore=None):
   #for i in permessi: print(i,)
   return permessi
 
-  '''
-  for p in amm.amp_set.filter(amministratore=amm):
-    permessi.append(p.permesso.nome)
+#riporta la lista delle aziende in base all'amministratore
+def listaAZP(amministratore=None):
+  print('Parametro amministratore',amministratore,type(amministratore))
+  amm = None
+  if isinstance(amministratore,Amministratore):
+    print('amministratore: instanza Amministratore')
+    amm=amministratore
+  if isinstance(amministratore,int):
+    print('amministratore: istanza int')
+    amm = Amministratore.objects.get(pk=amministratore)
 
-  print('permessi disponibili',len(permessi))
-  #for i in permessi: print(i,)
-  return permessi
-  '''
+  if amm == None: 
+    print('problema con la definizione di amministratore')
+    return []
+
+  print('dati rilevati',amm.id,amm.login)
+
+  lam = amm.azp_set.filter(permesso__nome="AMMINISTRATORE")
+  print('lunghezza LAM',lam)
+
+  aziende = list()
+  oggetto = list()
+  for p in lam:
+    aziende.append(p.azienda)
+    oggetto.append(p)
+
+  print('aziende disponibili',len(aziende))
+  return (aziende,oggetto)
 
 #riporta l'elenco dei permessi per sede filtrato per amministratore
 def getSEP(sede=None,amministratore=None):