diff --git a/mayan/apps/metadata/forms.py b/mayan/apps/metadata/forms.py index df5e69bb6a..e6efe25132 100644 --- a/mayan/apps/metadata/forms.py +++ b/mayan/apps/metadata/forms.py @@ -80,9 +80,10 @@ class MetadataForm(forms.Form): ) def clean_value(self): - return self.metadata_type.validate_value( - document_type=self.document_type, value=self.cleaned_data['value'] - ) + if self.cleaned_data.get('update'): + return self.metadata_type.validate_value( + document_type=self.document_type, value=self.cleaned_data['value'] + ) MetadataFormSet = formset_factory(MetadataForm, extra=0) diff --git a/mayan/apps/sources/wizards.py b/mayan/apps/sources/wizards.py index 47f74d2a3c..2e6f3c3924 100644 --- a/mayan/apps/sources/wizards.py +++ b/mayan/apps/sources/wizards.py @@ -87,8 +87,9 @@ class DocumentCreateWizard(ViewPermissionCheckMixin, SessionWizardView): try: for identifier, metadata in enumerate(self.get_cleaned_data_for_step('1')): - query_dict['metadata%s_id' % identifier] = metadata['id'] - query_dict['metadata%s_value' % identifier] = metadata['value'] + if metadata.get('update'): + query_dict['metadata%s_id' % identifier] = metadata['id'] + query_dict['metadata%s_value' % identifier] = metadata['value'] except TypeError: pass