@RequestMapping(value = "/page/view/{pageId}", method = RequestMethod.GET)
public String view(@PathVariable Long 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.getUser().equals(thisUser)){
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.getEntityId(), 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