فهرست منبع

edit amministratore - aggiunta default

mauro 9 ماه پیش
والد
کامیت
6c21bf8bde
25فایلهای تغییر یافته به همراه196 افزوده شده و 19 حذف شده
  1. BIN
      amministratore/__pycache__/__init__.cpython-311.pyc
  2. BIN
      amministratore/__pycache__/admin.cpython-311.pyc
  3. BIN
      amministratore/__pycache__/apps.cpython-311.pyc
  4. BIN
      amministratore/__pycache__/forms.cpython-311.pyc
  5. BIN
      amministratore/__pycache__/models.cpython-311.pyc
  6. BIN
      amministratore/__pycache__/urls.cpython-311.pyc
  7. BIN
      amministratore/__pycache__/views.cpython-311.pyc
  8. 19 0
      amministratore/forms.py
  9. BIN
      amministratore/migrations/__pycache__/0001_initial.cpython-311.pyc
  10. BIN
      amministratore/migrations/__pycache__/0002_amministratore_uuid.cpython-311.pyc
  11. BIN
      amministratore/migrations/__pycache__/0003_amministratore_edit_azienda_and_more.cpython-311.pyc
  12. BIN
      amministratore/migrations/__pycache__/0004_amministratore_crea_comunicazione_and_more.cpython-311.pyc
  13. BIN
      amministratore/migrations/__pycache__/0005_amministratore_crea_permesso_and_more.cpython-311.pyc
  14. BIN
      amministratore/migrations/__pycache__/0006_rename_vedi_permesso_amministratore_read_permesso.cpython-311.pyc
  15. BIN
      amministratore/migrations/__pycache__/0007_permesso_ap.cpython-311.pyc
  16. BIN
      amministratore/migrations/__pycache__/0008_rename_permesso_ap_permesso.cpython-311.pyc
  17. BIN
      amministratore/migrations/__pycache__/0009_remove_amministratore_crea_azienda_and_more.cpython-311.pyc
  18. BIN
      amministratore/migrations/__pycache__/0010_rename_ap_amp.cpython-311.pyc
  19. BIN
      amministratore/migrations/__pycache__/0011_delete_amp_delete_permesso.cpython-311.pyc
  20. BIN
      amministratore/migrations/__pycache__/__init__.cpython-311.pyc
  21. 57 13
      amministratore/templates/amministratore.edit.html
  22. 54 2
      amministratore/views.py
  23. 31 1
      azienda/templates/azienda.editAzienda.html
  24. 31 1
      azienda/templates/azienda.editSede.html
  25. 4 2
      comunicazione/views.py

BIN
amministratore/__pycache__/__init__.cpython-311.pyc


BIN
amministratore/__pycache__/admin.cpython-311.pyc


BIN
amministratore/__pycache__/apps.cpython-311.pyc


BIN
amministratore/__pycache__/forms.cpython-311.pyc


BIN
amministratore/__pycache__/models.cpython-311.pyc


BIN
amministratore/__pycache__/urls.cpython-311.pyc


BIN
amministratore/__pycache__/views.cpython-311.pyc


+ 19 - 0
amministratore/forms.py

@@ -32,3 +32,22 @@ class FormAmministratore(forms.Form):
     print('choices',choices)
     return choices
 
+class FormCancellaPermessi(forms.Form):
+  def __init__(self,*args,**kwargs):
+    forms.Form.__init__(self,*args,**kwargs)
+    self.fields['confermacancellazionepermesso'] = forms.IntegerField(required=True)
+
+class FormAziendaMancante(forms.Form):
+  choices = list()
+  def __init__(self,*args,**kwargs):
+    forms.Form.__init__(self,*args,**kwargs)
+    self.fields['aziendadaaggiungere'] = forms.ChoiceField(required=True,choices=self.choices)
+
+  def c(self,azienda):
+    print("aziende passate a fam",len(azienda))
+    for a in azienda:
+      print(a.id,a.nome)
+      self.choices.append((a.id,a.id),)
+    print('choices',self.choices,len(self.choices))
+
+

BIN
amministratore/migrations/__pycache__/0001_initial.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0002_amministratore_uuid.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0003_amministratore_edit_azienda_and_more.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0004_amministratore_crea_comunicazione_and_more.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0005_amministratore_crea_permesso_and_more.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0006_rename_vedi_permesso_amministratore_read_permesso.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0007_permesso_ap.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0008_rename_permesso_ap_permesso.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0009_remove_amministratore_crea_azienda_and_more.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0010_rename_ap_amp.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/0011_delete_amp_delete_permesso.cpython-311.pyc


