From 9c24f662524b7c0efa44bc36684a9ac6e0291b08 Mon Sep 17 00:00:00 2001
From: Todd Dembrey <todd.dembrey@torchbox.com>
Date: Wed, 20 Dec 2017 16:19:54 +0000
Subject: [PATCH] Use the session for the demo page

---
 opentech/apply/views.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/opentech/apply/views.py b/opentech/apply/views.py
index 9e4e9a318..49fa8d1b7 100644
--- a/opentech/apply/views.py
+++ b/opentech/apply/views.py
@@ -6,16 +6,15 @@ from .workflow import SingleStage, DoubleStage
 
 workflows = [SingleStage, DoubleStage]
 
-logs = []
-
-submission: dict = {}
-
 
 class BasicSubmissionForm(forms.Form):
     who_are_you = forms.CharField()
 
 
 def demo_workflow(request, wf_id):
+    logs = request.session.get('logs', list())
+    submission = request.session.get('submission', dict())
+
     wf = int(wf_id)
     workflow_class = workflows[wf - 1]
     workflow = workflow_class([BasicSubmissionForm] * wf)
@@ -27,7 +26,7 @@ def demo_workflow(request, wf_id):
         if current.stage.name not in submission:
             submitted_form = current.stage.form(request.POST)
             if submitted_form.is_valid():
-                submission[current.stage.name] = submitted_form
+                submission[current.stage.name] = submitted_form.cleaned_data
                 phase = current
                 logs.append(
                     f'{phase.stage}: Form was submitted'
@@ -50,6 +49,9 @@ def demo_workflow(request, wf_id):
     else:
         form = None
 
+    request.session['logs'] = logs
+    request.session['submission'] = submission
+
     context = {
         'workflow': workflow,
         'phase': phase,
-- 
GitLab