Pārlūkot izejas kodu

ulteriori modifiche amministratore e aggiunte nella visualizzazione utente

mauro 9 mēneši atpakaļ
vecāks
revīzija
0d9d8c34fc

+ 5 - 0
amministratore/forms.py

@@ -37,6 +37,11 @@ class FormCancellaPermessi(forms.Form):
     forms.Form.__init__(self,*args,**kwargs)
     self.fields['ConfermaCancellazionePermesso'] = forms.IntegerField(required=True)
 
+class FormAziendaSelect(forms.Form):
+  def __init__(self,*args,**kwargs):
+    forms.Form.__init__(self,*args,**kwargs)
+    self.fields['AziendaSelect'] = forms.IntegerField(required=True)
+
 class FormCancellaPermessiXAmministratore(forms.Form):
   def __init__(self,*args,**kwargs):
     forms.Form.__init__(self,*args,**kwargs)

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

@@ -0,0 +1,38 @@
+<div class="tab-pane fade {% if pane == 'Amministratore' %}show active{% endif %}" id="amministratore-pane" role="tabpanel" aria-labelledby="amministratore-tab" tabindex="0">
+  <div class="error">
+  <!-- errori form sede -->
+  {% if sede.errors %}
+    <div class="alert alert-danger">
+    {{ sede.errors }}
+    </div>
+  {% endif %}
+  <!-- fine zona errori -->
+  </div>
+
+  <!-- profilo sede -->
+  <form name='AmministratoreEdit' method='post'>
+    {% csrf_token %}
+    <div class='form-group'>
+      <label for="login">Login Amministratore</label>
+      <input type='text' class='form-control form-control-lg' name='login' id='login' value='{{ amministratore.login.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
+    </div>
+    <div class='form-group'>
+      <label for="nome">Nome</label>
+      <input type='text' class='form-control form-control-lg' name='nome' id='nome' value='{{ amministratore.nome.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
+    </div>
+    <div class='form-group'>
+      <label for="mail">Email</label>
+      <input type='text' class='form-control form-control-lg' name='mail' id='mail' value='{{ amministratore.mail.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
+    </div>
+    <div class='form-group'>
+      <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 %}>
+      <input type='submit' class="btn btn-primary" name="indietro" value="Indietro">
+    </div>
+  </form>
+</div>

+ 106 - 0
amministratore/templates/amministratore.edit.azienda.html

@@ -0,0 +1,106 @@
+<div class="tab-pane fade {% if pane == 'Azienda' %}show active{% endif %}" id="azienda-pane" role="tabpanel" aria-labelledby="azienda-tab" tabindex="0">
+  <div class="card">
+    <div class="card-header">
+      Lista Aziende 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'>P.Iva</th>
+	    <th scope='col'>S</th>
+	    <th scope='col'>E</th>
+	    <th scope='col'>D</th>
+          </tr>
+          </thead>
+          <tbody>
+            {% for a in listaazienda %}
+              <tr>
+                <td> {{ a.nome }} </td>
+                <td> {{ a.partitaiva }} </td>
+		<form name="FormAziendaSelect" method="POST">
+                  {% csrf_token %}
+    		  <td><button type='submit' class='btn btn-primary' name="AziendaSelect" value='{{ a.id }}'>S</button></td>
+		</form>
+		<td><button type='button' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#ConfirmUpdateModal{{ a.id }}' value='{{ a.id }}'>E</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="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-footer">
+                  <form name="UpdatePermessoForm" method="POST">
+                    {% csrf_token %}
+                    <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="AziendaConfermaCancellazionePermesso" 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='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.nome }} - {{ lp.partitaiva}}</option>
+                    {% endfor %}
+                </select>
+	      </td>
+	      <td>
+		<button type='submit' name="AziendaDaAggiungereButton" class='btn btn-primary'>Aggiungi</button>
+	      </td>
+              </form>
+	    </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </div>
+</div>

+ 16 - 234
amministratore/templates/amministratore.edit.html

@@ -1,241 +1,23 @@
 {% extends 'base.html' %}
 
 {% block body %}
