浏览代码

revisionato sistema di upload

mauro 9 月之前
父节点
当前提交
ac735a291b

+ 5 - 0
documento/forms.py

@@ -20,10 +20,15 @@ class AdminUpload(forms.Form):
   def __init__(self,*args,**kwargs):
     forms.Form.__init__(self,*args,**kwargs)
     self.fields['allegati'] = MultipleFileField(required=False)
+    # descrizione da applicare a tutti i file caricati
     self.fields['descrizione'] = forms.CharField(required=False)
+    # il file viene caricato e assegnato a tutti gli utenti a cui si fa riferimento (sede/azienda)
     self.fields['pertutti'] = forms.BooleanField(required=False)
     self.fields['comunicazione'] = forms.BooleanField(required=False)
+    # ignora le aziende e cerca i codici fiscali ovunque (sconsigliato per grandi repository)
     self.fields['ignoraAzienda'] = forms.BooleanField(required=False)
+    # come sopra ma solo all'interno dell'azienda di riferimento
+    self.fields['ignoraSede'] = forms.BooleanField(required=False)
 
 class DeleteOldDocuments(forms.Form):
   def __init(self,*args,**kwargs):

+ 60 - 20
documento/managefile.py

@@ -28,8 +28,9 @@ import os
 # inoltre devo aver fatto qualche casino oggi 9.8.24 con i copia e incolla. ho dovuto rivedere tutto il file
 # il terrore si impossessa di me. sta storia del cvs non e' esattamente chiara
 
+
+# questo blocco rimuove fisicamente il file prima della sua rimozione logica nel db
 def delete_file(documento):
-  # questo blocco rimuove fisicamente il file prima della sua rimozione logica nel db
   file_path = os.path.join(settings.BASE_DIR,getConfig('DocPath'),documento.utente.azienda.partitaiva,documento.utente.codicefiscale,documento.storage)
   print('Path completa:',file_path)
   if os.path.isfile(file_path):
@@ -39,6 +40,7 @@ def delete_file(documento):
     except OSError as ose:
       print('errore nella rimozione del file:',ose)
 
+# impacchetta il file e procede a fornire il file via web
 def download_file(request,uid):
     utente = Utenti.objects.get(pk=uid)
     file_path = os.path.join(settings.BASE_DIR,getConfig('DocPath'),documento.utente.azienda.partitaiva,documento.utente.codicefiscale,utente.storage)
@@ -64,16 +66,18 @@ def download_file(request,uid):
     response = FileResponse(open(file_path,'rb'),content_type='application/pdf',as_attachment=False)
     #response['Content-Disposition'] = "attachment; filename=%s" % u.documento
     return response
-  
+
+# upload file
+# procedura singolo file per singolo utente
 def upload_file(uploaded_file,utente,originale=False):
-  '''
-  caricamento files
-  '''
   stored_file = ''.join((str(time.time()),'.saved'))
   fl_path = os.path.join(settings.BASE_DIR,getConfig('DocPath'))
   print('nome file',uploaded_file.name,stored_file)
 
+  #modifico il file per dire alla funzione superiore se il file e' stato caricato o meno
+
   nomefile=None
+
   if originale:
     nomefile = uploaded_file.name
   else:
@@ -87,26 +91,32 @@ def upload_file(uploaded_file,utente,originale=False):
   # utente.codicefiscale (prima era "record" e mi sono deciso a cambiarlo)
 
   try:
-    print(os.path.join(fl_path,utente.azienda.partitaiva))
+    print('posizione partitaiva',os.path.join(fl_path,utente.azienda.partitaiva))
     os.mkdir(os.path.join(fl_path,utente.azienda.partitaiva))
   except FileExistsError as fee:
-    print(os.path.join(fl_path,utente.azienda.partitaiva),"esistente")
+    print('posizione partitaiva',os.path.join(fl_path,utente.azienda.partitaiva),"esistente")
+
   try:
+    print("posizione partitaiva codicefiscale",os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale))
     os.mkdir(os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale))
   except FileExistsError as fee:
-    print(os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale),"esistente")
+    print("posizione partitaiva codicefiscale",os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale),"esistente")
 
   with open(os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale,nomefile),'wb+') as d:
     for chunk in uploaded_file.chunks():
       d.write(chunk)
 
   if originale:
+    # viene richiesto il file originale piuttosto cheil file codificato con il timing
+    print("viene restituito il file originale",os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale,nomefile))
     return os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale,nomefile)
