Browse Source

completato modulo diritti amministrativi

mauro 6 months ago
parent
commit
a28b04656f

+ 1 - 1
amministratore/templates/amministratore.edit.AMP.html

@@ -12,7 +12,7 @@
   <!-- fine zona errori -->
   </div>
 
-  <div class="h4">
+  <div class="h5">
     Lista Permessi Amministrativi Assegnati
   </div> 
   <div class="h5">

+ 4 - 3
amministratore/templates/amministratore.edit.AZ.html

@@ -12,12 +12,12 @@
   <!-- fine zona errori -->
   </div>
 
-  <div>
+  <div class='h4'>
     Lista Aziende Autorizzate
   </div> 
-  <div class='h4'>
+  <div class='h5'>
   Questa lista contiene le aziende a cui l'amministratore è autorizzato ad accedere. L'accesso è concesso in prima battuta solo in lettura.
-  usare il tasto "E" per consentire anche altre operazioni.
+  usare il tasto "P" per consentire anche altre operazioni.
   </div>
 
   <form name='aziendapermessiform' method='POST'>
@@ -88,6 +88,7 @@
     </ul>
     <div class="btn-group">
       <input type='submit' name="AmministratoreButton" class="btn btn-primary" value="Torna a profilo Amministratore">
+      <input type='submit' name="AmministratoreAziendaButton" class="btn btn-primary" value="Torna a Lista Aziende">
       <input type='submit' name="AmministratoreReturnButton" class="btn btn-primary" value="Ritorna">
     <div>
     </form>

+ 1 - 21
amministratore/templates/amministratore.edit.AZP.html

@@ -22,27 +22,6 @@
   Assegnare i permessi a questo livello <b>supera</b> eventuali permessi assegnati a livello azienda o sede.
   </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'>Descrizione</th>
-          </tr>
-          </thead>
-          <tbody>
-            {% for a in permessoAMP %}
-              <tr>
-                <td> {{ a.nome }} </td>
-		<td> {{ a.descrizione }} </td>
-              </tr>
-	    {% endfor %}
-          </tbody>
-        </table>
-      </li>
-    </ul>
-
   <form name='amministratorepermessiform' method='POST'>
   {% csrf_token %}
   <ul class="list-group list-group-flush">
@@ -105,6 +84,7 @@
     </ul>
     <div class="btn-group">
       <input type='submit' name="AmministratoreButton" class="btn btn-primary" value="Torna a profilo Amministratore">
+      <input type='submit' name="AmministratoreAziendaButton" class="btn btn-primary" value="Torna a Lista Aziende">
       <input type='submit' name="AmministratoreReturnButton" class="btn btn-primary" value="Ritorna">
     <div>
     </form>

+ 96 - 0
amministratore/templates/amministratore.edit.SE.html

@@ -0,0 +1,96 @@
+{% extends 'base.html' %}
+
+{% block body %}
+
+ <div class="error">
+  <!-- errori form sede -->
+  {% if sede.errors %}
+    <div class="alert alert-danger">
+    {{ sede.errors }}
+    </div>
+  {% endif %}
+  <!-- fine zona errori -->
+  </div>
+
+  <div>
+    Lista Sedi Autorizzate
+  </div> 
+  <div>
+  Questa lista contiene le sedi a cui l'amministratore è autorizzato ad accedere. L'accesso è concesso in prima battuta solo in lettura.
+  usare il tasto "E" per consentire anche altre operazioni.<br><br>
+  amministratore: {{ amministratore.login }} - {{ amministratore.nome }}.<br>
+  azienda in corso di elaborazione: {{ aziendaOnWork.nome }}
+  </div>
+
+  <form name='listasedeform' method='POST'>
+  {% csrf_token %}
+  <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'>Identificativo</th>
+	    <th scope='col'>P</th>
+	    <th scope='col'>D</th>
+          </tr>
+          </thead>
+          <tbody>
+            {% for a in listasede %}
+              <tr>
+                <td> {{ a.nome }} </td>
+                <td> {{ a.identificativo }} </td>
+                  {% csrf_token %}
+		<td><button type='submit' class='btn btn-primary' name='PermessoButton' value='{{ a.id }}'>P</button></td>
+		<td><button type='button' 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>
+                      <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">
+                    {% csrf_token %}
+                    <button type="submit" name="SedeConfermaCancellazionePermessoButton" value='{{ a.id }}' class="btn btn-primary">Cancella Permessi</button>
+                    <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Chiudi/Annulla</button>
+                </div>
+              </div>
+            </div>
+          <!-- end modal -->
+            {% endfor %}
+
+	    <tr>
+                {% csrf_token %}
+	      <td>
+                <select class="form-select" name="ListaSedeDaAggiungere" id="ListaSedeDaAggiungere">
+		  <option value="">-- Scegli la sede da Aggiungere --</option>
+	          {% for lp in listasedediff  %}
+		  <option value="{{ lp.id }}">{{ lp.nome }} - {{ lp.identificativo}}</option>
+                    {% endfor %}
+                </select>
+	      </td>
+	      <td>
+		<button type='submit' name="SedeDaAggiungereButton" class='btn btn-primary'>Aggiungi</button>
+	      </td>
+	    </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+    <div class="btn-group">
+      <input type='submit' name="AmministratoreButton" class="btn btn-primary" value="Torna a profilo Amministratore">
+      <input type='submit' name)"AmministratoreEditAZButton" class="btn btn-primary" value="Lista Aziende">
+      <input type='submit' name="AmministratoreReturnButton" class="btn btn-primary" value="Ritorna">
+    <div>
+    </form>
+{% endblock %}