-  <!-- errori form sede -->
-  {% if sede.errors %}
-    <div class="alert alert-danger">
-    {{ sede.errors }}
-    </div>
-  {% endif %}
-  <!-- fine zona errori -->
 
-  <!-- profilo sede -->
-  <form name='AmministratoreEdit' method='post'>
-    {% csrf_token %}
-
-    <div class='form-group'>
-      <label for="login">Login Amministratore</label>
-      <input type='text' class='form-control form-control-lg' name='login' id='login' value='{{ amministratore.login.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
-    </div>
-    <div class='form-group'>
-      <label for="nome">Nome</label>
-      <input type='text' class='form-control form-control-lg' name='nome' id='nome' value='{{ amministratore.nome.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
-    </div>
-   <div class='form-group'>
-     <label for="mail">Email</label>
-      <input type='text' class='form-control form-control-lg' name='mail' id='mail' value='{{ amministratore.mail.value }}' {% if admin.sola_lettura %}readonly{% endif %}>
-    </div>
-    <div class='form-group'>
-     <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 %}>
-      <input type='submit' class="btn btn-primary" name="indietro" value="Indietro">
-    </div>
-
-  </form>
-	
+<!-- Nav tabs -->
+<div class="button-group" role="tablist">
+  <button class="btn btn-primary active" id="amministratore-tab" data-bs-toggle="tab" data-bs-target="#amministratore-pane" type="button" role="tab" aria-controls="amministratore-pane" aria-selected="true">Amministratore</button>
+  <button class="btn btn-primary" id="permesso-tab" data-bs-toggle="tab" data-bs-target="#permesso-pane" type="button" role="tab" aria-controls="permesso-pane" aria-selected="true">Permessi</button>
+  <button class="btn btn-primary" id="azienda-tab" data-bs-toggle="tab" data-bs-target="#azienda-pane" type="button" role="tab" aria-controls="azienda-pane" aria-selected="true">Aziende</button>
+  <button class="btn btn-primary" id="zona-tab" data-bs-toggle="tab" data-bs-target="#zona-pane" type="button" role="tab" aria-controls="zona-pane" aria-selected="true">Zone</button>
+  <button class="btn btn-outline-primary" id="return-tab" data-bs-toggle="tab" data-bs-target="#return-pane" type="button" role="tab" aria-controls="return-pane" aria-selected="true"><a href="{% url 'amministratore:welcome' %}">Indietro</a></button>
+</div>
+<!-- end nav tabs -->
+<div>&nbsp;</div>
+<!-- Tab panes -->
+<div class="tab-content" id='mycontent'>
+  {% include 'amministratore.edit.amministratore.html' %}
+  {% include 'amministratore.edit.permesso.html' %}
+  {% include 'amministratore.edit.azienda.html' %}
+  {% include 'amministratore.edit.sede.html' %}
 </div>
-{% endblock %}
-
-{% block bodybottom %}
-  <!-- card affiancate -->
-  <br>
-    <div class="card">
-      <div class="card-header">
-        Lista dei permessi generici assegnati all'utente <b> {{ amministratore.nome.value }}</b>:
-      </div>
-      <div class="container">
-      <div class="form-group">
-        <div class="col-xs-5">
-          <select name="from" class="form-control">
-          {% for a in listapermessomancante %}
-            <option value="{{ a.permesso.id }}"> {{ a.permesso.nome }}</option>
-          {% endfor %} 
-          </select>
-        </div>
-      <div class="col-xs-2">
-         <button type="input"  class="btn btn-primary"> >> </button>
-      </div> 
-      <div class="col-xs-5">
-        <select name="to" class="form-control">
-          {% for a in listapermesso %}
-            <option value="{{ a.permesso.id }}">{{ a.permesso.nome }}</option>
-          {% endfor %}
-        </select>
-      </div>
-    </div>
-   </div>
-    <br>
-    <!-- fine card affiancate -->
-
-    <div class="card">
-      <div 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 Diritto</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="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>
-          <!-- end modal -->
-            {% endfor %}
-              <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'>Aggiungi</button>
-	      </td>
-              </form>
-	    </tr>
-
-          </tbody>
-        </table>
-      </li>
-      </ul>
-    </div>
-
-  <br>
-    <div class="card">
-      <div class="class="card-header">
-        Lista Aziende 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'>P.Iva</th>
-	    <th scope='col'>E</th>
-	    <th scope='col'>D</th>
-          </tr>
-          </thead>
-          <tbody>
-            {% for a in listaazienda %}
-              <tr>
-                <td> {{ a.nome }} </td>
-                <td> {{ a.partitaiva }} </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="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-footer">
-                  <form name="UpdatePermessoForm" method="POST">
-                    {% csrf_token %}
-                    <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='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.nome }} - {{ lp.partitaiva}}</option>
-                    {% endfor %}
-                </select>
-	      </td>
-	      <td>
-		<button type='submit' name="AziendaDaAggiungereButton" class='btn btn-primary'>Aggiungi</button>
-	      </td>
-              </form>
-	    </tr>
-          </tbody>
-        </table>
-      </li>
-      </ul>
-    </div>
 {% endblock %}

