Issue #88, remove metadata type selection step from interactive upload wizard
Max wizard steps is now 2. Second step is skiped when document type has not associated metadata types.
This commit is contained in:
@@ -24,6 +24,17 @@ from .permissions import (PERMISSION_METADATA_DOCUMENT_ADD,
|
||||
PERMISSION_METADATA_DOCUMENT_VIEW)
|
||||
from .urls import api_urls
|
||||
|
||||
|
||||
@property
|
||||
def document_type_metadata(self):
|
||||
try:
|
||||
return self.documenttypedefaults_set.get().default_metadata
|
||||
except self.documenttypedefaults_set.model.DoesNotExist:
|
||||
return MetadataType.objects.none()
|
||||
|
||||
|
||||
DocumentType.add_to_class('metadata', document_type_metadata)
|
||||
|
||||
register_links(['metadata:metadata_add', 'metadata:metadata_edit', 'metadata:metadata_remove', 'metadata:metadata_view'], [metadata_add, metadata_edit, metadata_remove], menu_name='sidebar')
|
||||
register_links(Document, [metadata_view], menu_name='form_header')
|
||||
register_links(DocumentType, [setup_document_type_metadata])
|
||||
|
||||
@@ -80,24 +80,6 @@ class MetadataRemoveForm(MetadataForm):
|
||||
update = forms.BooleanField(initial=False, label=_(u'Remove'), required=False)
|
||||
|
||||
|
||||
class MetadataSelectionForm(forms.Form):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(MetadataSelectionForm, self).__init__(*args, **kwargs)
|
||||
document_type = getattr(self, 'initial', {}).get('document_type', None)
|
||||
if document_type:
|
||||
try:
|
||||
defaults = document_type.documenttypedefaults_set.get()
|
||||
self.fields['metadata_types'].initial = defaults.default_metadata.all()
|
||||
except DocumentTypeDefaults.DoesNotExist:
|
||||
pass
|
||||
|
||||
metadata_types = forms.ModelMultipleChoiceField(
|
||||
queryset=MetadataType.objects.all(),
|
||||
label=_(u'Metadata'),
|
||||
required=False,
|
||||
widget=ScrollableCheckboxSelectMultiple(attrs={'size': 10, 'class': 'choice_form'})
|
||||
)
|
||||
|
||||
MetadataRemoveFormSet = formset_factory(MetadataRemoveForm, extra=0)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user