public PageUser(org.apache.rave.model.PageUser member) { this.editor = member.isEditor(); this.personId = member.getUserId(); this.status = member.getPageStatus().getPageStatus(); }
private boolean isRegionMember(Authentication authentication, Region region, List<Region> trustedRegionContainer, boolean trustedDomainObject, boolean checkEditorStatus) { Region trustedRegion = null; if (trustedDomainObject) { trustedRegion = region; } else { trustedRegion = getTrustedRegion(region.getId(), trustedRegionContainer); } Page containerPage = trustedRegion.getPage(); if (containerPage.getMembers() == null){ return false; } // // Check that the viewer is a member // String viewer = ((User)authentication.getPrincipal()).getUsername(); for (PageUser pageUser:containerPage.getMembers()){ if (userRepository.get(pageUser.getUserId()).getUsername().equals(viewer)){ log.info("User "+viewer+" is a member of page "+containerPage.getId()); if(checkEditorStatus){ return pageUser.isEditor(); } return true; } } return false; }
log.info("User "+viewer+" is a member of page "+containerPage.getId()); if(checkEditorStatus){ return pageUser.isEditor();
private void updateProperties(PageUser source, JpaPageUser converted) { converted.setEntityId(source.getId() == null ? null : Long.parseLong(source.getId())); converted.setPage(source.getPage()); converted.setPageStatus(source.getPageStatus()); converted.setRenderSequence(source.getRenderSequence()); converted.setUserId(source.getUserId()); converted.setEditor(source.isEditor()); } }
@RequestMapping(value = "/page/view/{pageId}", method = RequestMethod.GET) public String view(@PathVariable String pageId, Model model, HttpServletRequest request) { try { List<Page> pages = getAllPagesForAuthenticatedUser(); Page page = pageService.getPageFromList(pageId, pages); PageUser currentPageUser = null; User thisUser = userService.getAuthenticatedUser(); for(PageUser pageUser : page.getMembers()){ if(pageUser.getUserId().equals(thisUser.getId())){ currentPageUser = pageUser; } } List<PageLayout> pageLayouts = pageLayoutService.getAllUserSelectable(); addAttributesToModel(model, page, currentPageUser, pages, pageLayouts); String view = ControllerUtils.getDeviceAppropriateView(request, ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME); ControllerUtils.addNavItemsToModel(view, model, page.getId(), thisUser, currentPageUser.isEditor()); return view; } catch (Exception e) { logger.info("unable to get page - possibly because a shared page was revoked by its owner"); } // Page could not be found or a shared page was removed, in which case return to default view return viewDefault(model, request); }
@RequestMapping(value = {"/page/view", "/index.html"}, method = RequestMethod.GET) public String viewDefault(Model model, HttpServletRequest request) { List<Page> pages = getAllPagesForAuthenticatedUser(); Page page = pageService.getDefaultPageFromList(pages); PageUser currentPageUser = null; User thisUser = userService.getAuthenticatedUser(); for(PageUser pageUser : page.getMembers()){ if(pageUser.getUserId().equals(thisUser.getId())){ currentPageUser = pageUser; } } List<PageLayout> pageLayouts = pageLayoutService.getAllUserSelectable(); addAttributesToModel(model, page, currentPageUser, pages, pageLayouts); String view = ControllerUtils.getDeviceAppropriateView(request, ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME); ControllerUtils.addNavItemsToModel(view, model, page.getId(), userService.getAuthenticatedUser(), currentPageUser.isEditor()); return view; }