From 09f4280f588e6aca3514444b7a597cf637cd407f Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 30 Oct 2014 15:23:57 -0400 Subject: [PATCH] Only display metadata allowed for this document type in the add metadata view --- mayan/apps/metadata/forms.py | 5 +++++ mayan/apps/metadata/views.py | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/mayan/apps/metadata/forms.py b/mayan/apps/metadata/forms.py index ac63eac786..df286a490c 100644 --- a/mayan/apps/metadata/forms.py +++ b/mayan/apps/metadata/forms.py @@ -68,6 +68,11 @@ MetadataFormSet = formset_factory(MetadataForm, extra=0) class AddMetadataForm(forms.Form): + def __init__(self, *args, **kwargs): + document_type = kwargs.pop('document_type') + super(AddMetadataForm, self).__init__(*args, **kwargs) + self.fields['metadata_type'].queryset=document_type.metadata_type.all() + metadata_type = forms.ModelChoiceField(queryset=MetadataType.objects.all(), label=_(u'Metadata type')) diff --git a/mayan/apps/metadata/views.py b/mayan/apps/metadata/views.py index 48607eedf9..d283fddfe5 100644 --- a/mayan/apps/metadata/views.py +++ b/mayan/apps/metadata/views.py @@ -143,7 +143,7 @@ def metadata_add(request, document_id=None, document_id_list=None): next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', post_action_redirect))) if request.method == 'POST': - form = AddMetadataForm(request.POST) + form = AddMetadataForm(data=request.POST, document_type=document.document_type) if form.is_valid(): metadata_type = form.cleaned_data['metadata_type'] for document in documents: @@ -172,7 +172,7 @@ def metadata_add(request, document_id=None, document_id_list=None): ) else: - form = AddMetadataForm() + form = AddMetadataForm(document_type=document.document_type) context = { 'form': form,