diff options
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r-- | ishtar_common/wizards.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 7add2faa8..b775a0a36 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -20,7 +20,9 @@ import datetime from django.conf import settings -from django.contrib.formtools.wizard.views import NamedUrlWizardView +from django.contrib.formtools.wizard.storage import get_storage +from django.contrib.formtools.wizard.views import NamedUrlWizardView, \ + normalize_name from django.core.exceptions import ObjectDoesNotExist from django.core.files.images import ImageFile from django.db.models.fields.files import FileField @@ -608,6 +610,20 @@ class Wizard(NamedUrlWizardView): form_key + '-0-' + key #only check if the first field is available return key in request.session[storage.prefix]['step_data'][form_key] + @classmethod + def session_set_value(cls, request, form_key, key, value, reset=False): + prefix = form_key.split('-')[1] + normalize_name(cls.__name__) + storage = get_storage(cls.storage_name, prefix, request, + getattr(cls, 'file_storage', None)) + if reset: + storage.reset() + data = storage.get_step_data(form_key) + if not data: + data = {}#MultiValueDict() + key = key if key.startswith(form_key) else form_key + '-' + key + data[key] = value + storage.set_step_data(form_key, data) + def session_get_value(self, form_key, key, multi=False): """Get the value of a specific form""" if not self.session_has_key(form_key, key, multi): |