diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2013-09-10 00:06:54 -0700 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2013-09-10 00:06:54 -0700 |
commit | 5306005833083589d0f93b0966b458da969e5f38 (patch) | |
tree | 9779a58d78bdcf27311e2593174afb83041a21fa /src/com/p4square/grow/frontend/SurveyPageResource.java | |
parent | 90c95d9bf125dabb5bd34954394127cf2c1bb1b1 (diff) |
Adding redirect page /account.
/account redirects to either the assessment or the training page, as
appropriate.
This change adds the /accounts/UID backend resource, which simply stores
an arbitrary json document for now.
Diffstat (limited to 'src/com/p4square/grow/frontend/SurveyPageResource.java')
-rw-r--r-- | src/com/p4square/grow/frontend/SurveyPageResource.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/com/p4square/grow/frontend/SurveyPageResource.java b/src/com/p4square/grow/frontend/SurveyPageResource.java index 1389f11..59be0fa 100644 --- a/src/com/p4square/grow/frontend/SurveyPageResource.java +++ b/src/com/p4square/grow/frontend/SurveyPageResource.java @@ -195,6 +195,24 @@ public class SurveyPageResource extends FreeMarkerPageResource { } } + private Map<?, ?> getAccount(String id) { + try { + Map<?, ?> account = null; + + JsonResponse response = backendGet("/accounts/" + id); + if (!response.getStatus().isSuccess()) { + return null; + } + account = response.getMap(); + + return account; + + } catch (ClientException e) { + LOG.warn("Error fetching account.", e); + return null; + } + } + private Map<?, ?> getQuestion(String id) { try { Map<?, ?> questionData = null; @@ -217,6 +235,14 @@ public class SurveyPageResource extends FreeMarkerPageResource { String nextQuestionId = (String) questionData.get("nextQuestion"); if (nextQuestionId == null) { + // Just finished the last question. Update the user's account + Map account = getAccount(mUserId); + if (account == null) { + account = new HashMap(); + } + account.put("landing", "training"); + backendPut("/accounts/" + mUserId, account); + String nextPage = mConfig.getString("dynamicRoot", ""); nextPage += "/account/assessment/results"; getResponse().redirectSeeOther(nextPage); |