diff options
Diffstat (limited to 'juick-spring-www/src/main/java/com/juick/www')
-rw-r--r-- | juick-spring-www/src/main/java/com/juick/www/HelpService.java | 2 | ||||
-rw-r--r-- | juick-spring-www/src/main/java/com/juick/www/controllers/HelpController.java | 39 |
2 files changed, 23 insertions, 18 deletions
diff --git a/juick-spring-www/src/main/java/com/juick/www/HelpService.java b/juick-spring-www/src/main/java/com/juick/www/HelpService.java index a3bee60a..76b3582d 100644 --- a/juick-spring-www/src/main/java/com/juick/www/HelpService.java +++ b/juick-spring-www/src/main/java/com/juick/www/HelpService.java @@ -29,7 +29,7 @@ public class HelpService { if (canPage(page) && canLang(lang)) { try { Path file = Paths.get(helpPath, lang, page); - String path =file.toString(); + String path = file.toString(); file = Paths.get(new ClassPathResource(path).getURI()); if (Files.isReadable(file)) diff --git a/juick-spring-www/src/main/java/com/juick/www/controllers/HelpController.java b/juick-spring-www/src/main/java/com/juick/www/controllers/HelpController.java index b5f0134c..22ecacf3 100644 --- a/juick-spring-www/src/main/java/com/juick/www/controllers/HelpController.java +++ b/juick-spring-www/src/main/java/com/juick/www/controllers/HelpController.java @@ -33,30 +33,35 @@ public class HelpController { String page = pageParam.orElse("index"); String lang = langParam.orElse(locale.getLanguage()); - model.addAttribute("visitor", UserUtils.getCurrentUser()); - model.addAttribute("help_nav", getContent("navigation", lang, Optional.empty())); - model.addAttribute("help_data", getContent(page, lang, langOrPageParam)); - - return "views/help"; - } - - private String getContent(String page, String lang, Optional<String> langOrPageParam) { String content = null; + String navigation = null; if (langOrPageParam.isPresent()) { - String anything = langOrPageParam.get(); + String langOrPage = langOrPageParam.get(); - if (helpService.canLang(anything)) - content = helpService.getHelp(page, anything); + if (helpService.canLang(langOrPage)) { + navigation = helpService.getHelp("navigation", langOrPage); + if (navigation != null) + lang = langOrPage; + } - if (content == null && helpService.canPage(anything)) - content = helpService.getHelp(anything, lang); - } else + if (navigation == null && helpService.canPage(langOrPage)) + page = langOrPage; + } + + if (content == null) content = helpService.getHelp(page, lang); - if (content != null) - return content; + if (navigation == null) + navigation = helpService.getHelp("navigation", lang); + + if (content == null || navigation == null) + throw new HttpNotFoundException(); - throw new HttpNotFoundException(); + model.addAttribute("help_nav", navigation); + model.addAttribute("help_data", content); + model.addAttribute("visitor", UserUtils.getCurrentUser()); + + return "views/help"; } } |