Merge pull request #448 from dod-ccpo/save-form-state

Save user's form state for later when their session expires before submission
This commit is contained in:
richard-dds
2018-11-20 11:34:24 -05:00
committed by GitHub
13 changed files with 103 additions and 19 deletions

View File

@@ -96,7 +96,12 @@ def _make_authentication_context():
def redirect_after_login_url():
if request.args.get("next"):
return request.args.get("next")
returl = request.args.get("next")
if request.args.get(app.form_cache.PARAM_NAME):
returl += "?" + url.urlencode(
{app.form_cache.PARAM_NAME: request.args.get(app.form_cache.PARAM_NAME)}
)
return returl
else:
return url_for("atst.home")

View File

@@ -37,7 +37,10 @@ def make_error_pages(app):
# pylint: disable=unused-variable
def session_expired(e):
log_error(e)
return redirect(url_for("atst.root", sessionExpired=True, next=request.path))
url_args = {"sessionExpired": True, "next": request.path}
if request.method == "POST":
url_args[app.form_cache.PARAM_NAME] = app.form_cache.write(request.form)
return redirect(url_for("atst.root", **url_args))
@app.errorhandler(Exception)
# pylint: disable=unused-variable

View File

@@ -99,6 +99,7 @@ class GetFinancialVerificationForm(FinancialVerificationBase):
def execute(self):
form = self._get_form(self.request, self.is_extended)
form.reset()
return form
@@ -178,6 +179,7 @@ class SaveFinancialVerificationDraft(FinancialVerificationBase):
return updated_request
@requests_bp.route("/requests/verify/<string:request_id>/draft", methods=["GET"])
@requests_bp.route("/requests/verify/<string:request_id>", methods=["GET"])
def financial_verification(request_id):
request = Requests.get(g.current_user, request_id)