forms.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from django import forms
  2. class MultipleFileInput(forms.ClearableFileInput):
  3. allow_multiple_selected = True
  4. class MultipleFileField(forms.FileField):
  5. def __init__(self, *args, **kwargs):
  6. kwargs.setdefault("widget", MultipleFileInput())
  7. super().__init__(*args, **kwargs)
  8. def clean(self, data, initial=None):
  9. single_file_clean = super().clean
  10. if isinstance(data, (list, tuple)):
  11. result = [single_file_clean(d, initial) for d in data]
  12. else:
  13. result = [single_file_clean(data, initial)]
  14. return result
  15. class AdminUpload(forms.Form):
  16. def __init__(self,*args,**kwargs):
  17. forms.Form.__init__(self,*args,**kwargs)
  18. self.fields['allegati'] = MultipleFileField(required=False)
  19. self.fields['descrizione'] = forms.CharField(required=False)
  20. self.fields['pertutti'] = forms.BooleanField(required=False)
  21. self.fields['comunicazione'] = forms.BooleanField(required=False)
  22. self.fields['ignoraAzienda'] = forms.BooleanField(required=False)
  23. class DeleteOldDocuments(forms.Form):
  24. def __init(self,*args,**kwargs):
  25. forms.Form.__init__(self,*args,**kwargs)
  26. self.fields['limite'] = forms.CharField(required=True)
  27. class formMultipleCheckBox(forms.Form):
  28. choices = []
  29. def __init__(self,*args,**kwargs):
  30. forms.Form.__init__(self,*args,**kwargs)
  31. self.fields['select'] = forms.MultipleChoiceField(required=False,widget=forms.CheckboxSelectMultiple(),choices=self.choices)
  32. def c(self,lista):
  33. for u in lista:
  34. self.choices.append((u.id,u.id),)
  35. print('choices',len(self.choices))