Only display metadata allowed for this document type in the add metadata view
This commit is contained in:
@@ -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'))
|
||||
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user