diff options
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( |