diff options
Diffstat (limited to 'src/com/p4square/grow/frontend')
-rw-r--r-- | src/com/p4square/grow/frontend/FeedData.java | 10 | ||||
-rw-r--r-- | src/com/p4square/grow/frontend/FeedResource.java | 8 | ||||
-rw-r--r-- | src/com/p4square/grow/frontend/GrowFrontend.java | 2 | ||||
-rw-r--r-- | src/com/p4square/grow/frontend/TrainingPageResource.java | 23 |
4 files changed, 34 insertions, 9 deletions
diff --git a/src/com/p4square/grow/frontend/FeedData.java b/src/com/p4square/grow/frontend/FeedData.java index eddc6a4..55e845c 100644 --- a/src/com/p4square/grow/frontend/FeedData.java +++ b/src/com/p4square/grow/frontend/FeedData.java @@ -5,6 +5,9 @@ package com.p4square.grow.frontend; import java.io.IOException; + +import java.util.Arrays; +import java.util.HashSet; import java.util.List; import org.restlet.Context; @@ -25,6 +28,13 @@ import com.p4square.grow.provider.Provider; */ public class FeedData { + /** + * Allowed Topics. + */ + public static final HashSet<String> TOPICS = new HashSet(Arrays.asList("seeker", "believer", + "disciple", "teacher", "leader")); + + private final Config mConfig; private final String mBackendURI; diff --git a/src/com/p4square/grow/frontend/FeedResource.java b/src/com/p4square/grow/frontend/FeedResource.java index eea89b1..13d0fa0 100644 --- a/src/com/p4square/grow/frontend/FeedResource.java +++ b/src/com/p4square/grow/frontend/FeedResource.java @@ -6,9 +6,6 @@ package com.p4square.grow.frontend; import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; - import org.restlet.data.Form; import org.restlet.data.Status; import org.restlet.representation.Representation; @@ -26,9 +23,6 @@ import com.p4square.grow.model.UserRecord; public class FeedResource extends ServerResource { private static final Logger LOG = Logger.getLogger(FeedResource.class); - private static final HashSet<String> TOPICS = new HashSet(Arrays.asList("introduction", "seeker", "believer", - "disciple", "teacher")); - private Config mConfig; private FeedData mFeedData; @@ -63,7 +57,7 @@ public class FeedResource extends ServerResource { @Override protected Representation post(Representation entity) { try { - if (mTopic == null || mTopic.length() == 0 || !TOPICS.contains(mTopic)) { + if (mTopic == null || mTopic.length() == 0 || !FeedData.TOPICS.contains(mTopic)) { setStatus(Status.CLIENT_ERROR_NOT_FOUND); return ErrorPage.NOT_FOUND; } diff --git a/src/com/p4square/grow/frontend/GrowFrontend.java b/src/com/p4square/grow/frontend/GrowFrontend.java index 2ad3ed6..aaf51a4 100644 --- a/src/com/p4square/grow/frontend/GrowFrontend.java +++ b/src/com/p4square/grow/frontend/GrowFrontend.java @@ -52,7 +52,7 @@ public class GrowFrontend extends FMFacade { private F1OAuthHelper mHelper; public GrowFrontend() { - mConfig = new Config(); + this(new Config()); } public GrowFrontend(Config config) { diff --git a/src/com/p4square/grow/frontend/TrainingPageResource.java b/src/com/p4square/grow/frontend/TrainingPageResource.java index 7b36538..0c8f656 100644 --- a/src/com/p4square/grow/frontend/TrainingPageResource.java +++ b/src/com/p4square/grow/frontend/TrainingPageResource.java @@ -14,6 +14,7 @@ import java.util.Map; import freemarker.template.Template; +import org.restlet.data.CookieSetting; import org.restlet.data.Form; import org.restlet.data.MediaType; import org.restlet.data.Status; @@ -213,7 +214,27 @@ public class TrainingPageResource extends FreeMarkerPageResource { root.put("videos", videos); root.put("allowUserToSkip", allowUserToSkip); - boolean showfeed = getQueryValue("showfeed") != null; + // Optionally show the feed. + boolean showfeed = "true".equals(getRequest().getCookies().getFirstValue("showfeed")); + if (getQueryValue("showfeed") != null) { + CookieSetting cookie = new CookieSetting("showfeed", "true"); + cookie.setPath("/"); + if ("true".equals(getQueryValue("showfeed"))) { + showfeed = true; + getResponse().getCookieSettings().add(cookie); + } else { + showfeed = false; + cookie.setValue("false"); + cookie.setMaxAge(0); + getResponse().getCookieSettings().add(cookie); + } + } + + // Don't show the feed if the topic isn't allowed. + if (!FeedData.TOPICS.contains(mChapter)) { + showfeed = false; + } + root.put("showfeed", showfeed); if (showfeed) { root.put("feeddata", mFeedData); |