diff options
-rw-r--r-- | archaeological_context_records/urls.py | 16 | ||||
-rw-r--r-- | archaeological_context_records/views.py | 2 | ||||
-rw-r--r-- | archaeological_finds/urls.py | 14 | ||||
-rw-r--r-- | archaeological_finds/views.py | 2 | ||||
-rw-r--r-- | archaeological_operations/forms.py | 15 | ||||
-rw-r--r-- | archaeological_operations/models.py | 2 | ||||
-rw-r--r-- | archaeological_operations/urls.py | 37 | ||||
-rw-r--r-- | archaeological_operations/views.py | 204 | ||||
-rw-r--r-- | archaeological_operations/wizards.py | 43 | ||||
-rw-r--r-- | archaeological_warehouse/urls.py | 6 | ||||
-rw-r--r-- | archaeological_warehouse/views.py | 1 | ||||
-rw-r--r-- | example_project/urls.py | 2 | ||||
-rw-r--r-- | ishtar_common/templates/base.html | 2 | ||||
-rw-r--r-- | ishtar_common/wizards.py | 14 |
14 files changed, 187 insertions, 173 deletions
diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py index 1cbf03f12..0ac1566ac 100644 --- a/archaeological_context_records/urls.py +++ b/archaeological_context_records/urls.py @@ -18,27 +18,26 @@ # See the file COPYING for details. from django.conf.urls.defaults import * -""" import views # forms urlpatterns = patterns('', # Context records - url(r'record_search/(?P<step>.+)$', + url(r'record_search/(?P<step>.+)?$', views.record_search_wizard, name='record_search'), - url(r'record_creation/(?P<step>.+)$', + url(r'record_creation/(?P<step>.+)?$', views.record_creation_wizard, name='record_creation'), - url(r'record_modification/(?P<step>.+)$', + url(r'record_modification/(?P<step>.+)?$', views.record_modification_wizard, name='record_modification'), - url(r'record_deletion/(?P<step>.+)$', + url(r'record_deletion/(?P<step>.+)?$', views.record_deletion_wizard, name='record_deletion'), - url(r'record_source_creation/(?P<step>.+)$', + url(r'record_source_creation/(?P<step>.+)?$', views.record_source_creation_wizard, name='record_source_creation'), - url(r'record_source_modification/(?P<step>.+)$', + url(r'record_source_modification/(?P<step>.+)?$', views.record_source_modification_wizard, name='record_source_modification'), - url(r'record_source_deletion/(?P<step>.+)$', + url(r'record_source_deletion/(?P<step>.+)?$', views.record_source_deletion_wizard, name='record_source_deletion'), ) @@ -54,4 +53,3 @@ urlpatterns += patterns('archaeological_context_records.views', url(r'get-contexrecordsource/(?P<type>.+)?$', 'get_contextrecordsource', name='get-contextrecordsource'), ) -""" diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py index b1f8ca772..103db2066 100644 --- a/archaeological_context_records/views.py +++ b/archaeological_context_records/views.py @@ -17,6 +17,8 @@ # See the file COPYING for details. +from django.utils.translation import ugettext_lazy as _ + from ishtar_common.views import get_item, show_item, revert_item from ishtar_common.wizards import SearchWizard from wizards import * diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index fbf359813..e4a7d748f 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -19,24 +19,23 @@ from django.conf.urls.defaults import * -""" import views # forms urlpatterns = patterns('', - url(r'item_search/(?P<step>.+)$', + url(r'item_search/(?P<step>.+)?$', views.item_search_wizard, name='item_search'), - url(r'item_creation/(?P<step>.+)$', + url(r'item_creation/(?P<step>.+)?$', views.item_creation_wizard, name='item_creation'), - url(r'item_modification/(?P<step>.+)$', + url(r'item_modification/(?P<step>.+)?$', views.item_modification_wizard, name='item_modification'), - url(r'item_source_creation/(?P<step>.+)$', + url(r'item_source_creation/(?P<step>.+)?$', views.item_source_creation_wizard, name='item_source_creation'), - url(r'item_source_modification/(?P<step>.+)$', + url(r'item_source_modification/(?P<step>.+)?$', views.item_source_modification_wizard, name='item_source_modification'), - url(r'item_source_deletion/(?P<step>.+)$', + url(r'item_source_deletion/(?P<step>.+)?$', views.item_source_deletion_wizard, name='item_source_deletion'), ) @@ -49,4 +48,3 @@ urlpatterns += patterns('archaeological_finds.views', url(r'get-findsource/(?P<type>.+)?$', 'get_findsource', name='get-findsource'), ) -""" diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index cde192ef3..5f2e6cb4a 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -17,6 +17,8 @@ # See the file COPYING for details. +from django.utils.translation import ugettext_lazy as _ + from ishtar_common.views import get_item, show_item, revert_item from ishtar_common.wizards import SearchWizard from wizards import * diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index dc342f477..95d2d5275 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -337,21 +337,6 @@ PeriodFormset = formset_factory(PeriodForm, can_delete=True, formset=PeriodFormSet) PeriodFormset.form_label = _("Periods") -def has_associated_file(form_name, file_key='associated_file', negate=False): - def func(self, request, storage): - if storage.prefix not in request.session or \ - 'step_data' not in request.session[storage.prefix] or \ - form_name not in request.session[storage.prefix]['step_data'] or\ - form_name + '-' + file_key not in \ - request.session[storage.prefix]['step_data'][form_name]: - return negate - try: - file_id = int(request.session[storage.prefix]['step_data']\ - [form_name][form_name+'-'+file_key]) - return not negate - except ValueError: - return negate - return func class FinalOperationClosingForm(FinalForm): confirm_msg = " " confirm_end_msg = _(u"Would you like to close this operation?") diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 42026eebe..831190342 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -17,6 +17,8 @@ # See the file COPYING for details. +import datetime + from django.conf import settings from django.contrib.gis.db import models from django.db.models import Q, Count, Sum, Max, Avg diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py index fb3278e31..89e1a63fc 100644 --- a/archaeological_operations/urls.py +++ b/archaeological_operations/urls.py @@ -19,40 +19,39 @@ from django.conf.urls.defaults import * -""" import views # forms urlpatterns = patterns('', - url(r'operation_search/(?P<step>.+)$', - views.operation_search_wizard, name='operation_search'), - url(r'operation_creation/(?P<step>.+)$', - views.operation_creation_wizard, name='operation_creation'), - url(r'operation_modification/(?P<step>.+)$', - views.operation_modification_wizard, - name='operation_modification'), - url(r'operation_closing/(?P<step>.+)$', - views.operation_closing_wizard, name='operation_closing'), - url(r'operation_deletion/(?P<step>.+)$', - views.operation_deletion_wizard, name='operation_deletion'), - url(r'operation_administrativeactop/(?P<step>.+)$', + url(r'operation_administrativeactop/(?P<step>.+)?$', views.operation_administrativeactop_wizard, name='operation_administrativeactop'), - url(r'operation_administrativeactop_modification/(?P<step>.+)$', + url(r'operation_administrativeactop_modification/(?P<step>.+)?$', views.operation_administrativeactop_modification_wizard, name='operation_administrativeactop_modification'), - url(r'operation_administrativeactop_deletion/(?P<step>.+)$', + url(r'operation_administrativeactop_deletion/(?P<step>.+)?$', views.operation_administrativeactop_deletion_wizard, name='operation_administrativeactop_deletion'), - url(r'operation_source_creation/(?P<step>.+)$', + url(r'operation_source_creation/(?P<step>.+)?$', views.operation_source_creation_wizard, name='operation_source_creation'), - url(r'operation_source_modification/(?P<step>.+)$', + url(r'operation_source_modification/(?P<step>.+)?$', views.operation_source_modification_wizard, name='operation_source_modification'), - url(r'operation_source_deletion/(?P<step>.+)$', + url(r'operation_source_deletion/(?P<step>.+)?$', views.operation_source_deletion_wizard, name='operation_source_deletion'), + url(r'operation_search/(?P<step>.+)?$', + views.operation_search_wizard, name='operation_search'), + url(r'operation_creation/(?P<step>.+)?$', + views.operation_creation_wizard, name='operation_creation'), + url(r'operation_modification/(?P<step>.+)?$', + views.operation_modification_wizard, + name='operation_modification'), + url(r'operation_closing/(?P<step>.+)?$', + views.operation_closing_wizard, name='operation_closing'), + url(r'operation_deletion/(?P<step>.+)?$', + views.operation_deletion_wizard, name='operation_deletion'), ) urlpatterns += patterns('archaeological_operations.views', @@ -72,4 +71,4 @@ urlpatterns += patterns('archaeological_operations.views', 'get_administrativeactop', name='get-administrativeactop'), url(r'get-operationsource/(?P<type>.+)?$', 'get_operationsource', name='get-operationsource'), -)""" +) diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index c00624fe1..38e2a1bc4 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -22,6 +22,7 @@ import json from django.db.models import Q from django.http import HttpResponse from django.shortcuts import render_to_response +from django.utils.translation import ugettext_lazy as _ from ishtar_common.views import get_item, show_item, revert_item from ishtar_common.wizards import SearchWizard @@ -95,130 +96,131 @@ def dashboard_operation(request, dct, obj_id=None, *args, **kwargs): context_instance=RequestContext(request)) operation_search_wizard = SearchWizard.as_view([ - ('general-operation_search', OperationFormSelection)], - label=_(u"Operation search"), - url_name='operation_search',) + ('general-operation_search', OperationFormSelection)], + label=_(u"Operation search"), + url_name='operation_search',) operation_creation_wizard = OperationWizard.as_view([ - ('general-operation_creation', OperationFormGeneral), - ('preventive-operation_creation', OperationFormPreventive), - ('preventivediag-operation_creation', OperationFormPreventiveDiag), - ('townsgeneral-operation_creation', TownFormset), - ('towns-operation_creation', SelectedTownFormset), - ('parcelsgeneral-operation_creation', SelectedParcelGeneralFormSet), - ('parcels-operation_creation', SelectedParcelFormSet), - ('remains-operation_creation', RemainFormset), - ('periods-operation_creation', PeriodFormset), - ('final-operation_creation', FinalForm)], - label=_(u"Operation creation"), - condition_dict={ - 'preventive-operation_creation':\ - is_preventive('general-operation_creation', - models.OperationType, - 'operation_type', 'prev_excavation'), - 'preventivediag-operation_creation':\ - is_preventive('general-operation_creation', - models.OperationType, - 'operation_type', 'arch_diagnostic'), - 'townsgeneral-operation_creation':has_associated_file( - 'general-operation_creation', negate=True), - 'towns-operation_creation':has_associated_file( - 'general-operation_creation'), - 'parcelsgeneral-operation_creation':has_associated_file( - 'general-operation_creation', negate=True), - 'parcels-operation_creation':has_associated_file( - 'general-operation_creation'), - }, - url_name='operation_creation',) + ('general-operation_creation', OperationFormGeneral), + ('preventive-operation_creation', OperationFormPreventive), + ('preventivediag-operation_creation', OperationFormPreventiveDiag), + ('townsgeneral-operation_creation', TownFormset), + ('towns-operation_creation', SelectedTownFormset), + ('parcelsgeneral-operation_creation', SelectedParcelGeneralFormSet), + ('parcels-operation_creation', SelectedParcelFormSet), + ('remains-operation_creation', RemainFormset), + ('periods-operation_creation', PeriodFormset), + ('final-operation_creation', FinalForm)], + label=_(u"Operation creation"), + condition_dict={ + 'preventive-operation_creation':\ + is_preventive('general-operation_creation', models.OperationType, + 'operation_type', 'prev_excavation'), + 'preventivediag-operation_creation':\ + is_preventive('general-operation_creation', models.OperationType, + 'operation_type', 'arch_diagnostic'), + 'townsgeneral-operation_creation':has_associated_file( + 'general-operation_creation', negate=True), + 'towns-operation_creation':has_associated_file( + 'general-operation_creation'), + 'parcelsgeneral-operation_creation':has_associated_file( + 'general-operation_creation', negate=True), + 'parcels-operation_creation':has_associated_file( + 'general-operation_creation'), + }, + url_name='operation_creation',) operation_modification_wizard = OperationModificationWizard.as_view([ - ('selec-operation_modification', OperationFormSelection), - ('general-operation_modification', OperationFormGeneral), - ('preventive-operation_modification', OperationFormPreventive), - ('preventivediag-operation_modification', OperationFormPreventiveDiag), - ('towns-operation_modification', SelectedTownFormset), - ('townsgeneral-operation_modification', TownFormset), - ('parcels-operation_modification', SelectedParcelFormSet), - ('parcelsgeneral-operation_modification', SelectedParcelGeneralFormSet), - ('remains-operation_modification', RemainFormset), - ('periods-operation_modification', PeriodFormset), - ('final-operation_modification', FinalForm)], - label=_(u"Operation modification"), - condition_dict={ - 'preventive-operation_modification':is_preventive( - 'general-operation_modification', models.OperationType, - 'operation_type', 'prev_excavation'), - 'preventivediag-operation_modification':is_preventive( - 'general-operation_modification', models.OperationType, - 'operation_type', 'arch_diagnostic'), - 'townsgeneral-operation_modification':has_associated_file( - 'general-operation_modification', negate=True), - 'towns-operation_modification':has_associated_file( - 'general-operation_modification'), - 'parcelsgeneral-operation_modification':has_associated_file( - 'general-operation_modification', negate=True), - 'parcels-operation_modification':has_associated_file( - 'general-operation_modification'), - }, - url_name='operation_modification',) + ('selec-operation_modification', OperationFormSelection), + ('general-operation_modification', OperationFormGeneral), + ('preventive-operation_modification', OperationFormPreventive), + ('preventivediag-operation_modification', OperationFormPreventiveDiag), + ('towns-operation_modification', SelectedTownFormset), + ('townsgeneral-operation_modification', TownFormset), + ('parcels-operation_modification', SelectedParcelFormSet), + ('parcelsgeneral-operation_modification', SelectedParcelGeneralFormSet), + ('remains-operation_modification', RemainFormset), + ('periods-operation_modification', PeriodFormset), + ('final-operation_modification', FinalForm)], + label=_(u"Operation modification"), + condition_dict={ + 'preventive-operation_modification':is_preventive( + 'general-operation_modification', models.OperationType, + 'operation_type', 'prev_excavation'), + 'preventivediag-operation_modification':is_preventive( + 'general-operation_modification', models.OperationType, + 'operation_type', 'arch_diagnostic'), + 'townsgeneral-operation_modification':has_associated_file( + 'general-operation_modification', negate=True), + 'towns-operation_modification':has_associated_file( + 'general-operation_modification'), + 'parcelsgeneral-operation_modification':has_associated_file( + 'general-operation_modification', negate=True), + 'parcels-operation_modification':has_associated_file( + 'general-operation_modification'), + }, + url_name='operation_modification',) operation_closing_wizard = OperationClosingWizard.as_view([ - ('selec-operation_closing', OperationFormSelection), - ('date-operation_closing', ClosingDateFormSelection), - ('final-operation_closing', FinalOperationClosingForm)], - label=_(u"Operation closing"), - url_name='operation_closing',) + ('selec-operation_closing', OperationFormSelection), + ('date-operation_closing', ClosingDateFormSelection), + ('final-operation_closing', FinalOperationClosingForm)], + label=_(u"Operation closing"), + url_name='operation_closing',) operation_deletion_wizard = OperationDeletionWizard.as_view([ - ('selec-operation_deletion', OperationFormSelection), - ('final-operation_deletion', OperationDeletionForm)], - label=_(u"Operation deletion"), - url_name='operation_deletion',) + ('selec-operation_deletion', OperationFormSelection), + ('final-operation_deletion', OperationDeletionForm)], + label=_(u"Operation deletion"), + url_name='operation_deletion',) operation_source_creation_wizard = OperationSourceWizard.as_view([ - ('selec-operation_source_creation', SourceOperationFormSelection), - ('source-operation_source_creation',OperationSourceForm), - ('authors-operation_source_creation', AuthorFormset), - ('final-operation_source_creation', FinalForm)], - label=_(u"Operation: source creation"), - url_name='operation_source_creation',) + ('selec-operation_source_creation', SourceOperationFormSelection), + ('source-operation_source_creation',OperationSourceForm), + ('authors-operation_source_creation', AuthorFormset), + ('final-operation_source_creation', FinalForm)], + label=_(u"Operation: source creation"), + url_name='operation_source_creation',) operation_source_modification_wizard = OperationSourceWizard.as_view([ - ('selec-operation_source_modification', OperationSourceFormSelection), - ('source-operation_source_modification', OperationSourceForm), - ('authors-operation_source_modification', AuthorFormset), - ('final-operation_source_modification', FinalForm)], - label=_(u"Operation: source modification"), - url_name='operation_source_modification',) + ('selec-operation_source_modification', OperationSourceFormSelection), + ('source-operation_source_modification', OperationSourceForm), + ('authors-operation_source_modification', AuthorFormset), + ('final-operation_source_modification', FinalForm)], + label=_(u"Operation: source modification"), + url_name='operation_source_modification',) operation_source_deletion_wizard = OperationSourceDeletionWizard.as_view([ - ('selec-operation_source_deletion', OperationSourceFormSelection), - ('final-operation_source_deletion', SourceDeletionForm)], - label=_(u"Operation: source deletion"), - url_name='operation_source_deletion',) + ('selec-operation_source_deletion', OperationSourceFormSelection), + ('final-operation_source_deletion', SourceDeletionForm)], + label=_(u"Operation: source deletion"), + url_name='operation_source_deletion',) operation_administrativeactop_wizard = \ OperationAdministrativeActWizard.as_view([ ('selec-operation_administrativeactop', OperationFormSelection), - ('administrativeact-operation_administrativeactop', AdministrativeActOpeForm), + ('administrativeact-operation_administrativeactop', + AdministrativeActOpeForm), ('final-operation_administrativeactop', FinalForm)], - label=_(u"Operation: new administrative act"), - url_name='operation_administrativeactop',) + label=_(u"Operation: new administrative act"), + url_name='operation_administrativeactop',) operation_administrativeactop_modification_wizard = \ OperationEditAdministrativeActWizard.as_view([ - ('selec-operation_administrativeactop_modification', - AdministrativeActOpeFormSelection), - ('administrativeact-operation_administrativeactop_modification', - AdministrativeActOpeForm), - ('final-operation_administrativeactop_modification', FinalForm)], - url_name='operation_administrativeactop_modification',) + ('selec-operation_administrativeactop_modification', + AdministrativeActOpeFormSelection), + ('administrativeact-operation_administrativeactop_modification', + AdministrativeActOpeForm), + ('final-operation_administrativeactop_modification', FinalForm)], + label=_(u"Operation: administrative act modification"), + url_name='operation_administrativeactop_modification',) operation_administrativeactop_deletion_wizard = \ AdministrativeActDeletionWizard.as_view([ - ('selec-operation_administrativeactop_deletion', - AdministrativeActOpeFormSelection), - ('final-operation_administrativeactop_deletion', - FinalAdministrativeActDeleteForm)], - url_name='operation_administrativeactop_deletion',) + ('selec-operation_administrativeactop_deletion', + AdministrativeActOpeFormSelection), + ('final-operation_administrativeactop_deletion', + FinalAdministrativeActDeleteForm)], + label=_(u"Operation: administrative act deletion"), + url_name='operation_administrativeactop_deletion',) diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py index 7c09c1154..66469b5b7 100644 --- a/archaeological_operations/wizards.py +++ b/archaeological_operations/wizards.py @@ -19,6 +19,7 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist +from django.db.models import Max from django.shortcuts import render_to_response from django.template import RequestContext from django.utils.translation import ugettext_lazy as _ @@ -150,18 +151,20 @@ class OperationSourceWizard(SourceWizard): initial = super(OperationSourceWizard, self).get_form_initial(step) # put default index and operation_id field in the main source form general_form_key = 'selec-' + self.url_name - if step.startswith('source-') \ - and self.session_has_key(general_form_key): - gen_storage = self.request.session[storage.prefix]['step_data']\ - [general_form_key] - if general_form_key+"-operation" in gen_storage: - operation_id = int(gen_storage[general_form_key+"-operation"]) - elif general_form_key+"-pk" in gen_storage: - pk = int(gen_storage[general_form_key+"-pk"]) + if step.startswith('source-'): + operation_id = None + if self.session_has_key(general_form_key, 'operation'): try: + operation_id = int(self.session_get_value(general_form_key, + "operation")) + except ValueError: + pass + elif self.session_has_key(general_form_key, "pk"): + try: + pk = self.session_get_value(general_form_key, "pk") source = models.OperationSource.objects.get(pk=pk) operation_id = source.operation.pk - except ObjectDoesNotExist: + except (ValueError, ObjectDoesNotExist): pass if operation_id: initial['hidden_operation_id'] = operation_id @@ -241,7 +244,7 @@ def is_preventive(form_name, model, type_key='operation_type', key=''): return False try: typ = request.session[storage.prefix]['step_data']\ - [form_name][form_name+'-'+type_key] + [form_name][form_name+'-'+type_key] if type(typ) in (list, tuple): typ = typ[0] typ = int(typ) @@ -250,3 +253,23 @@ def is_preventive(form_name, model, type_key='operation_type', key=''): return False return func +def has_associated_file(form_name, file_key='associated_file', negate=False): + def func(self): + request = self.request + storage = self.storage + if storage.prefix not in request.session or \ + 'step_data' not in request.session[storage.prefix] or \ + form_name not in request.session[storage.prefix]['step_data'] or\ + form_name + '-' + file_key not in \ + request.session[storage.prefix]['step_data'][form_name]: + return negate + try: + file_id = request.session[storage.prefix]['step_data']\ + [form_name][form_name+'-'+file_key] + if type(file_id) in (list, tuple): + file_id = file_id[0] + file_id = int(file_id) + return not negate + except ValueError: + return negate + return func diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py index 903d77a59..e91568b1e 100644 --- a/archaeological_warehouse/urls.py +++ b/archaeological_warehouse/urls.py @@ -19,14 +19,13 @@ from django.conf.urls.defaults import * -""" import views # forms urlpatterns = patterns('', - url(r'treatment_creation/(?P<step>.+)$', + url(r'treatment_creation/(?P<step>.+)?$', views.treatment_creation_wizard, name='treatment_creation'), - url(r'warehouse_packaging/(?P<step>.+)$', + url(r'warehouse_packaging/(?P<step>.+)?$', views.warehouse_packaging_wizard, name='warehouse_packaging'), ) @@ -42,4 +41,3 @@ urlpatterns += patterns('archaeological_warehouse.views', url(r'autocomplete-container/?$', 'autocomplete_container', name='autocomplete-container'), ) -""" diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index 78df71bc2..f15220efe 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -22,6 +22,7 @@ import json from django.db.models import Q from django.http import HttpResponse from django.shortcuts import render_to_response +from django.utils.translation import ugettext_lazy as _ from ishtar_common.views import get_item, show_item, revert_item import models diff --git a/example_project/urls.py b/example_project/urls.py index e4247b922..f97f51be4 100644 --- a/example_project/urls.py +++ b/example_project/urls.py @@ -15,7 +15,7 @@ urlpatterns = patterns('', APP_LIST = ['archaeological_files', 'archaeological_operations', 'archaeological_context_records', 'archaeological_warehouse', 'archaeological_finds'] -APP_LIST = ['archaeological_files'] +APP_LIST = ['archaeological_files', 'archaeological_operations'] for app in APP_LIST: if app in settings.INSTALLED_APPS: urlpatterns += patterns('', diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html index bfc78b166..6e44e8729 100644 --- a/ishtar_common/templates/base.html +++ b/ishtar_common/templates/base.html @@ -39,7 +39,7 @@ {% block context %}{% if current_menu %} <form method="post" action="{% url update-current-item %}"> <fieldset> - <legend>{% trans "Default items"%}</legend> + <legend>{% trans "Default selected items"%}</legend> <table id='current_items'> {% for lbl, model_name, items in current_menu %} <tr> diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index fb6ad22e2..373ee0e41 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -551,13 +551,19 @@ class Wizard(NamedUrlWizardView): storage = self.storage if not multi: key = key.startswith(form_key) and key or form_key + '-' + key - return request.session[storage.prefix]['step_data'][form_key][key] + val = request.session[storage.prefix]['step_data'][form_key][key] + if type(val) in (list, tuple): + val = val[0] + return val vals = [] for k in request.session[storage.prefix]['step_data'][form_key]: if k.startswith(form_key) and k.endswith(key) and \ request.session[storage.prefix]['step_data'][form_key][k]: - vals.append(request.session[storage.prefix]['step_data']\ - [form_key][k]) + val = request.session[storage.prefix]['step_data']\ + [form_key][k] + if type(val) in (list, tuple): + val = val[0] + vals.append(val) return vals def get_current_object(self): @@ -567,8 +573,6 @@ class Wizard(NamedUrlWizardView): main_form_key = 'selec-' + self.url_name try: idx = self.session_get_value(main_form_key, 'pk') - if type(idx) in (tuple, list): - idx = idx[0] idx = int(idx) current_obj = self.model.objects.get(pk=idx) except(TypeError, ValueError, ObjectDoesNotExist): |