From 32d2608bdd7e9ed4be2b28be6281127c162a1ca1 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 1 Dec 2014 16:09:26 -0400 Subject: [PATCH] Only add metadata type it is not in the list --- mayan/apps/metadata/classes.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mayan/apps/metadata/classes.py b/mayan/apps/metadata/classes.py index 3b614c50c1..a2d43ed365 100644 --- a/mayan/apps/metadata/classes.py +++ b/mayan/apps/metadata/classes.py @@ -26,9 +26,10 @@ class DocumentTypeMetadataTypeHelper(object): return MetadataType.objects.none() def add(self, metadata_type, required=False): - DocumentTypeMetadataType.objects.create(document_type=self.instance, metadata_type=metadata_type, required=required) - if required: - task_add_required_metadata_type.apply_async(kwargs={'metadata_type_id': metadata_type.pk, 'document_type_id': self.instance.pk}, queue='metadata') + if metadata_type not in self.instance.metadata_type.all(): + DocumentTypeMetadataType.objects.create(document_type=self.instance, metadata_type=metadata_type, required=required) + if required: + task_add_required_metadata_type.apply_async(kwargs={'metadata_type_id': metadata_type.pk, 'document_type_id': self.instance.pk}, queue='metadata') def remove(self, metadata_type): DocumentTypeMetadataType.objects.get(document_type=self.instance, metadata_type=metadata_type).delete()