ソースを参照

inserita voce sede in tutte le gestioni file e log

Mauro 11 ヶ月 前
コミット
f398425a53
4 ファイル変更24 行追加15 行削除
  1. 1 1
      att/views.py
  2. 16 10
      documento/managefile.py
  3. 5 2
      documento/views.py
  4. 2 2
      utente/views.py

+ 1 - 1
att/views.py

@@ -18,7 +18,7 @@ def setNewLog(causale,stringa):
   attivita.valore = causale.schema.format(**stringa)
   attivita.save()
 
-def setLog(causale,azienda=None,amministratore=None,utente=None,documento=None):
+def setLog(causale,azienda=None,sede=None,amministratore=None,utente=None,documento=None):
   print(causale,azienda,amministratore,utente,documento)
 
   #valore = string()

+ 16 - 10
documento/managefile.py

@@ -124,7 +124,7 @@ def upload_file_indice(uploaded_file):
 
   return stored_file
 
-def associafile_a_utente(singolodocumento,request,utente,azienda,descrizione,amministratore,listaok,listanotok,pertutti=False):
+def associafile_a_utente(singolodocumento,request,utente,azienda=None,sede=None,descrizione=None,amministratore=None,listaok=None,listanotok=None,pertutti=False):
   risultato = upload_file(singolodocumento,utente)
   documento = Documento()
   documento.dataupload = datetime.datetime.now()
