diff options
| author | Étienne Loks <etienne.loks@proxience.com> | 2015-12-14 18:58:00 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@proxience.com> | 2015-12-14 18:58:00 +0100 | 
| commit | 58dccb1cdf436f84827e20c40c96296a3778621d (patch) | |
| tree | 9fe81e9e3a3eb84b1abc3fa799850f6116c0e0de /ishtar_common/wizards.py | |
| parent | 48926f80437f1e8f618271c614f57c8e20883865 (diff) | |
| download | Ishtar-58dccb1cdf436f84827e20c40c96296a3778621d.tar.bz2 Ishtar-58dccb1cdf436f84827e20c40c96296a3778621d.zip | |
Adapt menus and urls for right management - check_rights_condition for filtering wizard steps
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) | 
