Newer
Older
from django.forms import ModelForm
class WorkSpecificationForm(ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['predecessor_specification'].required = False
self.fields['filters'].required = False
def _extract_filters(self):
filter_names = [filter_name[0] for filter_name in DataProductFilter.objects.all().values_list('field')]
filters = {}
for filter_name in filter_names:
if filter_name in self.data:
filters[filter_name] = self.data[filter_name]
return filters
def clean(self):
self.cleaned_data = super().clean()
self.cleaned_data["filters"] = self._extract_filters()
return self.cleaned_data
fields = ['filters', 'selected_workflow', 'processing_site', 'predecessor_specification', 'batch_size']
labels = {
'selected_workflow': 'Selected workflow',
'processing_site': 'Processing Site (ATDB)',
'predecessor_specification': 'Predecessor work specification',
'batch_size': 'Files per task'