+
+  print("viene restituito il file rinominato",os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale,nomefile))
   return stored_file
 
+# caricamento file indice (gestito in modo diverso)
 def upload_file_indice(uploaded_file):
-  # caricamento file indice (gestito in modo diverso)
-
+  
   stored_file = ''.join((str(time.time()),'.saved'))
   fl_path = os.path.join(settings.BASE_DIR,getConfig('DocPath'),getConfig('DocPathIndex'))
   print('nome file',uploaded_file.name,stored_file)
@@ -125,11 +135,16 @@ def upload_file_indice(uploaded_file):
 
   return stored_file
 
-def associafile_a_utente(singolodocumento,request,utente,azienda=None,sede=None,descrizione=None,amministratore=None,listaok=None,listanotok=None,pertutti=False):
+# il file caricato viene associato a un utente specifico 
+def associafile_a_utente(singolodocumento,request,utente,azienda=None,sede=None,descrizione=None,amministratore=None,pertutti=False):
+
   risultato = upload_file(singolodocumento,utente)
   documento = Documento()
   documento.dataupload = datetime.datetime.now()
   documento.utente = utente
+  listaok = None
+  listanotok = None
+  associato = False
 
   if pertutti: 
     documento.documento = "".join((utente.codicefiscale.strip(),"_",singolodocumento.name))
