diff options
author | Sawyer Bergeron <sbergeron@iol.unh.edu> | 2019-06-17 13:10:01 -0400 |
---|---|---|
committer | Sawyer Bergeron <sbergeron@iol.unh.edu> | 2019-06-17 13:10:01 -0400 |
commit | ec8566ea5d224f9ba1daf995107ada18baa7b61e (patch) | |
tree | 6776299a6fd1a154f616b8b170c6f4326ce8c760 | |
parent | 070fa3c7761cb5f3fe7291728aaa1195b7d5432b (diff) |
Enforce step validity when going forward
Change-Id: Ic598a5e2637b88f6d044bd93c5b597582f0c1081
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
-rw-r--r-- | src/templates/workflow/viewport-base.html | 3 | ||||
-rw-r--r-- | src/workflow/workflow_manager.py | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/templates/workflow/viewport-base.html b/src/templates/workflow/viewport-base.html index beea7d2..4608ef9 100644 --- a/src/templates/workflow/viewport-base.html +++ b/src/templates/workflow/viewport-base.html @@ -187,8 +187,7 @@ { if( errors_exist(data) ) { - var continueanyway = confirm("The current step has errors that will prevent it from saving. Continue anyway?"); - if( !continueanyway ) + if( to != "prev" ) { return; } diff --git a/src/workflow/workflow_manager.py b/src/workflow/workflow_manager.py index 26f926e..80b8a67 100644 --- a/src/workflow/workflow_manager.py +++ b/src/workflow/workflow_manager.py @@ -97,7 +97,13 @@ class SessionManager(): def post_render(self, request): return self.active_workflow().steps[self.active_workflow().active_index].post_render(request) + def get_active_step(self): + return self.active_workflow().steps[self.active_workflow().active_index] + def go_next(self, **kwargs): + # need to verify current step is valid to allow this + if self.get_active_step().valid < 200: + return next_step = self.active_workflow().active_index + 1 if next_step >= len(self.active_workflow().steps): raise Exception("Out of bounds request for step") |