From a500ae0f57c9ace5c1617530b858404e75f6b71f Mon Sep 17 00:00:00 2001 From: James Nunn Date: Mon, 15 Nov 2021 14:39:37 +0000 Subject: [PATCH 1/3] adds launcher parameters for setting expiry time --- launch.go | 2 ++ templates/launch.html | 25 ++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/launch.go b/launch.go index df6eef7d..dceb00af 100644 --- a/launch.go +++ b/launch.go @@ -2,6 +2,7 @@ package main // import "github.com/ONSdigital/eq-questionnaire-launcher" import ( "fmt" + "time" "html/template" "log" @@ -155,6 +156,7 @@ func quickLauncherHandler(w http.ResponseWriter, r *http.Request) { urlValues.Add("case_id", caseID.String()) urlValues.Add("response_id", randomNumericString(16)) urlValues.Add("language_code", defaultValues["language_code"]) + urlValues.Add("response_expires_at", time.Now().AddDate(0, 0, 7).Format("2006-01-02T15:04:05+00:00")) token, err := authentication.GenerateTokenFromDefaults(surveyURL, accountServiceURL, AccountServiceLogOutURL, urlValues) if err != "" { diff --git a/templates/launch.html b/templates/launch.html index b294ba1c..581f71d7 100644 --- a/templates/launch.html +++ b/templates/launch.html @@ -4,7 +4,7 @@

Launch a survey

-
+
@@ -75,6 +75,15 @@

Required Data

+
+ + + + + +
+ +

Runner Data

@@ -243,10 +252,24 @@

Business Survey Metadata

document.getElementById(el_id).value = result; } + function setResponseExpiry(days_offset=7) { + var dt = new Date(); + dt.setDate(dt.getDate()+days_offset) + document.getElementById('response_expires_at').value=dt.toISOString().replace(/(\.\d*)/, ''); + } + + function validateForm() { + response_expires_at = Date.parse(document.getElementById('response_expires_at').value) + if (isNaN(response_expires_at)) { + document.getElementById('response_expires_at').remove() + } + } + uuid('collection_exercise_sid'); uuid('case_id'); ruref('ru_ref'); numericId('response_id'); + setResponseExpiry(); From 55eca2c6f81f0e9faefe0e196205ca8a1087c120 Mon Sep 17 00:00:00 2001 From: James Nunn Date: Mon, 15 Nov 2021 14:59:37 +0000 Subject: [PATCH 2/3] convert Z to 00:00 --- templates/launch.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/launch.html b/templates/launch.html index 581f71d7..83b57688 100644 --- a/templates/launch.html +++ b/templates/launch.html @@ -255,7 +255,7 @@

Business Survey Metadata

function setResponseExpiry(days_offset=7) { var dt = new Date(); dt.setDate(dt.getDate()+days_offset) - document.getElementById('response_expires_at').value=dt.toISOString().replace(/(\.\d*)/, ''); + document.getElementById('response_expires_at').value=dt.toISOString().replace(/(\.\d*)/, '').replace(/Z/, '+00:00'); } function validateForm() { From 09490627242c41666b72e1f281103f828ef93598 Mon Sep 17 00:00:00 2001 From: James Nunn Date: Mon, 15 Nov 2021 15:23:07 +0000 Subject: [PATCH 3/3] refactor validate form --- templates/launch.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/templates/launch.html b/templates/launch.html index 83b57688..0f235636 100644 --- a/templates/launch.html +++ b/templates/launch.html @@ -259,6 +259,10 @@

Business Survey Metadata

} function validateForm() { + validateResponseExpiresAt(); + } + + function validateResponseExpiresAt() { response_expires_at = Date.parse(document.getElementById('response_expires_at').value) if (isNaN(response_expires_at)) { document.getElementById('response_expires_at').remove()