diff options
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r-- | ishtar_common/wizards.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index cc6107928..23469c659 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -21,7 +21,6 @@ import datetime # from functools import wraps from django.conf import settings -from django.contrib.formtools.wizard.storage import get_storage from django.contrib.formtools.wizard.views import NamedUrlWizardView, \ normalize_name, get_storage, StepsHelper from django.contrib.sites.models import Site @@ -77,6 +76,23 @@ def check_rights(rights=[], redirect_url='/'): return decorator +def check_rights_condition(rights): + """ + To be used to check in wizard condition_dict + """ + def func(self): + request = self.request + if request.user.ishtaruser.has_right('administrator', request.session): + return True + for right in rights: + print(right) + if request.user.ishtaruser.has_right(right, request.session): + return True + print('hop') + return False + return func + + class Wizard(NamedUrlWizardView): model = None label = '' @@ -126,7 +142,8 @@ class Wizard(NamedUrlWizardView): self.request = request self.session = request.session self.prefix = self.get_prefix(*args, **kwargs) - self.storage = get_storage(self.storage_name, self.prefix, request, + self.storage = get_storage( + self.storage_name, self.prefix, request, getattr(self, 'file_storage', None)) self.steps = StepsHelper(self) |