List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getUser
public User getUser()
From source file:se.vgregion.portal.innovationsslussen.createidea.controller.CreateIdeaViewController.java
License:Open Source License
/** * The default render method./* w ww. ja v a 2 s .c om*/ * * @param request the request * @param response the response * @param model the model * @param idea the idea * @param result the binding results * @return the view */ @RenderMapping() public String createIdea(RenderRequest request, RenderResponse response, final ModelMap model, @ModelAttribute Idea idea, BindingResult result) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); long scopeGroupId = themeDisplay.getScopeGroupId(); long userId = themeDisplay.getUserId(); boolean isSignedIn = themeDisplay.isSignedIn(); if (model.get("errors") == null) { // No idea exists idea = IdeaPortletUtil.getIdeaFromRequest(request); // Set dummy data for person if (idea.getIdeaPerson().getName().equals("")) { String screenName = ""; String otherUserVgrId = (String) model.get("otherUserVgrId"); if (otherUserVgrId != null) { if (!otherUserVgrId.equals("")) { screenName = otherUserVgrId; } } else { screenName = themeDisplay.getUser().getScreenName(); } IdeaPerson ideaPerson = idea.getIdeaPerson(); AdPerson adCriteria = new AdPerson(); adCriteria.setCn(screenName); List<AdPerson> findings = ldapService.find(adCriteria); if (findings.size() == 1) { AdPerson person = findings.get(0); ideaPerson.setEmail(person.getMail()); ideaPerson.setJobPosition(person.getTitle()); ideaPerson.setName(person.getDisplayName()); ideaPerson.setAdministrativeUnit(person.getDivision()); ideaPerson.setPhoneMobile(person.getMobile()); ideaPerson.setPhone(person.getTelephoneNumber()); ideaPerson.setVgrId(person.getCn()); ideaPerson.setName(person.getDisplayName()); model.addAttribute("otherUserVgrId", idea.getIdeaPerson().getVgrId()); } populateValuesFromKiv(screenName, ideaPerson); } } else { // Copy binding error from save action result.addAllErrors((BindingResult) model.get("errors")); if (idea.getIdeaPerson() != null) { String vgrId = idea.getIdeaPerson().getVgrId(); if (vgrId != null && !vgrId.isEmpty()) { model.addAttribute("otherUserVgrId", vgrId); } } } IdeaPermissionChecker ideaPermissionChecker = ideaPermissionCheckerService .getIdeaPermissionChecker(scopeGroupId, userId, idea); model.addAttribute("isSignedIn", isSignedIn); model.addAttribute("idea", idea); model.addAttribute("ideaClass", Idea.class); model.addAttribute("ideaPermissionChecker", ideaPermissionChecker); return "view"; }
From source file:se.vgregion.portal.innovationsslussen.createidea.controller.CreateIdeaViewController.java
License:Open Source License
/** * Method handling Action request.// ww w. java 2s .c om * * @param request the request * @param response the response * @param model the model * @param idea the idea * @param result the binding results */ @ActionMapping("submitIdea") public final void submitIdea(ActionRequest request, ActionResponse response, final ModelMap model, @ModelAttribute Idea idea, BindingResult result) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); // todo auktoriseringskontroll? LOGGER.info("submitIdea"); idea = IdeaPortletUtil.getIdeaFromRequest(request); idea.setCreated(new Date()); idea.setHidden(false); ideaValidator.validate(idea, result); if (!result.hasErrors()) { try { String schemeServerNamePort = generateSchemeServerNamePort(request); //Populate with extra information about the user (from the ldap if at all). AdPerson criteria = new AdPerson(); String otherUserVgrId = ""; IdeaPermissionChecker ideaPermissionChecker = ideaPermissionCheckerService .getIdeaPermissionChecker(themeDisplay.getScopeGroupId(), themeDisplay.getUserId(), idea); if (ideaPermissionChecker.isHasPermissionCreateIdeaForOtherUser()) { otherUserVgrId = idea.getIdeaPerson().getVgrId(); } if (otherUserVgrId != null && !otherUserVgrId.isEmpty()) { criteria.setCn(otherUserVgrId); idea.setOriginalUserId(themeDisplay.getUserId()); } else { criteria.setCn(themeDisplay.getUser().getScreenName()); } List<AdPerson> findings = ldapService.find(criteria); if (findings.size() == 1) { AdPerson person = findings.get(0); IdeaPerson ip = idea.getIdeaPerson(); ip.setName(person.getDisplayName()); ip.setVgrId(person.getCn()); ip.setAdministrativeUnit(person.getDivision()); //ip.setBirthYear(person.getBirthYear()); ip.setVgrStrukturPerson(person.getFormattedVgrStrukturPerson()); //ip.setPhoneMobile(person.getMobile()); //ip.setPhone(person.getTelephoneNumber()); ip.setVgrId(person.getCn()); ip.setName(person.getDisplayName()); } populateValuesFromKiv(idea.getIdeaPerson().getVgrId(), idea.getIdeaPerson()); idea = ideaService.addIdea(idea, schemeServerNamePort); response.setRenderParameter("ideaLink", idea.getUrlTitle()); response.setRenderParameter("view", "confirmation"); } catch (CreateIdeaException e) { // Add error - create failed result.addError(new ObjectError("", "Hoppsan nu gick ngot fel, vi fr inte kontakt med ett " + "bakomliggande system. Var god frsk igen senare.")); model.addAttribute("errors", result); copyRequestParameters(request, response); response.setRenderParameter("view", "view"); e.printStackTrace(); } catch (SystemException e) { result.addError( new ObjectError("", "Hoppsan nu gick ngot fel, anvndaren som du frsker skapa " + "idn fr finns inte eller gr inte att skapa.")); e.printStackTrace(); } catch (RuntimeException e) { SQLException nextException = Util.getNextExceptionFromLastCause(e); if (nextException != null) { LOGGER.error(nextException.getMessage(), nextException); } result.addError(new ObjectError("", "Hoppsan nu gick ngot fel, vi fr inte kontakt med ett " + "bakomliggande system. Var god frsk igen senare.")); model.addAttribute("errors", result); copyRequestParameters(request, response); response.setRenderParameter("view", "view"); e.printStackTrace(); } catch (PortalException e) { result.addError( new ObjectError("", "Hoppsan nu gick ngot fel, anvndaren som du frsker skapa " + "idn fr finns inte eller gr inte att skapa.")); e.printStackTrace(); } } else { model.addAttribute("otherUserVgrId", idea.getIdeaPerson().getVgrId()); model.addAttribute("errors", result); model.addAttribute("idea", idea); //copyRequestParameters(request, response); response.setRenderParameter("view", "view"); } }
From source file:se.vgregion.portal.innovationsslussen.createidea.controller.CreateIdeaViewControllerTest.java
License:Open Source License
@Before public void setUp() { ideaService = Mockito.mock(IdeaService.class); ideaSettingsService = Mockito.mock(IdeaSettingsService.class); ideaValidator = Mockito.mock(IdeaValidator.class); ldapService = Mockito.mock(LdapService.class); kivLdapService = Mockito.mock(LdapService.class); ideaPermissionCheckerService = Mockito.mock(IdeaPermissionCheckerService.class); renderRequest = Mockito.mock(RenderRequest.class); renderResponse = Mockito.mock(RenderResponse.class); model = Mockito.mock(ModelMap.class); ThemeDisplay themeDisplay = Mockito.mock(ThemeDisplay.class); Mockito.when(renderRequest.getAttribute(WebKeys.THEME_DISPLAY)).thenReturn(themeDisplay); Mockito.when(themeDisplay.getScopeGroupId()).thenReturn(1l); User user = Mockito.mock(User.class); Mockito.when(themeDisplay.getUser()).thenReturn(user); List<AdPerson> persons = new ArrayList<AdPerson>(); persons.add(new AdPerson()); Mockito.when(ldapService.find(Mockito.any(AdPerson.class))).thenReturn(persons); List<KivPerson> kivPersons = new ArrayList<KivPerson>(); kivPersons.add(new KivPerson()); Mockito.when(kivLdapService.find(Mockito.any(KivPerson.class))).thenReturn(kivPersons); controller = new CreateIdeaViewController(ideaService, ideaSettingsService, ideaValidator, ldapService, kivLdapService, ideaPermissionCheckerService) { @Override//from www. ja va 2s. c o m protected Layout getFriendlyURLLayout(long scopeGroupId, ThemeDisplay themeDisplay) throws SystemException, PortalException { return Mockito.mock(Layout.class); } @Override protected void copyRequestParameters(ActionRequest request, ActionResponse response) { } @Override protected HttpServletRequest toHttpServletRequest(ActionRequest request) { return Mockito.mock(HttpServletRequest.class); } }; }
From source file:se.vgregion.portal.innovationsslussen.idea.controller.IdeaViewControllerTest.java
License:Open Source License
@Before public void setUp() { ideaService = Mockito.mock(IdeaService.class); ideaPermissionCheckerService = Mockito.mock(IdeaPermissionCheckerService.class); ideaSettingsService = Mockito.mock(IdeaSettingsService.class); controller = new IdeaViewController(ideaService, ideaPermissionCheckerService, ideaSettingsService) { @Override/*from w w w .j a v a 2 s . c o m*/ protected HttpServletResponse getHttpServletResponse(RenderResponse response) { return Mockito.mock(HttpServletResponse.class); } @Override protected Layout getFriendlyURLLayout(long scopeGroupId, boolean priv) throws SystemException, PortalException { return Mockito.mock(Layout.class); } }; request = Mockito.mock(RenderRequest.class); response = Mockito.mock(RenderResponse.class); actionRequest = Mockito.mock(ActionRequest.class); actionResponse = Mockito.mock(ActionResponse.class); modelMap = Mockito.mock(ModelMap.class); ThemeDisplay themeDisplay = Mockito.mock(ThemeDisplay.class); Mockito.when(request.getAttribute(WebKeys.THEME_DISPLAY)).thenReturn(themeDisplay); Mockito.when(actionRequest.getAttribute(WebKeys.THEME_DISPLAY)).thenReturn(themeDisplay); Mockito.when(themeDisplay.getScopeGroupId()).thenReturn(1l); User user = Mockito.mock(User.class); Mockito.when(themeDisplay.getUser()).thenReturn(user); Mockito.when(themeDisplay.getUserId()).thenReturn(1l); Layout layout = Mockito.mock(Layout.class); Mockito.when(layout.isPrivateLayout()).thenReturn(true); Mockito.when(themeDisplay.getLayout()).thenReturn(layout); }