+ 68 - 0
amministratore/templates/amministratore.edit.permesso.html

@@ -0,0 +1,68 @@
+<div class="tab-pane fade {% if pane == 'Permesso' %}show active{% endif %}" id="permesso-pane" role="tabpanel" aria-labelledby="permesso-tab" tabindex="1">
+  <div class="card">
+    <div 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 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'>Aggiungi</button>
+  	        </td>
+              </form>
+	    </tr>
+
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </div>
+</div>

+ 99 - 0
amministratore/templates/amministratore.edit.sede.html

@@ -0,0 +1,99 @@
+<div class="tab-pane fade {% if pane == 'Sede' %}show active{% endif %}" id="zona-pane" role="tabpanel" aria-labelledby="zona-tab" tabindex="0">
+  <div class="card">
+    <div class="card-header">
+      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'>E</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" name="sededaaggiungere" id="sededaaggiungere">
+  		    <option value="">-- Scegli 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>
+              </form>
+	    </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </div>
+</div>

+ 17 - 2
amministratore/views.py

@@ -110,6 +110,7 @@ def edit(request):
   data = dict()
   data['HeaderTitle'] = getConfig('HeaderTitle')
   data['Navbar']=False
+  data['pane'] = "Amministratore"
 
   if 'AdminId' in request.session:
     data['AdminId'] = request.session['AdminId']
@@ -175,7 +176,7 @@ def edit(request):
         amp = AMP.objects.get(pk=permessodarimuovere)
         amp.delete()
 
-    if 'ConfermaCancellazionePermesso' in request.POST:
+    if 'AziendaConfermaCancellazionePermesso' in request.POST:
       formcancellapermesso = FormCancellaPermessi(request.POST)
       if formcancellapermesso.is_valid():
         print('form valida formcancellapermesso')
@@ -228,7 +229,21 @@ def edit(request):
         print('permesso base',getPermesso("AMMINISTRATORE").nome)
         azp.save()
         print(azp.id)
-      
+
+    if 'AziendaSelect' in request.POST:
+      print('Richiesta Selezione Azienda')
+      formaziendaselect = FormAziendaSelect(request.POST)
+      if formaziendaselect.is_valid():
+        print('FormAziendaSelect valido')
+        aziendaselect = formaziendaselect.cleaned_data.get('AziendaSelect')
+        # una volta ottenuta l'azienda, selezioniamo le sedi:
+        data['listasede'] =  Azienda.objects.get(pk=aziendaselect).sede_set.all()
+        print("lista sede",len(data['listasede']))
+        data['pane']='Sede'
+
+    if 'SedeConfermaCancellazionePermesso' in request.POST:
+      print('Richiesta cancellazione Permessi Sede')
+
   tmp = dict()
   tmp['nome'] = amministratore.nome
   tmp['login'] = amministratore.login

+ 7 - 5
utente/templates/utente.edit.html

