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 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); | 
