@RequestMapping(value = MappingConstants.ARTICLE, method = RequestMethod.POST) @PreAuthorize("hasRole('" + PermissionConstants.ADMIN_CREATE_ARTICLE + "')") public @ResponseBody Long createArticle( @RequestBody @Valid Article article, @AuthenticationPrincipal CustomUserDetails userDetails) { // for the time being the author of the published article is the logged in user Set<Long> authorIds = new HashSet<>(); authorIds.add(userDetails.getId()); Long articleId = articleService.create(authorIds); article.setId(articleId); createDictionary(article); return articleId; }
@RequestMapping(value = MappingConstants.ARTICLE, method = RequestMethod.GET) @PreAuthorize("hasRole('" + PermissionConstants.ADMIN_CREATE_ARTICLE + "')") public String createArticleForm( Model model, Locale locale, @AuthenticationPrincipal CustomUserDetails userDetails, @RequestParam(required = false, value = "id") Long articleId) { languageDelegate.addAvailableLanguages(model); languageDelegate.addNotAvailableLanguages(model); if (articleId != null) { Optional<Article> article = articleService.find(articleId, locale.getLanguage()); if (article.isPresent()) { model.addAttribute("article", article.get()); } } model.addAttribute( AUTHENTICATED_USER_FIRST_NAME, userDetails != null ? userDetails.getFirstName() : null); return ViewConstants.ADMIN + "/" + ViewConstants.CREATE_ARTICLE; }
@RequestMapping(MappingConstants.ARTICLE_LIST_JSON) @PreAuthorize("hasRole('" + PermissionConstants.ADMIN_ARTICLE_LIST + "')") public @ResponseBody List<Article> findArticles(Locale locale) { return articleService.find(locale.getLanguage()); }