소스 검색

caricamento di file indipendentemente dall'azienda

mauro 10 달 전
부모
커밋
867945cc07

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

@@ -19,7 +19,7 @@
   <!-- fine zona errori -->
 
   <!-- profilo sede -->
-  <form name='SedeEdit' method='post'>
+  <form name='AmministratoreEdit' method='post'>
     {% csrf_token %}
 
     <div class='form-group'>
@@ -45,6 +45,7 @@
     </div>
 
   </form>
+	
 </div>
 {% endblock %}
 

BIN
db/db.sqlite3


BIN
documento/__pycache__/forms.cpython-311.pyc


BIN
documento/__pycache__/managefile.cpython-311.pyc


BIN
documento/__pycache__/views.cpython-311.pyc


+ 1 - 0
documento/forms.py

@@ -23,6 +23,7 @@ class AdminUpload(forms.Form):
     self.fields['descrizione'] = forms.CharField(required=False)
     self.fields['pertutti'] = forms.BooleanField(required=False)
     self.fields['comunicazione'] = forms.BooleanField(required=False)
+    self.fields['ignoraAzienda'] = forms.BooleanField(required=False)
 
 class DeleteOldDocuments(forms.Form):
   def __init(self,*args,**kwargs):

+ 8 - 2
documento/managefile.py

@@ -149,12 +149,13 @@ def associafile_a_utente(singolodocumento,request,utente,azienda=None,sede=None,
 
 ##################################################################################
 # 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):
+def save_and_load_file_multiple(listadocumenti,request,utente,azienda=None,sede=None,descrizione=None,amministratore=None,pertutti=False,ignoraAzienda=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)
 
   for singolodocumento in listadocumenti:
     print('singolodocumento',singolodocumento)
@@ -162,7 +163,12 @@ def save_and_load_file_multiple(listadocumenti,request,utente,azienda=None,sede=
       if not pertutti:
         if ut.codicefiscale.strip() in singolodocumento.name:
           print('associa documento CON riferimento a codice fiscale')
-          associafile_a_utente(singolodocumento,request,ut,azienda,sede,descrizione,amministratore,listaok,listanotok)
+          if ignoraAzienda:
+            print("Effettua ricerca in tutte le aziende")
+            associafile_a_utente(singolodocumento,request,ut,ut.azienda,sede,descrizione,amministratore,listaok,listanotok) 
+          else: 
+            print("Caricamento solo per l'azienda corrente")
+            associafile_a_utente(singolodocumento,request,ut,azienda,sede,descrizione,amministratore,listaok,listanotok)
         else:
           print('il codice fiscale',ut.codicefiscale.strip()," non si trova in ",singolodocumento.name)
       else:

+ 14 - 8
documento/templates/documento.welcome.html

@@ -88,27 +88,32 @@ function toggle(source) {
 	      <input type='file' class="btn btn-primary" name='allegati' id='allegati' value='{{ uf.allegati }}' accept='application/pdf' multiple>
 	    </div>
 	    <br>
+            <div class='form-group form-inline'>
+              <label for='descrizione'>Descrizione:&nbsp;</label>
+              <input type='text' name='descrizione' id='descrizione' value='' maxlength='120' size='80'>
+            </div>
+	    <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>
             </div>
             <br>
+   	    <div class='form-check'>
+	      <input type="checkbox" class="form-check-input" name="ignoraAzienda" id="ignoraAzienda">
+              <label for='ignoraAzienda' class="form-check-label">Ignora le aziende: cerca il codice fiscale ovunque.</label>
+            </div>
+            <br>
 	    <div class='form-check'>
               <input type='checkbox' class="form-check-input" name='comunicazione' id='comunicazione'>
               <label for='comunicazione' class='form-check-label'>Invia una comunicazione all'utente (Se l'utente ha la mail correttamente registrata)</label>
             </div>
-            <br>
-   	    <div class='form-group form-inline'>
-              <label for='descrizione'>Descrizione:&nbsp;</label>
-              <input type='text' name='descrizione' id='descrizione' value='' maxlength='120' size='80'>
-            </div>
 
             <div><br></div>
 
   	    <div class='form-group form-inline'>
-	      <input type='submit' class="btn btn-primary" value='Carica Nuovi Documenti'>
-              <button type='button' class='btn btn-primary' data-bs-toggle='modal' data-bs-target='#ConfirmDocumentDeleteModal'>Elimina Vecchi Documenti</button></td>
-	      <input type='submit' class="btn btn-primary" name='indietro' value='Indietro'>
+	      <input type='submit' class="btn btn-primary btn-sm" name="carica" value='Carica Nuovi Documenti'>
+              <button type='button' class='btn btn-primary btn-sm' data-bs-toggle='modal' data-bs-target='#ConfirmDocumentDeleteModal'>Elimina Vecchi Documenti</button></td>
+	      <input type='submit' class="btn btn-primary btn-sm" name='indietro' value='Indietro'>
             </div>
           </form>
         </div>
@@ -139,6 +144,7 @@ function toggle(source) {
   {% endif %}
 
   <div><br><br></div>
+
   {% if listanotok %}
     <table class='table table-striped table-hover'>
       <thead class='thead-dark'>

+ 7 - 1
documento/views.py

@@ -164,20 +164,26 @@ def welcome(request,utente=None):
       print('record filecaricati validi')
 
       comunicazione = filecaricati.cleaned_data.get('comunicazione')
+      ignoraAzienda = filecaricati.cleaned_data.get('ignoraAzienda')
       if 'allegati' in filecaricati.cleaned_data and filecaricati.cleaned_data.get('allegati'):
         print('presenti documenti da allegare')
         listadocumenti = filecaricati.cleaned_data['allegati']
         print(listadocumenti)
         print(type(azienda))
         print(azienda.id)
+    
         if not utente:
-          listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,utenti,azienda,sede,filecaricati.cleaned_data['descrizione'],admin.nome,pertutti)
+          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)
+          else:
+            listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,utenti,azienda,sede,filecaricati.cleaned_data['descrizione'],admin.nome,pertutti,ignoraAzienda=ignoraAzienda)
           data['listaok'] = listaok
           data['listanotok'] = listanotok
         else:
           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
 

BIN
static/upload/12345678901/MRCMRA66E16Z133L/1738256376.2297583.saved


BIN
static/upload/12345678901/MRCMRA66E16Z133L/1738875253.3980083.saved


BIN
static/upload/12345678901/MRCMRA66E16Z133L/1738875934.8087177.saved


+ 0 - 2
utente/templates/utente.edit.document.html

@@ -9,7 +9,6 @@
    {% include 'documento.welcome.lista.html' %}
    </hr>
 
-   {% if "UTENTE.CREA" in permesso_sede or "UTENTE.CREA" in permesso.azienda %}
    <form name='fileManager' method="POST"  enctype='multipart/form-data'>
       {% csrf_token %}
 
@@ -23,7 +22,6 @@
             </tr>
           </table>
       </form>
-    {% endif %}
 
    {% if listaok %}
      <table class='table table-striped table-hover'>