BIN
amministratore/migrations/__pycache__/__init__.cpython-311.pyc


+ 57 - 13
amministratore/templates/amministratore.edit.html

@@ -29,7 +29,7 @@
      <label for="pin">Pin/Password</label>
       <input type='text' class='form-control form-control-lg' name='pin' id='pin' value='{{ amministratore.pin.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
     </div>
-
+    <p></p>
     <div class="btn-group">
       <br>
       <input type='submit' class="btn btn-primary" value='Aggiorna' {% if admin.sola_lettura %} disable {% endif %}>
@@ -45,7 +45,7 @@
   <br>
     <div class="card">
       <div class="class="card-header">
-        Lista Aziende
+        Lista Aziende Autorizzate
       </div> 
       <ul class="list-group list-group-flush">
       <li class="list-group-item">
@@ -63,36 +63,80 @@
               <tr>
                 <td> {{ a.nome }} </td>
                 <td> {{ a.partitaiva }} </td>
-		<td></td>
+		<td><button type='submit' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#ConfirmUpdateModal{{ a.id }}' value='{{ a.id }}'>E</button></td>
 		<td><button type='submit' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#ConfirmDeleteModal{{ a.id }}' value='{{ a.id }}'>D</button></td>
               </tr>
-                <!-- Modal -->
-               <div class="modal fade" id="ConfirmDeleteModal{{ a.id }}" tabindex="-1" role="dialog" aria-labelledby="ConfirmDeleteLabel{{ a.id }}" aria-hidden="true">
-                 <div class="modal-dialog" role="document">
+
+              <!-- Modal -->
+              <div class="modal fade" id="ConfirmUpdateModal{{ a.id }}" tabindex="-1" role="dialog" aria-labelledby="ConfirmUpdateLabel{{ a.id }}" aria-hidden="true">
+                <div class="modal-dialog" role="document">
               <div class="modal-content">
                 <div class="modal-header">
-                  <h5 class="modal-title" id="ConfirmDeleteLabel">Conferma Cancellazione Diritti</h5>
-                  <button type="button" class="close" data-bs-dismiss="modal" aria-label="Chiudi">
-                   <span aria-hidden="true">&times;</span>
+                  <h5 class="modal-title" id="ConfirmUpdateLabel">Aggiornamento Diritti Amministratore</h5>
+                   <span aria-hidden="true"></span>
                   </button>
                 </div>
                 <div class="modal-body">
-		  La conferma di cancellazione rimuove immediatamente tutti i diritti associati alla
-		  societa' {{ a.nome }} e alle sue sedi.
-                  Confermi la cancellazione dei diritti di accesso di {{ a.nome }}?<br>
+	          <select class="form-select" multiple aria-label="Selezione Multipla Permessi" >
+		    {% for lp in listapermesso %}
+  		      <option value={{ lp.id }}>{{ lp.nome }} - {{ lp.descrizione }}</option>
+                    {% endfor %}
+		  </select>
                 </div>
                 <div class="modal-footer">
                   <form name='ConfirmDeleteModal' method='POST'>
                     {% csrf_token %}
-                    <button type="submit" name="DeletePermesso" value='{{ a.id }}' class="btn btn-primary">Cancella Permessi</button>
+                    <button type="submit" name="UpdatePermesso" value='{{ a.id }}' class="btn btn-primary">Aggiorna Permessi</button>
                     <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Chiudi/Annulla</button>
                   </form>
                 </div>
               </div>
             </div>
           </div>
+          <!-- end modal -->
+
+          <!-- Modal -->
+            <div class="modal fade" id="ConfirmDeleteModal{{ a.id }}" tabindex="-1" role="dialog" aria-labelledby="ConfirmDeleteLabel{{ a.id }}" aria-hidden="true">
+              <div class="modal-dialog" role="document">
+                <div class="modal-content">
+                  <div class="modal-header">
+                    <h5 class="modal-title" id="ConfirmDeleteLabel">Conferma Cancellazione Diritti</h5>
+                      <span aria-hidden="true"></span>
+                    </button>
+                  </div>
+                  <div class="modal-body">
+                    Confermando si procede all'immediata rimozione dei permessi associati alla
+                    societa' {{ a.nome }} e alle sue sedi.
+                    Confermi la cancellazione dei diritti di accesso di {{ a.nome }}?
+                </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 %}
+
+	    <tr>
+              <form name='ConfirmDeleteModal' 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>
+                    {% endfor %}
+                </select>
+	      </td>
+	      <td>
+		<button type='submit' class='btn btn-primary'>Aggiungi</button>
+	      </td>
+              </form>
+	    </tr>
           </tbody>
         </table>
       </li>