+ 23 - 60
amministratore/templates/amministratore.edit.SEP.html

@@ -4,25 +4,25 @@
 
  <div class="error">
   <!-- errori form sede -->
-  {% if sede.errors %}
+  {% if azienda.errors %}
     <div class="alert alert-danger">
-    {{ sede.errors }}
+    {{ azienda.errors }}
     </div>
   {% endif %}
   <!-- fine zona errori -->
   </div>
 
-  <div>
-    Lista Sedi Autorizzate
+  <div class="h4">
+    Lista Permessi assegnati alla Sede
   </div> 
-  <div>
-  Questa lista contiene le sedi a cui l'amministratore è autorizzato ad accedere. L'accesso è concesso in prima battuta solo in lettura.
-  usare il tasto "E" per consentire anche altre operazioni.<br><br>
-  amministratore: {{ amministratore.login }} - {{ amministratore.nome }}.<br>
-  azienda in corso di elaborazione: {{ aziendaOnWork.nome }}
+  <div class="h5">
+  Questa lista contiene i permessi assegnati a livello di sede
+  </div>
+  <div class="h5">
+  Assegnare i permessi a questo livello <b>supera</b> eventuali permessi assegnati a livello azienda o sede.
   </div>
 
-  <form name='listasedeform' method='POST'>
+  <form name='sedepermessiform' method='POST'>
   {% csrf_token %}
   <ul class="list-group list-group-flush">
     <li class="list-group-item">
@@ -30,54 +30,18 @@
         <thead class='thead-dark'>
           <tr>
             <th scope='col'>Nome</th>
-            <th scope='col'>Identificativo</th>
-	    <th scope='col'>P</th>
+	    <th scope='col'>Descrizione</th>
 	    <th scope='col'>D</th>
           </tr>
           </thead>
           <tbody>
-            {% for a in listasede %}
+            {% for a in permessoSEP %}
               <tr>
-                <td> {{ a.nome }} </td>
-                <td> {{ a.identificativo }} </td>
-                  {% csrf_token %}
-		<td><button type='button' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#ConfirmUpdateModal{{ a.id }}' value='{{ a.id }}'>P</button></td>
+		      <td> {{ a.nome }} </td>
+		<td> {{ a.descrizione }} </td>
 		<td><button type='button' 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="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="ConfirmUpdateLabel">Aggiornamento Diritti Amministratore</h5>
-                   <span aria-hidden="true"></span>
-                  </button>
-                </div>
-                <div class="modal-body">
-	          <select class="form-select" multiple aria-label="Selezione Multipla Permessi" >
-		    {% for lp in listapermesso %}
-  		      <option value={{ lp.permesso.id }}>{{ lp.permesso.nome }} - {{ lp.descrizione }}</option>
-                    {% endfor %}
-		  </select>
-                </div>
-		<div class="modal-body">
-		  <select class="form-select" multiple aria-label="Seleziona Permessi Disponibili">
-		    {% for lp in dirittiSEDE %}
-		      <option value="{{ lp.id }}">{{ lp.nome }}</option>
-                    {% endfor %}
-		  </select>
-		</div>
-                <div class="modal-footer">
-                  <button type="submit" name="SedePermessoDeleteButton" value='{{ a.id }}' class="btn btn-primary">Rimuovi Permessi</button>
-                  <button type="submit" name="SedePermessoUpdateButton" value='{{ a.id }}' class="btn btn-primary">Aggiungi Permessi</button>
-                  <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Chiudi/Annulla</button>
-                </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">
@@ -88,13 +52,11 @@
                     </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 }}?
+                    Confermando si procede all'immediata rimozione del permesso indicato?
                 </div>
                 <div class="modal-footer">
                     {% csrf_token %}