@@ -142,46 +157,70 @@ def associafile_a_utente(singolodocumento,request,utente,azienda=None,sede=None,
   try:
     documento.save()
     setLog(8,azienda=azienda,sede=sede,utente=utente,documento=documento,amministratore=amministratore)
-    listaok.append(documento)
+    listaok = documento
+    associato = True
+
   except IntegrityError as ie:
     print("problema di integrita', il file esiste",ie)
-    listanotok.append(documento)
+    listanotok = documento
+
+  if not associato:
+    print('documento da rimuovere di nuovo',associato)
+
+  return(listaok,listanotok)
 
 ##################################################################################
 # carica file multipli. Utilizzato prevalentemente dalla gestione documenti.
-def save_and_load_file_multiple(listadocumenti,request,utente,azienda=None,sede=None,descrizione=None,amministratore=None,pertutti=False,ignoraAzienda=False):
+def save_and_load_file_multiple(listadocumenti,request,utente,azienda=None,sede=None,descrizione=None,amministratore=None,pertutti=False,ignoraAzienda=False,ignoraSede=False):
   listaok = list()
   listanotok = list()
 
   if azienda: print('Caricamento Multiplo,azienda',azienda.nome)
   if sede: print('Caricamento Multiplo,sede',sede.nome)
-  if ignoraAzienda: print("Ignora le aziende",ignoraAzienda)
+  print("Ignora le aziende",ignoraAzienda)
+  print("Ignora le sedi",ignoraSede)
+  print("Per tutti",pertutti)
 
   for singolodocumento in listadocumenti:
-    print('singolodocumento',singolodocumento)
+    print('singolodocumento:',singolodocumento)
+
     for ut in utente:
+      print('utente:',ut.nome)
+      lok = None
+      nok = None
+
+      # si deve individuare il codice fiscale dell'utente
       if not pertutti:
         if ut.codicefiscale.strip() in singolodocumento.name:
           print('associa documento CON riferimento a codice fiscale')
           if ignoraAzienda:
             print("Effettua ricerca in tutte le aziende")
-            associafile_a_utente(singolodocumento,request,ut,ut.azienda,sede,descrizione,amministratore,listaok,listanotok) 
+            lok,nok = associafile_a_utente(singolodocumento,request,ut,ut.azienda,sede,descrizione,amministratore) 
+          elif ignoraSede:
+            print("Effettua ricerca in tutte le Sedi dell'azienda")
+            lok,nok = associafile_a_utente(singolodocumento,request,ut,ut.azienda,sede,descrizione,amministratore)
           else: 
             print("Caricamento solo per l'azienda corrente")
-            associafile_a_utente(singolodocumento,request,ut,azienda,sede,descrizione,amministratore,listaok,listanotok)
+            lok,nok = associafile_a_utente(singolodocumento,request,ut,azienda,sede,descrizione,amministratore)
         else:
           print('il codice fiscale',ut.codicefiscale.strip()," non si trova in ",singolodocumento.name)
       else:
         print('associo documento SENZA riferimento a codice fiscale')
-        associafile_a_utente(singolodocumento,request,ut,azienda,sede,descrizione,amministratore,listaok,listanotok,pertutti)
+        lok,nok = associafile_a_utente(singolodocumento,request,ut,azienda,sede,descrizione,amministratore,pertutti)
+
+      if lok:
+        listaok.append(lok)
+      if nok:
+        listanotok.append(nok)
 
-  print('liste',listaok,listanotok)
+  print('lista',listaok,listanotok)
   return (listaok,listanotok)
 
 #carica un singolofile - utilizzato prevalentemente nella pagina utente
 def save_and_load_file_single(listadocumenti,request,utente,azienda=None,sede=None,descrizione=None,amministratore=None):
   listaok = list()
   listanotok = list()
+
   for singolodocumento in listadocumenti:
     print('singolodocumento',singolodocumento,descrizione)
     risultato = upload_file(singolodocumento,utente)
@@ -198,6 +237,7 @@ def save_and_load_file_single(listadocumenti,request,utente,azienda=None,sede=No
     except IntegrityError as ie:
       print("problema di integrita', il file esiste",ie)
       listanotok.append(documento)
+
   return (listaok,listanotok)
 
 #file_indice: contiene l'elenco dei nominativi da gestire.

+ 1 - 1
documento/templates/documento.welcome.deleteold.html

@@ -1,4 +1,4 @@
-<div class="tab-pane fade {% if pane == 'Deleteold' %}show active{% endif %}" id="deleteold-pane" role="tabpanel" aria-labelledby="deleteold-tab" tabindex="2">
+<div class="tab-pane fade active" id="deleteold-pane" role="tabpanel" aria-labelledby="deleteold-tab" tabindex="2">
 
   {% if upload_ok %}
     <div>

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

@@ -1,4 +1,4 @@
-<div class="tab-pane fade {% if pane == 'Documento' %}show active{% endif %}" id="documento-pane" role="tabpanel" aria-labelledby="documento-tab" tabindex="0">
+<div class="tab-pane fade show active" id="documento-pane" role="tabpanel" aria-labelledby="documento-tab" tabindex="0">
   {# il modulo di visualizzazione documenti e' condiviso con la gestione utenti #}
   {% include 'documento.welcome.lista.html' %}  
 </div>

+ 46 - 3
documento/templates/documento.welcome.html

@@ -24,6 +24,7 @@ function toggle(source) {
   <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 'azienda:welcome' %}">Indietro</a></button>
 </div>
 <!-- end nav tabs -->
+
 <div>&nbsp;</div>
 <!-- Tab panes -->
 <div class="tab-content" id='mycontent'>
@@ -32,7 +33,7 @@ function toggle(source) {
 </div>
 
   <!-- Modal -->
-  <div class="modal fade" id="ConfirmDocumentDeleteModal" tabindex="-1" role="dialog" aria-labelledby="ConfirmDocumentDeleteLabel{{ document.id }}" aria-hidden="true">
+<div class="modal fade" id="ConfirmDocumentDeleteModal" tabindex="-1" role="dialog" aria-labelledby="ConfirmDocumentDeleteLabel{{ document.id }}" aria-hidden="true">
          <div class="modal-dialog" role="document">
            <div class="modal-content">
              <form name='ConfirmDeleteModal' method='POST'>
@@ -57,7 +58,49 @@ function toggle(source) {
            </div>
          </div>
        </div>
-     </div>
-     <!-- end modal -->
+</div>
+  <!-- end modal -->
+{% endblock %}
+
+{% block bodybottom %}
+  {% if listaok %}
+    <div>Sono stati caricati {{ listaoklen }} documento/i</div>
+    <table class='table table-striped table-hover'>
+      <thead class='thead-dark'>
+        <tr>
+          <th scope='col'>Documento caricato con successo</th>
+        </tr>
+      </thead>
+      <tbody>
+        {% for l in listaok %}
+        <tr>
+          <td> {{ l.documento }} </td>
+        </tr>
+        {% endfor %}
+      </tbody>
+    </table>
+    </div>
+  {% endif %}
+
+  <div><br></div>
 
+  {% if listanotok %}
+    <div>Sono stati rifiutati {{ listanotoklen }} documento/i</div>
+    <table class='table table-striped table-hover'>
+      <thead class='thead-dark'>
+        <tr>
+          <th scope='col'>Documento non caricato perche già presente</th>
+        </tr>
+      </thead>
+      <tbody>
+        {% for l in listanotok %}
+        <tr>
+          <td> {{ l.documento }} </td>
+        </tr>
+        {% endfor %}
+      </tbody>
+    </table>
+    </div>
+  {% endif %}
 {% endblock %}
+

+ 7 - 41
documento/templates/documento.welcome.upload.html

@@ -1,4 +1,4 @@
-<div class="tab-pane fade {% if pane == 'Upload' %}show active{% endif %}" id="upload-pane" role="tabpanel" aria-labelledby="upload-tab" tabindex="1">
+<div class="tab-pane fade active" id="upload-pane" role="tabpanel" aria-labelledby="upload-tab" tabindex="1">
 
   <!-- tasti per il ritorno e altre funzioni generiche -->
   <div class='card'>
@@ -19,12 +19,16 @@
         <br>
         <div class='form-check'>
           <input type='checkbox' class="form-check-input" name='pertutti' id='pertutti'>
-          <label for='pertutti' class='form-check-label'>Documento in comune (un singolo documento a disposizione di tutti gli utenti)</label>
+          <label for='pertutti' class='form-check-label'>Documento in comune (un singolo documento a disposizione di tutti gli utenti della sede o dell'azienda sulla base della selezione)</label>
         </div>
         <br>
    	<div class='form-check'>
-	  <input type="checkbox" class="form-check-input" name="ignoraAzienda" id="ignoraAzienda">
+		<input type="checkbox" class="form-check-input" name="ignoraAzienda" id="ignoraAzienda" onclick="if (this.checked) { ignoraSede.checked= false;}">
           <label for='ignoraAzienda' class="form-check-label">Ignora le aziende: cerca il codice fiscale ovunque.</label>
+	</div>
+	<div class='form-check'>
+	  <input type="checkbox" class="form-check-input" name="ignoraSede" id="ignoraSede" onclick="if (this.checked) { ignoraAzienda.checked= false;}">
+          <label for='ignoraSede' class="form-check-label">Ignora le sedi: cerca il codice fiscale ovunque.</label>
         </div>
         <br>
 	<div class='form-check'>
@@ -43,42 +47,4 @@
     </div>
   </div>
   <!-- fine barra tasti ritorno e utilita' -->
-
-  <div><br></div>
-
-  {% if listaok %}
-    <table class='table table-striped table-hover'>
-      <thead class='thead-dark'>
-        <tr>
-          <th scope='col'>Documento caricato con successo</th>
-        </tr>
-      </thead>
-      <tbody>
-        {% for l in listaok %}
-        <tr>
-          <td> {{ l.documento }} </td>
-        </tr>
-        {% endfor %}
-      </tbody>
-    </table>
-  {% endif %}
-
-  <div><br></div>
-
-  {% if listanotok %}
-    <table class='table table-striped table-hover'>
-      <thead class='thead-dark'>
-        <tr>
-          <th scope='col'>Documento non caricato perche già presente</th>
-        </tr>
-      </thead>
-      <tbody>
-        {% for l in listanotok %}
-        <tr>
-          <td> {{ l.documento }} </td>
-        </tr>
-        {% endfor %}
-      </tbody>
-    </table>
-  {% endif %}
 </div>

+ 20 - 11
documento/views.py

@@ -30,7 +30,6 @@ def welcome(request,utente=None):
 
   data = dict()
   data['HeaderTitle'] = getConfig('HeaderTitle')
-  data['pane'] = "Documento"
 
   if not 'AziendaId' in request.session:
     print('manca azienda')
@@ -231,7 +230,6 @@ def welcome(request,utente=None):
           print('documento',i.documento)
           delete_file(i)
           i.delete()
-      data['pane'] = "Deleteold"
 
     if 'DeleteDocument' in request.POST and request.POST.get('DeleteDocument'):
       print('Richiesta cancellazione Documento',request.POST)
@@ -249,6 +247,7 @@ def welcome(request,utente=None):
       filecaricati = AdminUpload(request.POST,request.FILES)
       if filecaricati.is_valid():
         pertutti = filecaricati.cleaned_data.get('pertutti')
+
         print('stato -pertutti-',pertutti," ",filecaricati.cleaned_data.get('pertutti'))
         #pertutti: il documento viene messo a disposizione a tutti gli utenti, non rientra nel filtro x utente, ma solo nel filtro x azienda
      
@@ -256,29 +255,40 @@ def welcome(request,utente=None):
 
         comunicazione = filecaricati.cleaned_data.get('comunicazione')
         ignoraAzienda = filecaricati.cleaned_data.get('ignoraAzienda')
+        ignoraSede = filecaricati.cleaned_data.get('ignoraSede')
+
         if 'allegati' in filecaricati.cleaned_data and filecaricati.cleaned_data.get('allegati'):
           print('presenti documenti da allegare')
-          listadocumenti = filecaricati.cleaned_data['allegati']
+          listadocumenti = filecaricati.cleaned_data.get('allegati')
+          descrizione = filecaricati.cleaned_data.get('descrizione')
           print(listadocumenti)
-          print(type(azienda))
-          print(azienda.id)
+          print("azienda interessata",azienda.id,azienda.nome)
     
           if not utente:
+            # effettua una scelta nel caso venga indicata di caricare il documento ignorando azienda e sede e cercando il codice fiscale ovunque
             if ignoraAzienda:
-              listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,Utente.objects.all(),azienda,sede,filecaricati.cleaned_data['descrizione'],admin.nome,pertutti,ignoraAzienda=ignoraAzienda)
+              # ignoraAzienda: cerca ovunque, in tutte le aziende
+              listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,Utenti.objects.all(),azienda,sede,descrizione,admin.nome,pertutti,ignoraAzienda=ignoraAzienda)
+            elif ignoraSede:
+              # ignora sede: cerca in tutta l'azienda ignorando le sedi (sempre che ci siano)
+              listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,azienda.utente_set.all(),azienda,sede,descrizione,admin.nome,pertutti,ignoraAzienda=ignoraAzienda)
             else:
-              listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,utenti,azienda,sede,filecaricati.cleaned_data['descrizione'],admin.nome,pertutti,ignoraAzienda=ignoraAzienda)
+              # carica solo per l'utente.
+              listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,utenti,azienda,sede,descrizione,admin.nome,pertutti,ignoraAzienda=ignoraAzienda)
+
             data['listaok'] = listaok
             data['listanotok'] = listanotok
           else:
+            # questa scelta vale nel singolo utente.
             u = Utente.objects.get(pk=uu)
             listaok,listanotok = save_and_load_file_single(listadocumenti,request,u,data['azienda'],data['sede'],filecaricati.cleaned_data['descrizione'],data['admin'])
-          print('stato caricamenti',listaok,listanotok)
-          data['listaok'] = listaok
-          data['listnotok'] = listaok
+            data['listaok'] = listaok
+            data['listnotok'] = listanotok
 
           print('listaok',listaok)
+          data['listaoklen']=len(data['listaok'])
           print('listanotok',listanotok)
+          data['listanotoklen'] = len(data['listanotok'])
 
         if comunicazione:
           ### comunicazioni ###
@@ -307,7 +317,6 @@ def welcome(request,utente=None):
           sm.set_data(sm_data)
           sm.send()
         ### comunicazioni ###
-      data['pane'] = "Upload"
 
   print("Numero documenti associati",len(ElencoDocumenti),len(data['ElencoDocumenti']))
 

+ 7 - 4
snippets/clear_files.py

@@ -25,10 +25,13 @@ listafileinarchivio = dict()
 for u in utente:
   posizione = os.path.join(base_dir,u.azienda.partitaiva,u.codicefiscale)
   print('posizione',posizione)
-  ld = os.listdir(posizione)
-  for l in ld:
-    listafileinarchivio[l] = {'ll':l,'posizione':"".join((posizione,"/",l))}
-    print(listafileinarchivio[l])
+  try: 
+    ld = os.listdir(posizione)
+    for l in ld:
+      listafileinarchivio[l] = {'ll':l,'posizione':"".join((posizione,"/",l))}
+      print(listafileinarchivio[l])
+  except FileNotFoundError as fnfe:
+    print(fnfe)
 
 listafilemancanti = dict()
 

+ 0 - 1
static/templates/base.html

@@ -113,7 +113,6 @@
 <!-- blocco centrale -->
 <div class='container'>
       {% block body %}
-        Place Holder
       {% endblock %}
 </div>
 

+ 3 - 39
utente/templates/utente.edit.document.html

@@ -1,4 +1,4 @@
-<div class="tab-pane fade" id="document-pane" role="tabpanel" aria-labelledby="document-tab" tabindex="0">
+<div class="tab-pane fade active" id="document-pane" role="tabpanel" aria-labelledby="document-tab" tabindex="0">
    <!-- documenti -->  
 
    <div class='form-outline mb-3 text-center btn-primary h3'>
@@ -22,42 +22,6 @@
             </tr>
           </table>
       </form>
-
-   {% if listaok %}
-     <table class='table table-striped table-hover'>
-       <thead class='thead-dark'>
-       <tr>
-         <th scope='col'>Documento caricato con successo</th>
-       </tr>
-       </thead>
-       <tbody>
-         {% for l in listaok %}
-         <tr>
-           <td> {{ l.documento }} </td>
-         </tr>
-         {% endfor %}
-       </tbody>
-    </table>
-  {% endif %}
-
-  <div><br><br></div>
-
-  {% if listanotok %}
-    <table class='table table-striped table-hover'>
-      <thead class='thead-dark'>
-      <tr>
-        <th scope='col'>Documento non caricato perche già presente</th>
-      </tr>
-      </thead>
-      <tbody>
-        {% for l in listanotok %}
-        <tr>
-          <td> {{ l.documento }} </td>
-        </tr>
-        {% endfor %}
-      </tbody>
-    </table>
-  {% endif %}
-  
- </div>
+  </div>
+</div>
 

+ 41 - 0
utente/templates/utente.edit.html

@@ -37,3 +37,44 @@ function toggle(source) {
 
 {% endblock %}
 
+{% block bodybottom %}
+<div>
+  {% if listaok %}
+    <div>Sono stati caricati {{ listaoklen }} documento/i</div>
+    <table class='table table-striped table-hover'>
+      <thead class='thead-dark'>
+        <tr>
+          <th scope='col'>Documento caricato con successo</th>
+        </tr>
+      </thead>
+      <tbody>
+        {% for l in listaok %}
+        <tr>
+          <td> {{ l.documento }} </td>
+        </tr>
+        {% endfor %}
+      </tbody>
+    </table>
+  {% endif %}
+
+  <div><br></div>
+
+  {% if listanotok %}
+    <div>Sono stati rifiutati {{ listanotoklen }} documento/i</div>
+    <table class='table table-striped table-hover'>
+      <thead class='thead-dark'>
+        <tr>
+          <th scope='col'>Documento non caricato perche già presente</th>
+        </tr>
+      </thead>
+      <tbody>
+        {% for l in listanotok %}
+        <tr>
+          <td> {{ l.documento }} </td>
+        </tr>
+        {% endfor %}
+      </tbody>
+    </table>
+  {% endif %}
+</div>
+

+ 1 - 1
utente/templates/utente.edit.logger.html

@@ -1,4 +1,4 @@
- <div class="tab-pane fade" id="logger-pane" role="tabpanel" aria-labelledby="logger-tab" tabindex="0">
+ <div class="tab-pane fade active" id="logger-pane" role="tabpanel" aria-labelledby="logger-tab" tabindex="0">
 
    <div class='form-outline mb-3 text-center btn-primary h3'>
           Elenco Azioni Registrate

+ 1 - 1
utente/templates/utente.edit.profile.html

@@ -1,4 +1,4 @@
-<div class="tab-pane fade show active" id="profile-pane" role="tabpanel" aria-labelledby="profile-tab" tabindex="0">
+<div class="tab-pane fade active show" id="profile-pane" role="tabpanel" aria-labelledby="profile-tab" tabindex="0">
 
 
   <!-- errori utente -->

+ 4 - 2
utente/views.py

@@ -319,10 +319,12 @@ def edit(request):
         listaok,listanotok = save_and_load_file_single(listadocumenti,request,utente,data['azienda'],data['sede'],filecaricati.cleaned_data['descrizione'],data['admin'])
         print('stato caricamenti',listaok,listanotok)
         data['listaok'] = listaok
-        data['listnotok'] = listaok
+        data['listanotok'] = listanotok
+        print('listaok dopo caricamento',data['listaok'])
+        print('listanotok dopo caricamento',data['listanotok'])
         data['documentiUtente'] = utente.documento_set.all()
 
-        print('filecaricati',filecaricati,flagcomunicazione)
+        #print('filecaricati',filecaricati,flagcomunicazione)
         if flagcomunicazione:
           ### comunicazioni ###
           sm = ServizioMail(debug=True)