Example usage for com.liferay.portal.kernel.theme ThemeDisplay getUser

List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getUser

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.theme ThemeDisplay getUser.

Prototype

public User getUser() 

Source Link

Document

The user for which the current request is being handled.

Usage

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);

}