-                    <button type="submit" name="SedeConfermaCancellazionePermessoButton" value='{{ a.id }}' class="btn btn-primary">Cancella Permessi</button>
+                    <button type="submit" name="ConfermaCancellazionePermesso" value='{{ a.id }}' class="btn btn-primary">Cancella Permesso</button>
                     <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Chiudi/Annulla</button>
                 </div>
               </div>
@@ -105,15 +67,15 @@
 	    <tr>
                 {% csrf_token %}
 	      <td>
-                <select class="form-select" name="ListaSedeDaAggiungere" id="ListaSedeDaAggiungere">
-		  <option value="">-- Scegli la sede da Aggiungere --</option>
-	          {% for lp in listasedediff  %}
-		  <option value="{{ lp.id }}">{{ lp.nome }} - {{ lp.identificativo}}</option>
+                <select class="form-select" name="ListaPermessiDaAggiungere" id="ListaPermessiDaAggiungere">
+		  <option value="">-- Scegli il permesso da Aggiungere --</option>
+	          {% for lp in listapermessiassegnabili  %}
+		  <option value="{{ lp.id }}">{{ lp.nome }}</option>
                     {% endfor %}
                 </select>
 	      </td>
 	      <td>
-		<button type='submit' name="SedeDaAggiungereButton" class='btn btn-primary'>Aggiungi</button>
+		<button type='submit' name="PermessoDaAggiungereButton" class='btn btn-primary'>Aggiungi</button>
 	      </td>
 	    </tr>
           </tbody>
@@ -122,7 +84,8 @@
     </ul>
     <div class="btn-group">
       <input type='submit' name="AmministratoreButton" class="btn btn-primary" value="Torna a profilo Amministratore">
-      <input type='submit' name)"AmministratoreEditAZPButton" class="btn btn-primary" value="Lista Aziende">
+      <input type='submit' name="AmministratoreAziendaButton" class="btn btn-primary" value="Torna a Lista Aziende">
+      <input type='submit' name="AmministratoreSedeButton" class="btn btn-primary" value="Torna a Lista Sedi">
       <input type='submit' name="AmministratoreReturnButton" class="btn btn-primary" value="Ritorna">
     <div>
     </form>

+ 0 - 90
amministratore/templates/amministratore.edit.pam.html

