From fab7742ee0a637ac59c31f3b3f8f24aa10e6d229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 25 Dec 2014 16:33:59 +0100 Subject: [PATCH] forms: add current_step and current_page_no substitution variables (#6098) --- wcs/forms/root.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/wcs/forms/root.py b/wcs/forms/root.py index 3cb8de3..4753996 100644 --- a/wcs/forms/root.py +++ b/wcs/forms/root.py @@ -132,6 +132,8 @@ class FormPage(Directory): except KeyError: raise errors.TraversalError() + self.substvars = {} + get_publisher().substitutions.feed(self) get_publisher().substitutions.feed(self.formdef) self.tokens = TokensDirectory(self.formdef) @@ -142,6 +144,9 @@ class FormPage(Directory): self.user = get_request().user get_response().breadcrumb.append( (component + '/', self.formdef.name) ) + def get_substitution_variables(self): + return self.substvars + def schema(self): get_response().set_content_type('application/json') return self.formdef.export_to_json() @@ -168,6 +173,9 @@ class FormPage(Directory): steps = self.steps[:] if not self.formdef.confirmation: del steps[1] + self.substvars['current_step'] = steps[no] + if no == 0: + self.substvars['current_page_no'] = str(page_no + 1) if log_detail: get_logger().info('form %s - step %s (%s)' % (self.formdef.name, steps[no], log_detail)) else: -- 2.1.4