@@ -140,7 +140,7 @@ def associafile_a_utente(singolodocumento,request,utente,azienda,descrizione,amm
   documento.descrizione = descrizione
   try:
     documento.save()
-    setLog(8,azienda=azienda,utente=utente,documento=documento,amministratore=amministratore)
+    setLog(8,azienda=azienda,sede=sede,utente=utente,documento=documento,amministratore=amministratore)
     listaok.append(documento.documento)
   except IntegrityError as ie:
     print("problema di integrita', il file esiste",ie)
@@ -148,28 +148,31 @@ def associafile_a_utente(singolodocumento,request,utente,azienda,descrizione,amm
 
 ##################################################################################
 # carica file multipli. Utilizzato prevalentemente dalla gestione documenti.
-def save_and_load_file_multiple(listadocumenti,request,utente,azienda,descrizione,amministratore,pertutti=False):
+def save_and_load_file_multiple(listadocumenti,request,utente,azienda=None,sede=None,descrizione=None,amministratore=None,pertutti=False):
   listaok = list()
   listanotok = list()
 
+  if azienda: print('Caricamento Multiplo,azienda',azienda.nome)
+  if sede: print('Caricamento Multiplo,sede',sede.nome)
+
   for singolodocumento in listadocumenti:
     print('singolodocumento',singolodocumento)
     for ut in utente:
       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,descrizione,amministratore,listaok,listanotok)
+          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:
         print('associo documento SENZA riferimento a codice fiscale')
-        associafile_a_utente(singolodocumento,request,ut,azienda,descrizione,amministratore,listaok,listanotok,pertutti)
+        associafile_a_utente(singolodocumento,request,ut,azienda,sede,descrizione,amministratore,listaok,listanotok,pertutti)
 
   print('liste',listaok,listanotok)
   return (listaok,listanotok)
 
 #carica un singolofile - utilizzato prevalentemente nella pagina utente
-def save_and_load_file_single(listadocumenti,request,utente,azienda,descrizione,amministratore):
+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:
@@ -178,13 +181,12 @@ def save_and_load_file_single(listadocumenti,request,utente,azienda,descrizione,
     documento = Documento()
     documento.dataupload = datetime.datetime.now()
     documento.utente = utente
-    documento.azienda = azienda
     documento.documento = singolodocumento.name
     documento.storage = risultato
     documento.descrizione = descrizione
     try:
       documento.save()
-      setLog(8,azienda=azienda,utente=utente,documento=documento,amministratore=amministratore)
+      setLog(8,azienda=azienda,sede=sede,utente=utente,documento=documento,amministratore=amministratore)
       listaok.append(documento.documento)
     except IntegrityError as ie:
       print("problema di integrita', il file esiste",ie)
@@ -192,8 +194,11 @@ def save_and_load_file_single(listadocumenti,request,utente,azienda,descrizione,
   return (listaok,listanotok)
 
 #file_indice: contiene l'elenco dei nominativi da gestire.
-def save_and_load_file_indice(request,fileindice,documento):
+def save_and_load_file_indice(request,fileindice,azienda=None,sede=None):
   print('nome indice caricato',fileindice.name)
+  if azienda: print('azienda',azienda.nome)
+  if sede: print('sede',sede.nome)
+
   file_memorizzato = upload_file_indice(request.FILES['indice'])
   fl_path = os.path.join(getConfig('DocPath'),getConfig('DocPathIndex'))
   risultato = None
@@ -238,7 +243,8 @@ def save_and_load_file_indice(request,fileindice,documento):
             except Utente.DoesNotExist as dne:
               print('Utente non trovato')
               utente = Utente()
-              utente.azienda = azienda
+              if azienda: utente.azienda = azienda
+              if sede: utente.sede = sede
               utente.nome = sr[2].capitalize()
               try:
                 data_convertita =  datetime.datetime.strptime(sr[8], "%d.%m.%Y")

+ 5 - 2
documento/views.py

@@ -123,10 +123,13 @@ def welcome(request,utente=None):
       #pertutti: il documento viene messo a disposizione a tutti gli utenti, non rientra nel filtro x utente, ma solo nel filtro x azienda
      
       print('record filecaricati validi')
+      # carimamento indice
       if 'indice' in filecaricati.cleaned_data and filecaricati.cleaned_data.get('indice'):
         fileindice = filecaricati.cleaned_data.get('indice')
         print('presente file indice',fileindice)
-        save_and_load_file_indice(request,fileindice,azienda)
+        # fase importante
+        # vengono caricati gli indici e le indicazioni di azienda e sede
+        save_and_load_file_indice(request,fileindice,azienda,sede)
 
       if 'allegati' in filecaricati.cleaned_data and filecaricati.cleaned_data.get('allegati'):
         print('presenti documenti da allegare')
@@ -134,7 +137,7 @@ def welcome(request,utente=None):
         print(listadocumenti)
         print(type(azienda))
         print(azienda.id)
-        listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,utenti,azienda,filecaricati.cleaned_data['descrizione'],admin.username,pertutti)
+        listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,utenti,azienda,sede,filecaricati.cleaned_data['descrizione'],admin.username,pertutti)
         data['listaok'] = listaok
         data['listanotok'] = listanotok
 

+ 2 - 2
utente/views.py

@@ -75,7 +75,7 @@ def welcome(request):
         print('presenti documenti da allegare')
         listadocumenti = filecaricati.cleaned_data['allegati']
         print(listadocumenti)
-        listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,data['utenti'],data['AziendaId'],filecaricati.cleaned_data['descrizione'],data['admin'])
+        listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,data['utenti'],data['AziendaId'],data['SedeId'],filecaricati.cleaned_data['descrizione'],data['admin'])
         data['listaok'] = listaok
         data['listanotok'] = listanotok
   return render(request,'utente.welcome.html',data)
@@ -213,7 +213,7 @@ def edit(request):
         listadocumenti = filecaricati.cleaned_data['allegati']
         print(listadocumenti)
         print('descrizione',filecaricati.cleaned_data['descrizione'])
-        save_and_load_file_single(listadocumenti,request,utente,data['azienda'],filecaricati.cleaned_data['descrizione'],data['admin'])
+        save_and_load_file_single(listadocumenti,request,utente,data['azienda'],data['sede'],filecaricati.cleaned_data['descrizione'],data['admin'])
         data['documentiUtente'] = utente.documento_set.all()
   else:
     print('Request non valida,utente:',utente.id)