@@ -1,90 +0,0 @@
-{% extends 'base.html' %}
-
-{% block body %}
-
- <div class="error">
-  <!-- errori form sede -->
-  {% if sede.errors %}
-    <div class="alert alert-danger">
-    {{ sede.errors }}
-    </div>
-  {% endif %}
-  <!-- fine zona errori -->
-  </div>
-
-    <div>
-      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 Diritto</h5>
-                      <span aria-hidden="true"></span>
-                    </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="ConfermaCancellazionePermessoXAmministratore" value='{{ a.id }}' class="btn btn-primary">Cancella Permesso</button>
-                        <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Chiudi/Annulla</button>
-                      </form>
-                    </div>
-                  </div>
-                </div>
-	      </div>
-              <!-- end modal -->
-              {% endfor %}
-	      <tr>
-              <form name='permessoadaaggiungereform' method='POST'>
-                {% csrf_token %}
-                <td>
-                  <select class="form-select" name="permessodaaggiungere" id="permessodaaggiungere">
-	  	    <option value="">-- Scegli il permesso da Aggiungere --</option>
-                    {% for lp in listapermessodiff  %}
-	              <option value="{{ lp.id }}">{{ lp.nome }}</option>
-                    {% endfor %}
-                  </select>
-	        </td>
-	        <td>
-		  <button type='submit' class='btn btn-primary' name='PermessoDaAggiungereButton'>Aggiungi</button>
-  	        </td>
-              </form>
-	    </tr>
-
-          </tbody>
-        </table>
-      </li>
-    </ul>
-  </div>
-</div>
-
-    <div class="btn-group">
-      <br>
-      <input type='submit' name="AmministratoreUpdateButton" class="btn btn-primary" value='Aggiorna'>
-      {# ordine: azienda, sede, amministratore #}
-      <input type='submit' name="AmministratoreDirittiAziendaButton" class="btn btn-primary" value="Avanti">
-      <input type='submit' class="btn btn-primary" name="indietro" value="Indietro">
-    </div>
-
-{% endblock %}

+ 0 - 117
amministratore/templates/amministratore.edit.pse.html

@@ -1,117 +0,0 @@
-{% extends 'base.html' %}
-
-{% block body %}
-
- <div class="error">
-  <!-- errori form sede -->
-  {% if sede.errors %}
-    <div class="alert alert-danger">
-    {{ sede.errors }}
-    </div>
-  {% endif %}
-  <!-- fine zona errori -->
-  </div>
-
-  <div">
-      Lista Zone Autorizzate
-    </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'>Identificativo</th>
-            <th scope='col'>ES</th>
-            <th scope='col'>D</th>
-          </tr>
-        </thead>
-        <tbody>
-          {% for a in listasede %}
-            <tr>
-              <td> {{ a.nome }} </td>
-              <td> {{ a.identificativo }} </td>
-              <td><button type='submit' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#SedeConfirmUpdateModal{{ a.id }}' value='{{ a.id }}'>E</button></td>
-              <td><button type='submit' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#SedeConfirmDeleteModal{{ a.id }}' value='{{ a.id }}'>D</button></td>
-            </tr>
-
-            <!-- Modal -->
-            <div class="modal fade" id="SedeConfirmUpdateModal{{ a.id }}" tabindex="-1" role="dialog" aria-labelledby="SedeConfirmUpdateLabel{{ a.id }}" aria-hidden="true">
-              <div class="modal-dialog" role="document">
-                <div class="modal-content">
-                  <div class="modal-header">
-                    <h5 class="modal-title" id="SedeConfirmUpdateLabel">Aggiornamento Diritti Amministratore</h5>
-                      <span aria-hidden="true"></span>
-                  </div>
-                  <div class="modal-body">
-  	            <select class="form-select" multiple aria-label="Selezione Multipla Permessi" >
-   		      {% for lp in listapermesso %}
-  		        <option value={{ lp.permesso.id }}>{{ lp.permesso.nome }} - {{ lp.descrizione }}</option>
-                      {% endfor %}
-		    </select>
-                  </div>
-                  <div class="modal-footer">
-                    <form name="SedeUpdatePermessoForm" method="POST">
-                      {% csrf_token %}
-                      <button type="submit" name="SedeUpdatePermesso" 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="SedeConfirmDeleteModal{{ a.id }}" tabindex="-1" role="dialog" aria-labelledby="SedeConfirmDeleteLabel{{ a.id }}" aria-hidden="true">
-              <div class="modal-dialog" role="document">
-                <div class="modal-content">
-                  <div class="modal-header">
-                    <h5 class="modal-title" id="SedeConfirmDeleteLabel">Conferma Cancellazione Diritti</h5>
-                      <span aria-hidden="true"></span>
-                    </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='SedeConfirmDeleteModal' method='POST'>
-                      {% csrf_token %}
-                      <button type="submit" name="SedeConfermaCancellazionePermesso" 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 %}
-	    <tr>
-              <form name='sededaaggiungereform' method='POST'>
-                {% csrf_token %}
-  	        <td>
-                  <select class="form-select" multiple name="ListaSedeMancanteSelect" id="listasedemancante">
-	            {% for lp in listasedediff %}
-		      <option value="{{ lp.id }}">{{ lp.nome }} - {{ lp.identificativo}}</option>
-                    {% endfor %}
-                  </select>
-	        </td>
-	        <td>
-		  <button type='submit' name="SedeDaAggiungereButton" class='btn btn-primary'>Aggiungi</button>
-	        </td>
-              </form>
-	    </tr>
-          </tbody>
-        </table>
-      </li>
-    </ul>
-    <div class="btn-group">
-      <br>
-      <input type='submit' name="AmministratoreUpdateButton" class="btn btn-primary" value='Aggiorna'>
-      {# ordine: azienda, sede, amministratore #}
-      <input type='submit' name="AmministratoreDirittiAziendaButton" class="btn btn-primary" value="Avanti">
-      <input type='submit' class="btn btn-primary" name="indietro" value="Indietro">
-    </div>
-
-{% end block %}

+ 2 - 1
amministratore/urls.py

@@ -8,7 +8,8 @@ urlpatterns = [
   path('editAMP',views.editAMP,name='editAMP'),
   path('editAZ',views.editAZ,name='editAZ'),
   path('editAZP',views.editAZP,name='editAZP'),
-  path('editSEP',views.editSEP,name="editSEP"),
+  path('editSE',views.editSE,name="editSE"),
+  path('editSEP',views.editSEP,name='editSEP'),
   path('editAmministratore',views.editAmministratore,name='editAmministratore'),
 ]
 

+ 151 - 4
amministratore/views.py

@@ -41,7 +41,7 @@ def welcome(request):
         data['permesso'].append(t)
     if 'sede' in data:
       print('**** sede presente ****')
-      for t in getSEP(data['sede'],data['admin']):
+      for t in getSEP(data['sede'],data['admin'])[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
   print('permessi assegnati:',data['permesso'])
@@ -293,6 +293,10 @@ def editAMP(request):
       print("Un tasto èstato premuto 'AmministratoreReturnButton'")
       return HttpResponseRedirect(reverse("amministratore:welcome"))
 
+    if 'indietro' in request.POST:
+      print("Un tasto è stato premuto 'Indietro'")
+      return HttpResponseRedirect(reverse("azienda:welcome"))
+
     formpermessodaaggiungere = FormPermessoDaAggiungere(request.POST,permessi=data['listapermessiassegnabili'])
     if formpermessodaaggiungere.is_valid():
       print('formpermessodaaggiungere valido')
@@ -389,6 +393,10 @@ def editAZ(request):
       print("Un tasto è stato premuto 'AmministratoreButton'")
       return HttpResponseRedirect(reverse("amministratore:edit"))
 
+    if 'indietro' in request.POST:
+      print("Un tasto è stato premuto 'Indietro'")
+      return HttpResponseRedirect(reverse("azienda:welcome"))
+
     if 'AziendaDaAggiungereButton' in request.POST:
       print('un tasto è stato premuto AziendaDaAggiungereButton')
       formaziendadaaggiungere = FormAziendaDaAggiungere(request.POST,azienda=listaaziendatutte)
@@ -404,7 +412,7 @@ def editAZ(request):
       print("Un tasto è stato premuto 'SedeButton'")
       azienda = request.POST.get('SedeButton')
       request.session['EditAziendaId'] = azienda 
-      return HttpResponseRedirect(reverse("amministratore:editSEP"))
+      return HttpResponseRedirect(reverse("amministratore:editSE"))
 
     if 'PermessoButton' in request.POST:
       print("Un tasto è stato premuto 'PermessoButton")
@@ -505,6 +513,10 @@ def editAZP(request):
       print("Un tasto è stato premuto 'AmministratoreButton'")
       return HttpResponseRedirect(reverse("amministratore:edit"))
 
+    if 'AmministratoreAziendaButton' in request.POST:
+      print("Un tasto è stato premuto 'AmministratoreAziendaButton'")
+      return HttpResponseRedirect(reverse("amministratore:editAZ"))
+
     if 'PermessoDaAggiungereButton' in request.POST:
       print("Un tasto è stato premuto 'PermessoDaAggiungereButton'")
       formpermessodaaggiungere = FormPermessoDaAggiungere(request.POST,permessi=data['listapermessiassegnabili'])
@@ -514,6 +526,10 @@ def editAZP(request):
       else:
         print('errore formpermessodaaggiungere',formpermessodaaggiungere)
 
+    if 'indietro' in request.POST:
+      print("Un tasto è stato premuto 'Indietro'")
+      return HttpResponseRedirect(reverse("azienda:welcome"))
+
     if 'ConfermaCancellazionePermesso' in request.POST:
       print("Un tasto è stato premuto 'ConfermaCancellazionePermesso'")
       delAZP(azienda,amministratore,int(request.POST.get('ConfermaCancellazionePermesso')))
@@ -537,7 +553,7 @@ def editAZP(request):
 
   return render(request,'amministratore.edit.AZP.html',data)
 
-def editSEP(request):
+def editSE(request):
   ### edit diritti associati alla sede
   ### in questa sezione procediamo con l'assegnare o rimuovere i diritti di questo amministratore 
   ### per le sedi in elenco.
@@ -576,7 +592,7 @@ def editSEP(request):
     try:
       amministratore = Amministratore.objects.get(pk=amministratoreEditId)
     except Amministratore.DoesNotExist as dne:
-      return HttpResponseRedirect(reverse("amministratore:editSEP"))
+      return HttpResponseRedirect(reverse("amministratore:editSE"))
 
     print('amministratore',amministratore.id,amministratore.login,amministratore.nome)
   data['amministratore'] = amministratore
@@ -613,10 +629,20 @@ def editSEP(request):
       print("Un tasto è stato premuto 'AmministratoreButton'")
       return HttpResponseRedirect(reverse("amministratore:edit"))
 
+    if 'AmministratoreAziendaButton' in request.POST:
+      print("Un tasto è stato premuto 'AmministratoreAziendaButton'")
+      return HttpResponseRedirect(reverse("amministratore:editAZ"))
+
     if 'AmministratoreEditAZPButton' in request.POST:
       print("Un tasto è stato premuto 'AmministratoreEditAZPButton'")
       return HttpResponseRedirect(reverse("amministratore:editAZ"))
 
+    if 'PermessoButton' in request.POST:
+      print("Un tasto è stato premuto 'PermessoButton")
+      sede = request.POST.get('PermessoButton')
+      request.session['EditSedePermessoId'] = sede
+      return HttpResponseRedirect(reverse("amministratore:editSEP")) 
+
     if 'SedeConfermaCancellazionePermessoButton' in request.POST:
       print("un tasto è stato premuto 'SedeConfermaCancellazionePermessoButton'")
       sede = request.POST['SedeConfermaCancellazionePermessoButton']
@@ -678,6 +704,127 @@ def editSEP(request):
   data['dirittiSEDE'] = Permesso.objects.filter(classe='SED')
   print('dirittiSEDE',len(data['dirittiSEDE']))
 
+  return render(request,'amministratore.edit.SE.html',data)
+
+def editSEP(request):
+  ### edit diritti associati all sede.
+  ### in questa sezione procediamo con l'assegnare o rimuovere i diritti di questo amministratore 
+  ### per le aziende in elenco.
+
+  if not 'AdminId' in request.session:
+    return HttpResponseRedirect(reverse("login:start"))
+
+  ### funzioni esterne ###
+  d = DataDict()
+  data = d.getData()
+  data['NavBar']=True
+  data['ShowSelectAzienda'] = False
+  data['ShowSelectSede'] = False
+
+  define = Define(request)
+  data['admin'] = define.getAdmin()
+  data['azienda'] = define.getAzienda()
+  data['AziendaId'] = define.getAziendaId()
+  data['sede'] = define.getSede()
+  data['SedeId'] = define.getSedeId()
+  ### funzioni esterne fine ###
+
+  if 'AdminId' in request.session:
+    data['AdminId'] = request.session['AdminId']
+    admin = Amministratore.objects.get(pk=data['AdminId'])
+    data['admin'] = admin
+    print('admin',admin.id,admin.nome)
+    data['permessoSEP'] = getAMP(admin)[1]
+
+  amministratore = None
+  if 'AmministratoreEditId' in request.session:
+    amministratoreEditId = request.session.get('AmministratoreEditId')
+    try:
+      amministratore = Amministratore.objects.get(pk=amministratoreEditId)
+    except Amministratore.DoesNotExist as dne:
+      return HttpResponseRedirect(reverse("amministratore:edit"))
+
+  print('amministratore',amministratore.id,amministratore.login,amministratore.nome)
+  data['amministratore'] = amministratore
+
+  if 'EditSedePermessoId' in request.session:
+    sede = Sede.objects.get(pk=request.session.get('EditSedePermessoId'))
+    print('sede',sede.nome)
+    data['sedeOnWork'] = sede
+    data['permessoSEP'] = getSEP(sede,amministratore)[1]
+    print('PermessoSEP',data['permessoSEP'])
+
+  if 'paramm' in request.session and request.session['paramm']:
+    data['DONTSHOWDIRITTI']=True
+
+  print('amministratore',amministratore.id,amministratore.login,amministratore.nome)
+  data['amministratore'] = amministratore
+
+  ####################################
+  listadirittidisponibili= Permesso.objects.filter(Q(classe='SED')|Q(classe='UTE')|Q(classe='DOC'))
+
+  # diciamo che fatta cosi' mi pare una pecionata, ma funzionata. magari va ottimizzata un po'
+  print(type(listadirittidisponibili))
+  ldd = list()
+  for i in listadirittidisponibili:
+    ldd.append(i)
+  print(type(ldd))
+  print('*' * 20)
+  data['listapermessiassegnabili'] = list()
+  for i in ldd:
+    if i not in data['permessoSEP']:
+      data['listapermessiassegnabili'].append(i)
+  ##########################################
+
+  if request.method == 'POST':
+    print("qualcosa e' stato premuto")
+  
+    if 'AmministratoreReturnButton' in request.POST:
+      print("Un tasto è stato premuto 'AmministratoreReturnButton'")
+      return HttpResponseRedirect(reverse("amministratore:welcome"))
+
+    if 'AmministratoreButton' in request.POST:
+      print("Un tasto è stato premuto 'AmministratoreButton'")
+      return HttpResponseRedirect(reverse("amministratore:edit"))
+
+    if 'AmministratoreAziendaButton' in request.POST:
+      print("Un tasto è stato premuto 'AmministratoreAziendeButton'")
+      return HttpResponseRedirect(reverse("amministratore:editAZ"))
+
+    if 'AmministratoreSedeButton' in request.POST:
+      print("Un tasto è stato premuto 'AmministratoreAziendeButton'")
+      return HttpResponseRedirect(reverse("amministratore:editSE"))
+
+    if 'PermessoDaAggiungereButton' in request.POST:
+      print("Un tasto è stato premuto 'PermessoDaAggiungereButton'")
+      formpermessodaaggiungere = FormPermessoDaAggiungere(request.POST,permessi=data['listapermessiassegnabili'])
+      if formpermessodaaggiungere.is_valid():
+        print('listapermessidaaggiungere',formpermessodaaggiungere.cleaned_data.get('ListaPermessiDaAggiungere'))
+        setSEP(sede,amministratore,int(formpermessodaaggiungere.cleaned_data.get('ListaPermessiDaAggiungere')))
+      else:
+        print('errore formpermessodaaggiungere',formpermessodaaggiungere)
+
+    if 'ConfermaCancellazionePermesso' in request.POST:
+      print("Un tasto è stato premuto 'ConfermaCancellazionePermesso'")
+      delSEP(azienda,amministratore,int(request.POST.get('ConfermaCancellazionePermesso')))
+
+  data['permessoSEP'] = getSEP(sede,amministratore)[1]
+  ####################################
+  listadirittidisponibili= Permesso.objects.filter(Q(classe='SED')|Q(classe='UTE')|Q(classe='DOC'))
+
+  # diciamo che fatta cosi' mi pare una pecionata, ma funzionata. magari va ottimizzata un po'
+  print(type(listadirittidisponibili))
+  ldd = list()
+  for i in listadirittidisponibili:
+    ldd.append(i)
+  print(type(ldd))
+  print('*' * 20)
+  data['listapermessiassegnabili'] = list()
+  for i in ldd:
+    if i not in data['permessoSEP']:
+      data['listapermessiassegnabili'].append(i)
+  ##########################################
+
   return render(request,'amministratore.edit.SEP.html',data)
 
 '''

+ 7 - 23
azienda/views.py

@@ -37,7 +37,7 @@ def welcome(request):
         data['permesso'].append(t)
     if 'sede' in data:
       print('**** sede presente ****')
-      for t in getSEP(data['sede'],data['admin']):
+      for t in getSEP(data['sede'],data['admin'])[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
   print("Permessi Disponibili",data['permesso'])
@@ -252,7 +252,7 @@ def welcome(request):
         data['permesso'].append(t)
     if 'sede' in data:
       print('**** sede presente ****')
-      for t in getSEP(data['sede'],data['admin']):
+      for t in getSEP(data['sede'],data['admin'])[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
   print(data['permesso'])
@@ -287,7 +287,7 @@ def editAzienda(request):
         data['permesso'].append(t)
     if 'sede' in data:
       print('**** sede presente ****')
-      for t in getSEP(data['sede'],data['admin']):
+      for t in getSEP(data['sede'],data['admin'])[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
   print("Permessi Disponibili",data['permesso'])
@@ -440,7 +440,7 @@ def editAziendaPermesso(request):
         data['permesso'].append(t)
     if 'sede' in data:
       print('**** sede presente ****')
-      for t in getSEP(data['sede'],data['admin']):
+      for t in getSEP(data['sede'],data['admin'])[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
   print("Permessi Disponibili",data['permesso'])
@@ -543,7 +543,7 @@ def editSede(request):
         data['permesso'].append(t)
     if 'sede' in data:
       print('**** sede presente ****')
-      for t in getSEP(data['sede'],data['admin']):
+      for t in getSEP(data['sede'],data['admin'])[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
   print("Permessi Disponibili",data['permesso'])
@@ -715,7 +715,7 @@ def editSedePermesso(request):
       print("****")
       print('sede',sede)
       print('admin',data['admin'])
-      print(getSEP(sede,data['admin']))
+      print(getSEP(sede,data['admin'])[0])
       print("****") 
 
       formsedeamministratoresorgente = formSedeAmministratoreSorgente(request.POST)
@@ -724,22 +724,6 @@ def editSedePermesso(request):
         print('i dati inseriti sono validi')
       else:
         print('fail')
-      '''
-      listapermessidisponibili = getSEP(sede,data['admin'])[0]
-
-      print('listapermessidisponibili',listapermessidisponibili)
-      formsedepermessi = formSedePermessi(request.POST,amministratori=Amministratore.objects.all(),permessi=Permesso.objects.all())
-
-      if formaziendapermessi.is_valid():
-        print('formSedePermessi valida')
-        amministratore = formsedepermessi.cleaned_data.get('ListaAmministratori')
-        for p in listapermessidisponibili:
-          for a in amministratore:
-            try:
-              setSEP(sede,a,p)
-            except ValueError as ve:
-              print('errore in setSEP')
-      '''
 
     if 'CancellaSedePermessiButton' in request.POST:
       print('premuto "CancellaSedePermessiButton"')
@@ -792,7 +776,7 @@ def editAziendaDocumento(request):
         data['permesso'].append(t)
     if 'sede' in data:
       print('**** sede presente ****')
-      for t in getSEP(data['sede'],data['admin']):
+      for t in getSEP(data['sede'],data['admin'])[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
   print("Permessi Disponibili",data['permesso'])

+ 4 - 4
documento/views.py

@@ -183,8 +183,8 @@ def welcome(request,utente=None):
         data['permesso'].append(t)
         
     if 'sede' in data:
-      print('livello sede',getSEP(data['sede'],admin))
-      for t in getSEP(data['sede'],admin):
+      print('livello sede',getSEP(data['sede'],admin)[0])
+      for t in getSEP(data['sede'],admin)[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
     print('Stato permessi:',data['permesso'])
@@ -500,8 +500,8 @@ def azienda(request,utente=None):
         data['permesso'].append(t)
         
     if 'sede' in data:
-      print('livello sede',getSEP(data['sede'],admin))
-      for t in getSEP(data['sede'],admin):
+      print('livello sede',getSEP(data['sede'],admin)[0])
+      for t in getSEP(data['sede'],admin)[0]:
         if t not in data['permesso']:
           data['permesso'].append(t)
     print('Stato permessi:',data['permesso'])

+ 20 - 5
sicurezza/views.py

@@ -58,7 +58,7 @@ def getP(azienda=None,sede=None,amministratore=None,permesso=None):
         data.append(t)
     if sed:
       print('**** sede presente ****')
-      for t in getSEP(sed,amm):
+      for t in getSEP(sed,amm)[0]:
         if t not in data:
           data.append(t)
   print("getP Permessi:",data)
@@ -410,27 +410,42 @@ def getSEP(sede=None,amministratore=None,permesso=None):
 
   if not sed:
      print('sede non presente')
-     return []
+     return ([],[],{},)
 
   if not amm:
     print('amministratore non presente')
-    return []
+    return ([],[],{},)
 
   permessi = list()
+  oggettopermessi = list()
+  oggettoSEP = list()
 
   if not permesso:
     for p in sed.sep_set.all().filter(amministratore=amm):
       print(p.amministratore.nome,p.permesso.nome)
       permessi.append(p.permesso.nome)
+      oggettopermessi.append(p.permesso)
+      oggettoSEP.append(p)
   else:
     for p in sed.sep_set.all().filter(amministratore=amm).filter(permesso=per):
       print(p.amministratore.nome,p.permesso.nome)
       permessi.append(p.permesso.nome)
+      oggettopermessi.append(p.permesso)
+      oggettoSEP.append(p)
 
   print('permessi disponibili',len(permessi))
-  #for i in permessi: print(i,)
-  return permessi
+  return (permessi,oggettopermessi,oggettoSEP)
+
+  ####
+  for p in azi.azp_set.all().filter(amministratore=amm):
+    permessi.append(p.permesso.nome)
+    oggettoPermesso.append(p.permesso)
+    oggettoAZP.append(p)
 
+  print('permessi disponibili',len(permessi))
+  #for i in permessi: print(i,)
+  return (permessi,oggettoPermesso,oggettoAZP)
+  ####
 # riporta un permesso (generico) o tutti i permessi
 def getPermesso(permesso=None):
   if permesso:

BIN
static/upload/06316060968/RSTLSS85T443L750I/1738922491.6972039.saved


+ 2 - 10
utente/views.py

@@ -102,14 +102,10 @@ def welcome(request):
   for t in getAZP(data['AziendaId'],admin):
     if t not in data['permesso']:
       data['permesso'].append(t)
-  for t in getSEP(data['sede'],admin):
+  for t in getSEP(data['sede'],admin)[0]:
     if t not in data['permesso']:
       data['permesso'].append(t)
 
-  #print('permesso',getAMP(admin)[0])
-  #print('permesso_azienda',getAZP(data['AziendaId'],admin))
-  #print('permesso_sede',getSEP(data['sede'],admin))
-
   if request.method == 'POST':
     print('qualcuno ha premuto un tasto')
     if 'indietro' in request.POST:
@@ -203,14 +199,10 @@ def edit(request):
       data['permesso'].append(t)
   if 'sede' in data and data['sede']:
     print('sede presente:',sede)
-    for t in getSEP(data['sede'],admin):
+    for t in getSEP(data['sede'],admin)[0]:
       if t not in data['permesso']:
         data['permesso'].append(t)
 
-  #rint('permesso',getAMP(admin)[0])
-  #print('permesso_azienda',getAZP(data['AziendaId'],admin))
-  #print('permesso_sede',getSEP(data['sede'],admin))
-
   if 'UserId' in request.session:
     data['UserId'] = request.session['UserId']