diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-10-28 19:21:41 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-10-28 19:21:41 +0200 | 
| commit | 6f80a494ceac19d5db0650a591bf112b09ea2eba (patch) | |
| tree | bd817bec361eff377bdd7b03b3ac2b37631f8c9d /ishtar_common/forms.py | |
| parent | 6435791849e9f386dc150d63c06025148698bb2d (diff) | |
| download | Ishtar-6f80a494ceac19d5db0650a591bf112b09ea2eba.tar.bz2 Ishtar-6f80a494ceac19d5db0650a591bf112b09ea2eba.zip | |
Too many lazy evaluations and nobody do the job! Fixed.
Diffstat (limited to 'ishtar_common/forms.py')
| -rw-r--r-- | ishtar_common/forms.py | 23 | 
1 files changed, 20 insertions, 3 deletions
| diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index b0e8cb43c..043b03f61 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -31,6 +31,10 @@ from django.utils import formats  from django.utils.functional import lazy  from django.utils.translation import ugettext_lazy as _ +import models +import widgets + +  # from formwizard.forms import NamedUrlSessionFormWizard @@ -44,10 +48,23 @@ class NamedUrlSessionFormWizard(forms.Form):      def rindex(self, idx):          return self.url_name.rindex(idx) -import models -import widgets -reverse_lazy = lazy(reverse, unicode) +def my_reverse(*args, **kwargs): +    """ +    Custom reverse method in order to evaluate lazy args +    """ +    if 'args' in kwargs: +        my_args = [] +        for arg in kwargs['args']: +            if callable(arg): +                my_args.append(unicode(arg())) +            else: +                my_args.append(unicode(arg)) +        kwargs['args'] = my_args +    return reverse(*args, **kwargs) + + +reverse_lazy = lazy(my_reverse, unicode)  regexp_name = re.compile(r"^[,:/\w\-'\"() \&\[\]@]+$", re.UNICODE)  name_validator = validators.RegexValidator( | 
