diff options
| -rw-r--r-- | src/com/p4square/grow/config/Config.java | 14 | ||||
| -rw-r--r-- | src/com/p4square/grow/frontend/TrainingPageResource.java | 6 | ||||
| -rw-r--r-- | src/templates/templates/training.ftl | 2 | ||||
| -rw-r--r-- | tst/com/p4square/grow/config/ConfigTest.java | 7 | ||||
| -rw-r--r-- | tst/com/p4square/grow/config/ConfigTest.properties | 4 | 
5 files changed, 30 insertions, 3 deletions
diff --git a/src/com/p4square/grow/config/Config.java b/src/com/p4square/grow/config/Config.java index fea75e0..d739d61 100644 --- a/src/com/p4square/grow/config/Config.java +++ b/src/com/p4square/grow/config/Config.java @@ -150,4 +150,18 @@ public class Config {          return defaultValue;      } + +    public boolean getBoolean(String key) { +        return getBoolean(key, false); +    } + +    public boolean getBoolean(String key, boolean defaultValue) { +        final String propertyValue = getString(key); + +        if (propertyValue != null) { +            return (propertyValue.charAt(0) & 0xDF) == 'T'; +        } + +        return defaultValue; +    }  } diff --git a/src/com/p4square/grow/frontend/TrainingPageResource.java b/src/com/p4square/grow/frontend/TrainingPageResource.java index 3ad3297..a8245c2 100644 --- a/src/com/p4square/grow/frontend/TrainingPageResource.java +++ b/src/com/p4square/grow/frontend/TrainingPageResource.java @@ -119,6 +119,7 @@ public class TrainingPageResource extends FreeMarkerPageResource {              // The user is not allowed to view chapters after his highest completed chapter.              // In this loop we find which chapters are allowed and check if the user tried              // to skip ahead. +            boolean allowUserToSkip = mConfig.getBoolean("allowUserToSkip", true);              String defaultChapter = null;              boolean userTriedToSkip = false; @@ -134,9 +135,9 @@ public class TrainingPageResource extends FreeMarkerPageResource {                     }                  } else { -                    allowed = false; +                    allowed = allowUserToSkip; -                    if (chapterId.equals(mChapter)) { +                    if (!allowUserToSkip && chapterId.equals(mChapter)) {                          userTriedToSkip = true;                      }                  } @@ -194,6 +195,7 @@ public class TrainingPageResource extends FreeMarkerPageResource {              root.put("isChapterAllowed", allowedChapters);              root.put("chapterProgress", chapterProgress);              root.put("videos", videos); +            root.put("allowUserToSkip", allowUserToSkip);              return new TemplateRepresentation(mTrainingTemplate, root, MediaType.TEXT_HTML); diff --git a/src/templates/templates/training.ftl b/src/templates/templates/training.ftl index 80c5ca4..cf230b6 100644 --- a/src/templates/templates/training.ftl +++ b/src/templates/templates/training.ftl @@ -50,7 +50,7 @@                  <#if (video.pdf!"") != "">                      <span class="pdf"><a href="${video.pdf}" target="_blank">Outline</a></span>                  </#if> -                <#if allowed && !video.completed> +                <#if !allowUserToSkip && allowed && !video.completed>                      <#assign allowed = false>                  </#if>              </article> diff --git a/tst/com/p4square/grow/config/ConfigTest.java b/tst/com/p4square/grow/config/ConfigTest.java index 17185de..ccb39da 100644 --- a/tst/com/p4square/grow/config/ConfigTest.java +++ b/tst/com/p4square/grow/config/ConfigTest.java @@ -51,5 +51,12 @@ public class ConfigTest {          // Non number test          assertEquals(Integer.MIN_VALUE, domain1.getInt("notANumber")); + +        // Test Boolean values +        assertTrue(domain1.getBoolean("boolean1")); +        assertTrue(domain1.getBoolean("boolean2")); +        assertFalse(domain1.getBoolean("boolean3")); +        assertFalse(domain1.getBoolean("notABool")); +        assertTrue(domain1.getBoolean("notABool", true));      }  } diff --git a/tst/com/p4square/grow/config/ConfigTest.properties b/tst/com/p4square/grow/config/ConfigTest.properties index 8a8328d..e5b4032 100644 --- a/tst/com/p4square/grow/config/ConfigTest.properties +++ b/tst/com/p4square/grow/config/ConfigTest.properties @@ -10,3 +10,7 @@ domain1.onlyInDomain1 = domain1Value  *.number = 5  *.notANumber = Hello + +*.boolean1 = True +*.boolean2 = true +*.boolean3 = false  | 