@@ -13,11 +13,13 @@ function toggle(source) {
 
 {% block body %}
 <!-- Nav tabs -->
-<div class="button-group">
-  <button class="btn btn-primary active" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile-pane" type="button" role="tab" aria-controls="profile-pane" aria-selected="true">Profilo</button>
-  <button class="btn btn-primary" id="document-tab" data-bs-toggle="tab" data-bs-target="#document-pane" type="button" role="tab" aria-controls="document-pane" aria-selected="true">Documenti</button>
-  <button class="btn btn-primary" id="logger-tab" data-bs-toggle="tab" data-bs-target="#logger-pane" type="button" role="tab" aria-controls="logger-pane" aria-selected="true">attivita</button>
-  <button class="btn btn-outline-primary" id="return-tab" data-bs-toggle="tab" data-bs-target="#return-pane" type="button" role="tab" aria-controls="return-pane" aria-selected="true"><a href="{% url 'utente:welcome' %}">Indietro</a></button>
+<div class="button-group" role="tablist">
+  <button type='button' class="btn btn-primary active" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile-pane" role="tab" aria-controls="profile-pane" aria-selected="true">Profilo</button>
+  <button type='button' class="btn btn-primary" id="document-tab" data-bs-toggle="tab" data-bs-target="#document-pane" role="tab" aria-controls="document-pane" aria-selected="true">Documenti</button>
+  <button type='button' class="btn btn-primary" id="logger-tab" data-bs-toggle="tab" data-bs-target="#logger-pane" role="tab" aria-controls="logger-pane" aria-selected="true">attivita</button>
+  <button type='button' class="btn btn-outline-primary" id="return-tab" data-bs-toggle="tab" data-bs-target="#return-pane" role="tab" aria-controls="return-pane" aria-selected="true"><a href="{% url 'utente:welcome' %}">Indietro</a></button>
+</div>
+<div class='text-danger'>
   {% if mailnonvalida %}
     <div class='text-center h5'>
       <b>Attenzione, la mail non risulta inserita/corretta.</b>

+ 6 - 6
utente/templates/utente.welcome.html

@@ -14,7 +14,7 @@ function toggle(source) {
 {% block body %}
   <form name="inputUtente" method="POST">
   <div class='form-control'>
-    {% if "UTENTE.CREA" in permesso_sede or "UTENTE.CREA" in permesso_azienda %}
+    {% if "UTENTE.CREA" in permesso %}
     <button type='submit' class="btn btn-primary" name='scelta' value='Nuovo Dipendente'>Nuovo Dipendente</button>
       <button type='button' class="btn btn-primary" name='TastoCaricaIndici' data-bs-toggle='modal' data-bs-target='#CaricaIndiceModal'>Carica Lista Nuovi Dipendenti</button>
       <button type='submit' class="btn btn-primary" name='ScaricaSelezionati' value="Scarica Selezionati"/>Scarica Selezionati</button>
@@ -29,14 +29,14 @@ function toggle(source) {
   <table class='table table-striped table-hover'>
     <thead class='thead-dark'>
       <tr>
-        {% if "UTENTE.CREA" in permesso_sede or "UTENTE.CREA" in permesso_azienda %}<th scope='col'>*</th>{% endif %}
+        {% if "UTENTE.CREA" in permesso %}<th scope='col'>*</th>{% endif %}
         <th scope='col'>Nome</th>
         <th scope='col'>Codice Fiscale</th>
         <th scope='col'>Sede</th>
         <th scope='col'>Data di Nascita</th>
 	<th scope='col'>Luogo di Nascita</th>
 	<th scope='col'>documenti</th>
-        {% if "UTENTE.EDIT" in permesso_sede or "UTENTE.EDIT" in permesso_azienda %}
+        {% if "UTENTE.EDIT" in permesso %}
           <th scope='col'>Mail</th>
   	  <th scope='col'>Pin</th>
         {% endif %}
@@ -48,7 +48,7 @@ function toggle(source) {
       {% csrf_token %}
       {% for uu in utenti %}
         <tr>
-          {% if "UTENTE.EDIT" in permesso_sede or "UTENTE.EDIT" in permesso_azienda %}
+          {% if "UTENTE.EDIT" in permesso %}
             <td> <button type='submit' class='btn btn-primary ' name='scelta' value='{{ uu.id }}'>Edit</button></td>
           {% endif %}
           <td> {{ uu.nome }} </td>
@@ -57,7 +57,7 @@ function toggle(source) {
 	  <td> {{ uu.datanascita|date:'d/m/Y' }} </td>
 	  <td> {{ uu.luogonascita }} </td>
 	  <td> <a href='{% url 'documento:welcome' uu.id %}'>{{ uu.documenti }}</a></td>
-          {% if "UTENTE.EDIT" in permesso_sede or "UTENTE.EDIT" in permesso_azienda %}
+          {% if "UTENTE.EDIT" in permesso %}
             <td> {{ uu.mail }} </td>
             <td> {{ uu.pin }} </td>
           {% endif %}
@@ -71,7 +71,7 @@ function toggle(source) {
   </table>
   </form>
 
-  {% if "UTENTE.EDIT" in permesso_sede or "UTENTE.EDIT" in permesso_azienda %}
+  {% if "UTENTE.EDIT" in permesso %}
   <!-- Modal -->
   <div class="modal fade" id="CaricaIndiceModal" tabindex="-1" role="dialog" aria-labelledby="CaricaIndiceLabel" aria-hidden="true">
     <div class="modal-dialog" role="document">

+ 24 - 16
utente/views.py

@@ -54,13 +54,17 @@ def welcome(request):
 
   data['numeroRecordAttuali'] = len(data['utenti'])
 
-  data['permesso_amministratore'] = getAMP(admin)[0]
-  data['permesso_azienda'] = getAZP(data['AziendaId'],admin)
-  data['permesso_sede'] = getSEP(data['sede'],admin)
-
-  print('permesso_amministratore',data['permesso_amministratore'])
-  print('permesso_azienda',data['permesso_azienda'])
-  print('permesso_sede',data['permesso_sede'])
+  data['permesso'] = getAMP(admin)[0]
+  for t in getAZP(data['AziendaId'],admin):
+    if t not in data['permesso']:
+      data['permesso'].append(t)
+  for t in getSEP(data['sede'],admin):
+    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')
@@ -72,14 +76,14 @@ def welcome(request):
     if 'indietro' in request.POST:
       return HttpResponseRedirect(reverse("azienda:welcome"))
 
-    if "UTENTE.CREA" in data['permesso_sede'] or "UTENTE.CREA" in data['permesso_azienda']:
+    if "UTENTE.CREA" in data['permesso']:
       if 'scelta' in request.POST:
         scelta = request.POST['scelta']
         request.session['UserEditId'] = scelta
         print('scelta effettuata',scelta)
         return HttpResponseRedirect(reverse("utente:edit"))
   
-    if "UTENTE.CREA" in data['permesso_sede'] or "UTENTE.CREA" in data['permesso_azienda']:
+    if "UTENTE.CREA" in data['permesso']:
       if 'CaricaIndice' in request.POST:
         print('request',request.POST)
         print('files',request.FILES)
@@ -152,13 +156,17 @@ def edit(request):
       print("non esiste")
     data['sede'] = sede
 
-  data['permesso_amministratore'] = getAMP(admin)[0]
-  data['permesso_azienda'] = getAZP(data['AziendaId'],admin)
-  data['permesso_sede'] = getSEP(sede,admin)
-
-  print('permesso_amministratore',data['permesso_amministratore'])
-  print('permesso_azienda',data['permesso_azienda'])
-  print('permesso_sede',data['permesso_sede'])
+  data['permesso'] = getAMP(admin)[0]
+  for t in getAZP(data['AziendaId'],admin):
+    if t not in data['permesso']:
+      data['permesso'].append(t)
+  for t in getSEP(data['sede'],admin):
+    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 'UserId' in request.session:
     data['UserId'] = request.session['UserId']