Explorar el Código

notifica caricamento nuovo documento

mauro hace 10 meses
padre
commit
524bc07ec6

+ 1 - 0
documento/forms.py

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

+ 4 - 4
documento/managefile.py

@@ -141,10 +141,10 @@ 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.documento)
+    listaok.append(documento)
   except IntegrityError as ie:
     print("problema di integrita', il file esiste",ie)
-    listanotok.append(documento.documento)
+    listanotok.append(documento)
 
 ##################################################################################
 # carica file multipli. Utilizzato prevalentemente dalla gestione documenti.
@@ -187,10 +187,10 @@ def save_and_load_file_single(listadocumenti,request,utente,azienda=None,sede=No
     try:
       documento.save()
       setLog(8,azienda=azienda,sede=sede,utente=utente,documento=documento,amministratore=amministratore)
-      listaok.append(documento.documento)
+      listaok.append(documento)
     except IntegrityError as ie:
       print("problema di integrita', il file esiste",ie)
-      listanotok.append(documento.documento)
+      listanotok.append(documento)
   return (listaok,listanotok)
 
 #file_indice: contiene l'elenco dei nominativi da gestire.

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

@@ -87,7 +87,7 @@
             <br>
 	    <div class='form-check'>
               <input type='checkbox' class="form-check-input" name='comunicazione' id='comunicazione'>
-              <label for='pertutti' class='form-check-label'>Invia una comunicazione all'utente (Se l'utente ha la mail correttamente registrata)</label>
+              <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'>
@@ -124,7 +124,7 @@
       <tbody>
         {% for l in listaok %}
         <tr>
-          <td> {{ l }} </td>
+          <td> {{ l.documento }} </td>
         </tr>
         {% endfor %}
       </tbody>
@@ -142,7 +142,7 @@
       <tbody>
         {% for l in listanotok %}
         <tr>
-          <td> {{ l }} </td>
+          <td> {{ l.documento }} </td>
         </tr>
         {% endfor %}
       </tbody>

+ 40 - 3
documento/views.py

@@ -17,6 +17,7 @@ from datetime import datetime,timedelta
 from comunicazione.views import ServizioMail
 
 def welcome(request,utente=None):
+  uu = utente
   '''
   punto di ingresso.
   vengono mostrati tutti i documenti presenti
@@ -131,14 +132,49 @@ def welcome(request,utente=None):
         print(listadocumenti)
         print(type(azienda))
         print(azienda.id)
-        listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,utenti,azienda,sede,filecaricati.cleaned_data['descrizione'],admin.nome,pertutti)
-
+        if not utente:
+          listaok,listanotok = save_and_load_file_multiple(listadocumenti,request,utenti,azienda,sede,filecaricati.cleaned_data['descrizione'],admin.nome,pertutti)
+          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['listanotok'] = listanotok
+        data['listnotok'] = listaok
 
         print('listaok',listaok)
         print('listanotok',listanotok)
 
+      if comunicazione:
+        ### comunicazioni ###
+        sm = ServizioMail(debug=True)
+
+        try:
+          comunicazione = Comunicazione.objects.get(pk=7)
+        except Comunicazione.DoesNotExist as dne:
+          print("Record comunicazione inesistente",dne)
+        u = Utente.objects.get(pk=uu)
+        sm.set_mailfrom=comunicazione.mittente
+        sm.add_to(u.mail)
+
+        sm.set_soggetto(comunicazione.soggetto)
+        sm.set_corpo(comunicazione.corpo)
+
+        sm_data = dict()
+        tmp_utente=dict() #adattamento campo utente
+
+        tmp_utente['nome'] = u.nome
+        tmp_utente['mail'] = u.mail
+        tmp_utente['sito'] = getConfig('DefaultSite')
+        tmp_utente['titolo'] = getConfig('HeaderTitle')
+        sm_data['utente'] = tmp_utente
+
+        sm.set_data(sm_data)
+        sm.send()
+      ### comunicazioni ###
+
+
   ElencoDocumenti = list()
   if utente: #visualizza i documenti per l'utente
     ElencoDocumenti = Documento.objects.filter(utente=utente).order_by("utente__nome","documento") 
@@ -156,6 +192,7 @@ def welcome(request,utente=None):
         ElencoDocumenti.append(id)
 
   data['ElencoDocumenti'] = ElencoDocumenti
+
   print("Numero documenti associati",len(ElencoDocumenti),len(data['ElencoDocumenti']))
 
   return render(request,'documento.welcome.html',data)

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

@@ -35,7 +35,7 @@
        <tbody>
          {% for l in listaok %}
          <tr>
-           <td> {{ l }} </td>
+           <td> {{ l.documento }} </td>
          </tr>
          {% endfor %}
        </tbody>
@@ -54,7 +54,7 @@
       <tbody>
         {% for l in listanotok %}
         <tr>
-          <td> {{ l }} </td>
+          <td> {{ l.documento }} </td>
         </tr>
         {% endfor %}
       </tbody>

+ 31 - 1
utente/views.py

@@ -206,8 +206,9 @@ def edit(request):
     data['utente'] = formUtente(tmp)
 
     filecaricati = AdminUpload(request.POST,request.FILES)
-
+     
     if filecaricati.is_valid():
+      flagcomunicazione = filecaricati.cleaned_data.get('comunicazione')
       if filecaricati.cleaned_data.get('allegati'):
         print('presenti documenti da allegare')
         listadocumenti = filecaricati.cleaned_data['allegati']
@@ -218,6 +219,35 @@ def edit(request):
         data['listaok'] = listaok
         data['listnotok'] = listaok
         data['documentiUtente'] = utente.documento_set.all()
+
+        print('filecaricati',filecaricati,flagcomunicazione)
+        if flagcomunicazione:
+          ### comunicazioni ###
+          sm = ServizioMail(debug=True)
+
+          try:
+            comunicazione = Comunicazione.objects.get(pk=7)
+          except Comunicazione.DoesNotExist as dne:
+            print("Record comunicazione inesistente",dne)
+
+          sm.set_mailfrom=comunicazione.mittente
+          sm.add_to(u.mail)
+
+          sm.set_soggetto(comunicazione.soggetto)
+          sm.set_corpo(comunicazione.corpo)
+
+          sm_data = dict()
+          utente=dict() #adattamento campo utente
+
+          utente['nome'] = utente.nome
+          utente['mail'] = utente.mail
+          utente['sito'] = getConfig('DefaultSite')
+          utente['titolo'] = getConfig('HeaderTitle')
+          sm_data['utente'] = utente
+
+          sm.set_data(sm_data)
+          sm.send()
+          ### comunicazioni ###
   else:
     print('Request non valida,utente:',utente.id)
     tmp = dict()