forms.py 1.0 KB

1234567891011121314151617181920212223242526272829
  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. class DeleteOldDocuments(forms.Form):
  22. def __init(self,*args,**kwargs):
  23. forms.Form.__init__(self,*args,**kwargs)
  24. self.fields['limite'] = forms.CharField(required=True)