Move metadata form value validation to .clean() and update field data may not be available yet when validatng the value field. Only validate form value if form has a metadata type associated.

This commit is contained in:
Roberto Rosario
2016-02-10 02:27:42 -04:00
parent 03e7339f9b
commit f3d1faebf1

View File

@@ -79,12 +79,15 @@ class MetadataForm(forms.Form):
attrs={'readonly': 'readonly'}
)
def clean_value(self):
if self.cleaned_data.get('update'):
return self.metadata_type.validate_value(
document_type=self.document_type, value=self.cleaned_data['value']
def clean(self):
if self.cleaned_data.get('update') and hasattr(self, 'metadata_type'):
self.cleaned_data['value'] = self.metadata_type.validate_value(
document_type=self.document_type,
value=self.cleaned_data.get('value')
)
return self.cleaned_data
MetadataFormSet = formset_factory(MetadataForm, extra=0)