From c84de45b1055a1371df72f670a910d35407c9bd5 Mon Sep 17 00:00:00 2001 From: Anna Sidwell Date: Sun, 7 Apr 2019 17:18:55 +0100 Subject: [PATCH] Drafts: Fix logic in JS when no draft available --- assets/js/form_casestudy_drafts.js | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/assets/js/form_casestudy_drafts.js b/assets/js/form_casestudy_drafts.js index 2d7d883..be5fb04 100644 --- a/assets/js/form_casestudy_drafts.js +++ b/assets/js/form_casestudy_drafts.js @@ -197,17 +197,25 @@ function initDrafts() { if (!formHasErrors) { // Get the previous draft, if any apiGetDraft() - .then(response => response.json()) - .then(json => { - // Handle the case where we didn't get a response - if (!json) return + .then(response => { + if (response.status == 404) { + console.log("No draft stored on server"); + } else if (response.ok) { + response.json().then(json => { + // Handle the case where we didn't get a response + if (!json) return - if (json.version !== 1) { - throw new Error("Bad JSON response version") + if (json.version !== 1) { + throw new Error("Bad JSON response version") + } + + showDraftPrompt(formSaver, json.data.form) + }); + } else { + throw new Error("Error getting draft", response) } - - showDraftPrompt(formSaver, json.data.form) - }).catch(err => { + }) + .catch(err => { console.error(err); }) }