Only display metadata allowed for this document type in the add metadata view

This commit is contained in:
Roberto Rosario
2014-10-30 15:23:57 -04:00
parent 199a07ef8f
commit 09f4280f58
2 changed files with 7 additions and 2 deletions

View File

@@ -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'))

View File

@@ -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,