summaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/p4square/grow/backend/feed/FeedDataProvider.java2
-rw-r--r--src/com/p4square/grow/frontend/FeedData.java10
-rw-r--r--src/com/p4square/grow/frontend/FeedResource.java8
-rw-r--r--src/com/p4square/grow/frontend/GrowFrontend.java2
-rw-r--r--src/com/p4square/grow/frontend/TrainingPageResource.java23
5 files changed, 35 insertions, 10 deletions
diff --git a/src/com/p4square/grow/backend/feed/FeedDataProvider.java b/src/com/p4square/grow/backend/feed/FeedDataProvider.java
index 41b2dfa..6f090c0 100644
--- a/src/com/p4square/grow/backend/feed/FeedDataProvider.java
+++ b/src/com/p4square/grow/backend/feed/FeedDataProvider.java
@@ -19,7 +19,7 @@ import com.p4square.grow.provider.CollectionProvider;
*/
public interface FeedDataProvider {
public static final Collection<String> TOPICS = Collections.unmodifiableCollection(
- Arrays.asList(new String[] { "seeker", "believer", "disciple", "teacher" }));
+ Arrays.asList(new String[] { "seeker", "believer", "disciple", "teacher", "leader" }));
/**
* @return a CollectionProvider of Threads.
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 ac323ec..d642a06 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 a7ebd61..70a0d28 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);