summaryrefslogtreecommitdiff
path: root/ishtar_common/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r--ishtar_common/forms.py23
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(