@Override public String toString() { return "RegionImpl{" + "id=" + id + ", page=" + ((page == null) ? null : page.getId()) + ", locked=" + locked + ", renderOrder=" + renderOrder + '}'; } }
@Override public Page getPageFromList(String pageId, List<Page> pages) { for(Page page: pages) { if(page.getId().equals(pageId)){ return page; } } return null; }
private boolean isPageOwner(Authentication authentication, Page page, List<Page> trustedPageContainer, boolean trustedDomainObject) { Page trustedPage = null; if (trustedDomainObject) { trustedPage = page; } else { trustedPage = getTrustedPage(page.getId(), trustedPageContainer); } return isPageOwnerByUserId(authentication, trustedPage.getOwnerId()); }
@Override public void delete(Page item) { JpaPage jpaPage = item instanceof JpaPage ? (JpaPage)item : (JpaPage)get(item.getId()); for(Page p : jpaPage.getSubPages()) { delete(p); } //Must remove the page users from the page in order for OpenJpa to persist change removePageUsers(jpaPage); jpaPage.setParentPage(null); manager.flush(); manager.remove(jpaPage); }
trustedPage = page; } else { trustedPage = getTrustedPage(page.getId(), trustedPageContainer); for (PageUser pageUser : members){ if (userRepository.get(pageUser.getUserId()).getUsername().equals(viewer)){ log.info("User "+viewer+" is a member of page "+trustedPage.getId()); if(checkEditorStatus){ log.info("checking editor:"+trustedPage.getId()+"@"+viewer+"@"+pageUser.isEditor()); return pageUser.isEditor(); log.info("User "+viewer+" is NOT a member of page "+trustedPage.getId()); return false;
@Transactional public Boolean clonePageForUser(String pageId, String userId, String pageName) { Page page = getPage(pageId); if(pageName == null || pageName.equals("null")){ // try to use the original page name if none supplied pageName = page.getName(); } Page clonedPage = addNewUserPage(userService.getUserById(userId), pageName, page.getPageLayout().getCode()); // populate all the widgets in cloned page from original for(int i=0; i<page.getRegions().size(); i++){ for(int j=0; j<page.getRegions().get(i).getRegionWidgets().size(); j++){ String widgetId = page.getRegions().get(i).getRegionWidgets().get(j).getWidgetId(); addWidgetToPageRegion(clonedPage.getId(), widgetId, clonedPage.getRegions().get(i).getId()); } } clonedPage = getFromRepository(clonedPage.getId(), pageRepository); // newly created page - so only one pageUser PageUser pageUser = clonedPage.getMembers().get(0); // update status to pending pageUser.setPageStatus(PageInvitationStatus.PENDING); if(pageRepository.save(clonedPage) != null){ return Boolean.TRUE; }else{ return Boolean.FALSE; } }
public Page(org.apache.rave.model.Page source) { this.id = source.getId(); this.name = source.getName(); this.ownerId = source.getOwnerId(); this.pageType = source.getPageType().toString(); this.pageLayoutCode = source.getPageLayout().getCode(); this.properties = source.getProperties(); this.subPages = createSubPages(source); this.regions = createRegions(source); this.members = createPageUsers(source); }
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; }
pageService.addWidgetToPageRegion(page.getId(), raveWidget.getId(), regionId);
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();
@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; }
Page page = item.getRegion().getPage(); if (page.getParentPage() != null) { pageId = "'" + page.getId() + "'"; pageName = page.getName();
private void updateProperties(Page source, JpaPage converted) { replacePageReferences(source, converted); converted.setId(source.getId()); converted.setMembers(source.getMembers()); converted.setName(source.getName()); converted.setOwnerId(source.getOwnerId()); converted.setContextId(source.getContextId()); converted.setPageLayout(source.getPageLayout()); converted.setPageType(source.getPageType()); converted.setParentPage(source.getParentPage()); converted.setRegions(source.getRegions()); converted.setSubPages(source.getSubPages()); converted.setProperties(source.getProperties()); }