Przeglądaj źródła

aggiunto scaricamento multiplo documenti per gli utenti e per le aziende

mauro 6 miesięcy temu
rodzic
commit
739eb83639

+ 8 - 5
documento/forms.py

@@ -36,11 +36,14 @@ class DeleteOldDocuments(forms.Form):
     self.fields['limite'] = forms.CharField(required=True)
 
 class formMultipleCheckBox(forms.Form):
-  choices = []
-  def __init__(self,*args,**kwargs):
+  def __init__(self,*args,lista=[],**kwargs):
     forms.Form.__init__(self,*args,**kwargs)
-    self.fields['select'] = forms.MultipleChoiceField(required=False,widget=forms.CheckboxSelectMultiple(),choices=self.choices)
+    self.fields['MultipleDocumentSelect'] = forms.MultipleChoiceField(required=False,widget=forms.CheckboxSelectMultiple(),choices=self.c(lista))
+
   def c(self,lista):
+    print(len(lista))
+    choices = list()
     for u in lista:
-      self.choices.append((u.id,u.id),)
-    print('choices',len(self.choices))
+      choices.append((u.id,u.id),)
+    print('choices',len(choices))
+    return choices

+ 2 - 2
documento/templates/documento.welcome.lista.html

@@ -28,7 +28,7 @@
 		                                                <button name="carUP" type="submit" class="btn btn-outline-primary btn-sm">&#x2191;</button></th>
 	</form>
 
-	<!--<th scope='col'><input class="form-check-input" type="checkbox" id="selectAll" name="selectAll" value='0' onClick="toggle(this);"/>&nbsp;<label for="selectAll" class="form-check-label">Tutti</label></th>-->
+	<th scope='col'><input class="form-check-input" type="checkbox" id="selectAll" name="selectAll" value='0' onClick="toggle(this);"/>&nbsp;<label for="selectAll" class="form-check-label">Tutti</label></th>
         {% if 'DOCUMENTO.EDIT' in permesso %}
         <th scope='col'>Elimina</th> 
         {% endif %}
@@ -45,7 +45,7 @@
 	  {% endif %}
 	  <td>{{ documento.documento }}<br>{{ documento.descrizione }} </td>
           <td>{{ documento.dataupload | date:'d/m/Y' }} </td>
-	  <!--<td><input class="form-check-input" type="checkbox" form="ElencoDocumenti" id="select-{{ documento.id }}" name="select" value='{{ documento.id }}'/>-->
+	  <td><input class="form-check-input" type="checkbox" form="ElencoDocumenti" id="select-{{ documento.id }}" name="MultipleDocumentSelect" value='{{ documento.id }}'/>
           </td>
             {% if 'DOCUMENTO.EDIT' in permesso %}
             <td><button type='button' class='btn btn-primary btn-sm' data-bs-toggle='modal' data-bs-target='#ConfirmDeleteModal{{ documento.id }}' value='{{ documento.id }}'>Elimina</button></td>

+ 15 - 10
documento/views.py

@@ -196,15 +196,18 @@ def welcome(request,utente=None):
       print("AdminId",request.session['AdminId'])
       return HttpResponseRedirect(reverse("azienda:welcome"))
 
+
     if 'ScaricaSelezionati' in request.POST:
       print('Premuto tasto Scarica Selezionati')
-      if 'select' in request.POST:
-        SelectResponse = formMultipleCheckBox(request.POST)
-        SelectResponse.c(data['ElencoDocumenti'])
+      print('request.POST',request.POST)
+
+      if 'MultipleDocumentSelect' in request.POST:
+        print(len(data['ElencoDocumenti']))
+        SelectResponse = formMultipleCheckBox(request.POST,lista=data['ElencoDocumenti'])
         print("SelectResponse",SelectResponse)
 
         if SelectResponse.is_valid():
-          select = SelectResponse.cleaned_data.get('select')
+          select = SelectResponse.cleaned_data.get('MultipleDocumentSelect')
           print('select',select,type(select))
           (pathzipfile,filePreparato) = PrepareZipFile(select)
           # scarica il file
@@ -456,6 +459,7 @@ def azienda(request,utente=None):
   ### sequenza di ordinamento ####
   print('Sequenza di ordinamento - lettura tasti ')
   print(request.POST)
+
   if request.method == "POST" and 'docUP' in request.POST:
     print('docUP')
     request.session['docOrder'] = 'docUP'
@@ -510,14 +514,15 @@ def azienda(request,utente=None):
       return HttpResponseRedirect(reverse("azienda:welcome"))
 
     if 'ScaricaSelezionati' in request.POST:
-      print('Premuto tasto Scarica Selezionati')
-      if 'select' in request.POST:
-        SelectResponse = formMultipleCheckBox(request.POST)
-        SelectResponse.c(data['ElencoDocumenti'])
-        print("SelectResponse",SelectResponse)
+      print('Premuto tasto Scarica Selezionati,cazzo')
+      print('request.POST',request.POST)
 
+      if 'MultipleDocumentSelect' in request.POST:
+        SelectResponse = formMultipleCheckBox(request.POST,lista=data['ElencoDocumenti'])
+        print("SelectResponse",SelectResponse)
+        
         if SelectResponse.is_valid():
-          select = SelectResponse.cleaned_data.get('select')
+          select = SelectResponse.cleaned_data.get('MultipleDocumentSelect')
           print('select',select,type(select))
           (pathzipfile,filePreparato) = PrepareZipFile(select)
           # scarica il file