+ 54 - 2
amministratore/views.py

@@ -155,7 +155,7 @@ def edit(request):
 
     formamministratore = FormAmministratore(request.POST)
     if formamministratore.is_valid():
-      print('form valida')
+      print('form valida formamministratore')
       amministratore.login=formamministratore.cleaned_data.get('login')
       amministratore.nome=formamministratore.cleaned_data.get('nome')
       amministratore.mail=formamministratore.cleaned_data.get('mail')
@@ -165,15 +165,67 @@ def edit(request):
       request.session['AmministratoreEditId'] = amministratore.id
       return HttpResponseRedirect(reverse('amministratore:welcome'))
 
+    formcancellapermesso = FormCancellaPermessi(request.POST)
+    if formcancellapermesso.is_valid():
+      print('form valida formcancellapermesso')
+      aziendadarimuovere = formcancellapermesso.cleaned_data.get('confermacancellazionepermesso')
+      print('azienda da rimuovere',aziendadarimuovere)
+      #prima cosa togliamo i diritti alle sedi
+      aztorm = None
+      try:
+        aztorm = Azienda.objects.get(pk=aziendadarimuovere)
+      except Azienda.DoesNotExist:
+        print('Azienda non trovata',aziendadarimuovere)
+      print('azienda trovata',aztorm.nome)
+
+      print("Iniziamo dalle sedi")
+      sedi = aztorm.sede_set.all()
+      for tmp in sedi:
+        print('sede',tmp.nome)
+        for p in tmp.sep_set.all():
+          print('permesso',p.permesso.nome)
+          p.delete()
+      print("Ora tocca all'azienda")
+      for p in aztorm.azp_set.all():
+        print('permesso azienda',p.permesso.nome)
+        p.delete()
+
+    formaziendamancante=FormAziendaMancante(request.POST)
+    formaziendamancante.c(Azienda.objects.all())
+    print('fam',formaziendamancante)
+    if formaziendamancante.is_valid():
+      print('form valida formaziendamancante')
+      aziendadaaggiungere = formaziendamancante.cleaned_data.get('aziendadaaggiungere')
+      print('Azienda da aggiungere',aziendadaaggiungere)
+      aztoadd = None
+      try:
+        aztoadd = Azienda.objects.get(pk=aziendadaaggiungere)
+      except Azienda.DoesNotExist as dne:
+        print("Azienda non trovata",aziendadaaggiungere)
+      if aztoadd:
+        print('Azienda in corso di aggiunta',aztoadd.nome)
+        azp = AZP()
+        azp.azienda = aztoadd
+        azp.permesso = getPermesso("AMMINISTRATORE")
+        print('permesso base',getPermesso("AMMINISTRATORE").nome)
+        azp.save()
+        print(azp.id)
+      
   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:
     data['listaazienda'] = listaAZP(amministratore)[0]
 
-  print('data',data)
+  data['listapermesso'] = getPermesso()
+
+  #calcolo la differenza tra tutte le aziende e le aziende sottoposte a permesso
+  listaaziendatutte = Azienda.objects.all()
+  data['listaaziendadiff'] = set(set(listaaziendatutte)-set(data['listaazienda']))
+  print('Differenza aziende',len(data['listaaziendadiff']))
 
   return render(request,'amministratore.edit.html',data)

+ 31 - 1
azienda/templates/azienda.editAzienda.html

@@ -118,6 +118,8 @@
           <tr>
 	    <th scope='col'>Login</th>
             <th scope='col'>Nome</th>
+            <th scope='col'>E</th>
+            <th scope='col'>D</th>
           </tr>
           </thead>
           <tbody>
@@ -125,7 +127,36 @@
               <tr>
 	        <td> {{ a.login }}</td>
                 <td> {{ a.nome }} </td>
+                <td></td>
+                <td><button type='submit' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#ConfirmDeleteModal{{ a.id }}' value='{{ a.id }}'>D</button></td>
               </tr>
