Explorar o código

inizio modifiche sezione amministrazione/sedi

Mauro hai 7 meses
pai
achega
ab439e7d25

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

@@ -39,7 +39,7 @@
                 <td> {{ a.nome }} </td>
                 <td> {{ a.partitaiva }} </td>
                   {% csrf_token %}
-    		  <td><button type='submit' class='btn btn-primary' name="AziendaSelect" value='{{ a.id }}'>S</button></td>
+    		  <td><button type='submit' class='btn btn-primary' name="SedeButton" value='{{ a.id }}'>S</button></td>
 		<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>

+ 119 - 0
amministratore/templates/amministratore.edit.SEP.html

@@ -0,0 +1,119 @@
+{% 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 Aziende Autorizzate
+  </div> 
+  <div>
+  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 operazionie.
+  </div>
+  <form name='sedepermessiform' 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'>P.Iva</th>
+	    <th scope='col'>S</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>
+                  {% csrf_token %}
+    		  <td><button type='submit' class='btn btn-primary' name="SedeSelect" value='{{ a.id }}'>S</button></td>
+		<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">
+                  <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>
+                </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">
+                    {% 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>
+                </div>
+              </div>
+            </div>
+          <!-- end modal -->
+            {% endfor %}
+
+	    <tr>
+                {% 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>
+	    </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="AmministratoreReturnButton" class="btn btn-primary" value="Esci">
+    <div>
+    </form>
+{% endblock %}

+ 1 - 0
amministratore/urls.py

@@ -6,6 +6,7 @@ urlpatterns = [
   path('welcome',views.welcome,name='welcome'),
   path('edit',views.edit,name='edit'),
   path('editAZP',views.editAZP,name='editAZP'),
+  path('editSEP',views.editSEP,name="editSEP"),
   path('editAmministratore',views.editAmministratore,name='editAmministratore'),
 ]
 

+ 70 - 0
amministratore/views.py

@@ -285,8 +285,78 @@ def editAZP(request):
       print("Un tasto è stato premuto 'AmministratoreButton'")
       return HttpResponseRedirect(reverse("amministratore:edit"))
 
+    if 'SedeButton' in request.POST:
+      print("Un tasto è stato premuto 'SedeButton'")
+      azienda = request.POST.get('SedeButton')
+      request.session['EditAziendaId'] = azienda 
+      return HttpResponseRedirect(reverse("amministratore:editSEP"))
+
   return render(request,'amministratore.edit.AZP.html',data)
 
+def editSEP(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.
+
+  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 not 'EditAziendaId' in request.session:
+    HttpResponseRedirect(reverse("amministratore:editAZP"))
+
+  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['permesso'] = getAMP(admin)[0]
+
+  amministratore = None
+  if 'AmministratoreEditId' in request.session:
+    amministratoreEditId = request.session.get('AmministratoreEditId')
+    try:
+      amministratore = Amministratore.objects.get(pk=amministratoreEditId)
+    except Amministratore.DoesNotExist as dne:
+      amministratore = Amministratore()
+      amministratore.pin = str(randint(100000,999999))
+    print('amministratore',amministratore.id,amministratore.nome)
+
+  azienda = Azienda.objects.get(pk=request.session.get('EditAziendaId'))
+  listasedetutte = azienda.sede_set.all()
+
+  if amministratore: 
+    data['listasede'] = listaSEP(amministratore)
+    data['listasedediff'] = list(set(listasedetutte)-set(data['listasede']))
+  else:
+    data['listasedediff'] = list(set(listasedetutte))
+
+  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"))
+
+  return render(request,'amministratore.edit.SEP.html',data)
 
 '''
     if 'ConfermaCancellazionePermessoXAmministratore' in request.POST: