Added ability to specify default metadata or metadataset per document type

This commit is contained in:
Roberto Rosario
2011-05-30 23:44:12 -04:00
parent 12d3ec4ed5
commit 43f37ffd32
4 changed files with 40 additions and 9 deletions
+3 -6
View File
@@ -25,7 +25,7 @@ class DocumentCreateWizard(BoundFormWizard):
}
if data not in initial:
initial.append(data)
return initial
def __init__(self, *args, **kwargs):
@@ -36,13 +36,9 @@ class DocumentCreateWizard(BoundFormWizard):
_(u'step 2 of 3: Metadata selection'),
_(u'step 3 of 3: Document metadata'),
])
self.document_type = kwargs.pop('document_type', None)
super(DocumentCreateWizard, self).__init__(*args, **kwargs)
if self.document_type:
self.initial = {0: self.generate_metadata_initial_values()}
def render_template(self, request, form, previous_fields, step, context=None):
context = {'step_title': self.extra_context['step_titles'][step]}
return super(DocumentCreateWizard, self).render_template(
@@ -55,6 +51,7 @@ class DocumentCreateWizard(BoundFormWizard):
def process_step(self, request, form, step):
if isinstance(form, DocumentTypeSelectForm):
self.document_type = form.cleaned_data['document_type']
self.initial = {1: {'document_type': self.document_type}}
if isinstance(form, MetadataSelectionForm):
self.metadata_sets = form.cleaned_data['metadata_sets']
@@ -62,7 +59,7 @@ class DocumentCreateWizard(BoundFormWizard):
initial_data = self.generate_metadata_initial_values()
self.initial = {2: initial_data}
if not initial_data:
# If there is no metadata selected end wizard
# If there is no metadata selected, finish wizard
self.form_list = [DocumentTypeSelectForm, MetadataSelectionForm]
if isinstance(form, MetadataFormSet):