From 82bedefff6de53d8791af7d909adc2a4dfe1f99b Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 8 Dec 2014 19:34:40 -0400 Subject: [PATCH] Add unicode method, update and optimize validation code --- mayan/apps/metadata/models.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mayan/apps/metadata/models.py b/mayan/apps/metadata/models.py index ed820f5a00..8f3f34fd52 100644 --- a/mayan/apps/metadata/models.py +++ b/mayan/apps/metadata/models.py @@ -53,13 +53,13 @@ class DocumentMetadata(models.Model): return unicode(self.metadata_type) def save(self, *args, **kwargs): - if self.metadata_type not in self.document.document_type.metadata_type.all(): + if self.metadata_type.pk not in self.document.document_type.metadata.values_list('metadata_type', flat=True): raise ValidationError(_('Metadata type is not valid for this document type.')) return super(DocumentMetadata, self).save(*args, **kwargs) def delete(self, enforce_required=True, *args, **kwargs): - if enforce_required and self.metadata_type in self.document.document_type.metadata_type.filter(required=True): + if enforce_required and self.metadata_type.pk in self.document.document_type.metadata.filter(required=True).values_list('metadata_type', flat=True): raise ValidationError(_('Metadata type is required for this document type.')) return super(DocumentMetadata, self).delete(*args, **kwargs) @@ -75,6 +75,9 @@ class DocumentTypeMetadataType(models.Model): metadata_type = models.ForeignKey(MetadataType, verbose_name=_(u'Metadata type')) required = models.BooleanField(default=False, verbose_name=_('Required')) + def __unicode__(self): + return unicode(self.metadata_type) + class Meta: unique_together = ('document_type', 'metadata_type') verbose_name = _(u'Document type metadata type options')