Procházet zdrojové kódy

continua la saga della gestione amministratori

mauro před 9 měsíci
rodič
revize
72e79b40b8

+ 41 - 0
amministratore/templates/amministratore.welcome.html

@@ -5,6 +5,7 @@
   <div class='form-control'>
     {% if "AMMINISTRATORE.CREA" in permesso %}
       <input type='submit' class="btn btn-primary" name='sceltanuovo' value='Nuovo Amministratore'>
+      <button type='button' class="btn btn-primary" name='TastoCaricaIndici' data-bs-toggle='modal' data-bs-target='#CaricaIndiceModal'>Carica Lista Nuovi Dipendenti</button>
     {% endif %}
     <input type='submit' class="btn btn-primary" name="indietro" value="Indietro">
   </div>
@@ -89,6 +90,46 @@
 {% endblock %}
 
 {% block bodybottom %}
+  {% if "AMMINISTRATORE.CREA" 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">
+      <div class="modal-content">
+             <form name='formCaricaIndice' method='POST' enctype='multipart/form-data'>
+               {% csrf_token %}
+               <div class="modal-header">
+                <h5 class="modal-title" id="CaricaIndiceLabel">Carica Elenco Dipendenti</h5>
+                  <span aria-hidden="true">&times;</span>
+                </button>
+               </div>
+               <div class="modal-body">
+                 Caricamento Lista Dipendenti<br>
+                 Formato File CSV - obbligatorio <br>
+                 Separatore: ';' - prima riga: "Nome colonna".</br>
+                 <table class='table table-striped table-hover'>
+                   <tbody>
+                     <tr>
+                       <td>Identificativo SEDE</td>
+		       <td>Nome Sede</td>
+                     </tr>
+                   </tbody>
+                 </table><br>
+                 <label for='indice'>Elenco Amministratori:&nbsp;</label>
+                 <input type='file' name='indice' id='indice' value='' accept='text/csv'>
+               </div>
+               <div class="modal-footer">
+                 <button type="submit" name="CaricaIndice" value='Carica Lista' class="btn btn-primary">Carica Li
+sta Dipendenti</button>
+                 <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Annulla</button>
+               </div>
+             </form>
+           </div>
+         </div>
+       </div>
+     </div>
+     <!-- end modal -->
+   {% endif %}
   <div><br><br></div>
 
 

+ 41 - 5
amministratore/views.py

@@ -17,19 +17,54 @@ def welcome(request):
   ### 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()
+  print('cazzo cazzo')
   ### funzioni esterne fine ###
 
-  #AdminId = request.session['AdminId']
-  #print('AdminId',AdminId)
-
+  ### permessi inizio ###
   data['permesso'] = getAMP(data['admin'])[0]
-  data['permesso_amministratore'] = getAMP(data['admin'])[0]
-  
+  print("******",data['azienda'])
+  if 'azienda' in data:
+    print('**** azienda presente ****')
+    for t in getAZP(data['azienda'],data['admin'])[0]:
+      if t not in data['permesso']:
+        data['permesso'].append(t)
+    if 'sede' in data:
+      print('**** sede presente ****')
+      for t in getSEP(data['sede'],data['admin']):
+        if t not in data['permesso']:
+          data['permesso'].append(t)
+  print('permessi assegnati:',data['permesso'])
+  ### permessi fine ###
+
+  '''
+  ### ricerca delle aziende valide per questo amministratore 
+  assegnazioneazienda = listaAZP(data['admin'])[0]
+  print('assegnazioneazienda',len(assegnazioneazienda))
+  if len(assegnazioneazienda) == 1:
+    ### c'e' una sola azienda, 
+    print(type(assegnazioneazienda[0]))
+    azienda = Azienda.objects.get(pk=assegnazioneazienda[0].id)
+    data['azienda'] = azienda
+    request.session['AziendaId'] = azienda.id
+    print("Singola Azienda",azienda.nome)
+
+  ### lista delle sedi valida per questo amministratore
+  assegnazionesede=None
+  if data['azienda']:
+    assegnazionesede = listaSEP(data['admin'],data['azienda'],"SEDE")
+    print("assegnazionesede",len(assegnazionesede))
+  '''
+
   amministratorelista = Amministratore.objects.all()
   data['amministratorelista'] = amministratorelista
   print(len(amministratorelista))
@@ -158,6 +193,7 @@ def edit(request):
         amministratore.save()
         print('id amministratore salvato/nuovo',amministratore.id,":",amministratore.nome)
         request.session['AmministratoreEditId'] = amministratore.id
+       
         return HttpResponseRedirect(reverse('amministratore:welcome'))
 
     if 'ConfermaCancellazionePermessoXAmministratore' in request.POST:

+ 2 - 2
azienda/views.py

@@ -29,7 +29,7 @@ def welcome(request):
   print("******",data['azienda'])
   if 'azienda' in data:
     print('**** azienda presente ****')
-    for t in getAZP(data['azienda'],data['admin']):
+    for t in getAZP(data['azienda'],data['admin'])[0]:
       if t not in data['permesso']:
         data['permesso'].append(t)
     if 'sede' in data:
@@ -195,7 +195,7 @@ def welcome(request):
   print("******",data['azienda'])
   if 'azienda' in data:
     print('**** azienda presente ****')
-    for t in getAZP(data['azienda'],data['admin']):
+    for t in getAZP(data['azienda'],data['admin'])[0]:
       if t not in data['permesso']:
         data['permesso'].append(t)
     if 'sede' in data:

+ 34 - 0
snippets/load.py

@@ -0,0 +1,34 @@
+from sicurezza.views import *
+lista=[]
+lista.append('store-3103')
+lista.append('store-3104')
+lista.append('store-3109')
+lista.append('store-3111')
+lista.append('store-3120')
+lista.append('store-3124')
+lista.append('store-3134')
+lista.append('store-3136')
+lista.append('store-3166')
+lista.append('store-3207')
+
+for l in lista:
+    a = None
+    try:
+      a = Amministratore.objects.get(login=l)
+      print("Trovato:",a.login)
+    except Amministratore.DoesNotExist as dne:
+      print(r"{l} non trovato")
+
+    if a:
+      st=None
+      try:
+        ide = l.split('-')[1]
+        st = Sede.objects.get(identificativo=ide)
+      except Sede.DoesNotExist as dne:
+        print(r"Sede {ide} non trovata")
+      if st:
+          print('st:',st.nome)
+          setSEP(st,a,"SEDE")
+          setSEP(st,a,"DOCUMENTO")
+          setSEP(st,a,"UTENTE")
+          setAZP(st.azienda,a,"AZIENDA")

+ 0 - 3
static/templates/base.html

@@ -99,9 +99,6 @@
 <!-- blocco info generali -->
 <div class='container'>
     {% block top %}
-    <div class='form-outline mb-5 text-center h2'>
-           {{ HeaderTitle }}
-    </div>
     <div class='form-outline mb-2 text-center h3'>
 	    {% if admin %} {{ admin.nome }} {% endif %}
     </div>

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

@@ -83,7 +83,7 @@ function toggle(source) {
   </table>
   </form>
 
-  {% if "UTENTE.EDIT" in permesso %}
+  {% if "UTENTE.CREA" 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">