+                <!-- Modal -->
+               <div class="modal fade" id="ConfirmDeleteModal{{ a.id }}" tabindex="-1" role="dialog" aria-labelledby="ConfirmDeleteLabel{{ a.id }}" aria-hidden="true">
+                 <div class="modal-dialog" role="document">
+              <div class="modal-content">
+                <div class="modal-header">
+                  <h5 class="modal-title" id="ConfirmDeleteLabel">Conferma Cancellazione Diritti</h5>
+                  <button type="button" class="close" data-bs-dismiss="modal" aria-label="Chiudi">
+                   <span aria-hidden="true">&times;</span>
+                  </button>
+                </div>
+                <div class="modal-body">
+                  La conferma di cancellazione rimuove immediatamente tutti i diritti associati alla
+                  societa' {{ a.nome }} e alle sue sedi.
+                  Confermi la cancellazione dei diritti di accesso di {{ a.nome }}?<br>
+                </div>
+                <div class="modal-footer">
+                  <form name='ConfirmDeleteModal' method='POST'>
+                    {% csrf_token %}
+                    <button type="submit" name="DeletePermesso" 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>
+          </div>
+          <!-- end modal -->
+
             {% endfor %}
           </tbody>
         </table>
@@ -133,4 +164,3 @@
       </ul>
     </div>
 {% endblock %}
-

+ 31 - 1
azienda/templates/azienda.editSede.html

@@ -101,6 +101,8 @@
           <tr>
             <th scope='col'>Login</th>
             <th scope='col'>Nome</th>
+            <th scope='col'>E</th>
+            <th scope='col'>D</th>
           </tr>
           </thead>
           <tbody>
@@ -108,7 +110,36 @@
               <tr>
                 <td> {{ a.login }}</td>
                 <td> {{ a.nome }} </td>
+                <td></td>
+                <td><button type='submit' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#ConfirmDeleteModal{{ a.id }}' value='{{ a.id }}'>D</button></td>
               </tr>
+                <!-- Modal -->
+               <div class="modal fade" id="ConfirmDeleteModal{{ a.id }}" tabindex="-1" role="dialog" aria-labelledby="ConfirmDeleteLabel{{ a.id }}" aria-hidden="true">
+                 <div class="modal-dialog" role="document">
+              <div class="modal-content">
+                <div class="modal-header">
+                  <h5 class="modal-title" id="ConfirmDeleteLabel">Conferma Cancellazione Diritti</h5>
+                  <button type="button" class="close" data-bs-dismiss="modal" aria-label="Chiudi">
+                   <span aria-hidden="true">&times;</span>
+                  </button>
+                </div>
+                <div class="modal-body">
+                  La conferma di cancellazione rimuove immediatamente tutti i diritti associati alla
+                  societa' {{ a.nome }} e alle sue sedi.
+                  Confermi la cancellazione dei diritti di accesso di {{ a.nome }}?<br>
+                </div>
+                <div class="modal-footer">
+                  <form name='ConfirmDeleteModal' method='POST'>
+                    {% csrf_token %}
+                    <button type="submit" name="DeletePermesso" 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>
+          </div>
+          <!-- end modal -->
+
             {% endfor %}
           </tbody>
         </table>
@@ -116,4 +147,3 @@
       </ul>
     </div>
 {% endblock %}
-

+ 4 - 2
comunicazione/views.py

@@ -200,7 +200,7 @@ def welcome(request):
   if 'SedeId' in request.session:
     SedeId = request.session['SedeId']
     data['SedeId']=SedeId
-    print('Sede',SedeId)
+    print('SedeId',SedeId)
     try:
       sede = Sede.objects.get(pk=SedeId)
     except Sede.DoesNotExist as dne:
@@ -211,7 +211,9 @@ def welcome(request):
   # selezionare tutti gli utenti per AziendaId
   data['admin'] = Amministratore.objects.get(pk=data['AdminId'])
   data['azienda'] = Azienda.objects.get(pk=data['AziendaId'])
-  data['sede'] = Sede.objects.get(pk=data['SedeId'])
+  print('SedeId',SedeId)
+  if 'SedeId' in data and data['SedeId'] is not -1:
+    data['sede'] = Sede.objects.get(pk=data['SedeId'])
 
   data['comunicazione'] = data['azienda'].comunicazione_set.all()
   print(data)