From f1b090f8d6b89d826ee9bf623d5c7291fd5a57f9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 9 Feb 2016 19:41:43 -0400 Subject: [PATCH] Don't store empty metadata value if the update checkbox is not checked. --- mayan/apps/metadata/forms.py | 7 ++++--- mayan/apps/sources/wizards.py | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) 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