001
014
015 package com.liferay.portlet.requests.action;
016
017 import com.liferay.portal.model.Group;
018 import com.liferay.portal.model.User;
019 import com.liferay.portal.security.permission.ActionKeys;
020 import com.liferay.portal.service.GroupLocalServiceUtil;
021 import com.liferay.portal.service.UserLocalServiceUtil;
022 import com.liferay.portal.service.permission.UserPermissionUtil;
023 import com.liferay.portal.struts.PortletAction;
024 import com.liferay.portal.theme.ThemeDisplay;
025 import com.liferay.portal.util.WebKeys;
026 import com.liferay.portlet.social.model.SocialRequest;
027 import com.liferay.portlet.social.model.SocialRequestConstants;
028 import com.liferay.portlet.social.service.SocialRequestLocalServiceUtil;
029
030 import java.util.List;
031
032 import javax.portlet.PortletConfig;
033 import javax.portlet.RenderRequest;
034 import javax.portlet.RenderResponse;
035
036 import org.apache.struts.action.ActionForm;
037 import org.apache.struts.action.ActionForward;
038 import org.apache.struts.action.ActionMapping;
039
040
043 public class ViewAction extends PortletAction {
044
045 @Override
046 public ActionForward render(
047 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
048 RenderRequest renderRequest, RenderResponse renderResponse)
049 throws Exception {
050
051 ThemeDisplay themeDisplay = (ThemeDisplay)renderRequest.getAttribute(
052 WebKeys.THEME_DISPLAY);
053
054 Group group = GroupLocalServiceUtil.getGroup(
055 themeDisplay.getScopeGroupId());
056
057 User user = themeDisplay.getUser();
058
059 if (group.isUser()) {
060 user = UserLocalServiceUtil.getUserById(group.getClassPK());
061 }
062
063 if (!UserPermissionUtil.contains(
064 themeDisplay.getPermissionChecker(), user.getUserId(),
065 ActionKeys.UPDATE)) {
066
067 renderRequest.setAttribute(WebKeys.PORTLET_DECORATE, Boolean.FALSE);
068 }
069 else {
070 List<SocialRequest> requests =
071 SocialRequestLocalServiceUtil.getReceiverUserRequests(
072 user.getUserId(), SocialRequestConstants.STATUS_PENDING, 0,
073 100);
074
075 if (requests.size() == 0) {
076 renderRequest.setAttribute(
077 WebKeys.PORTLET_DECORATE, Boolean.FALSE);
078 }
079 else {
080 renderRequest.setAttribute(WebKeys.SOCIAL_REQUESTS, requests);
081 }
082 }
083
084 return mapping.findForward("portlet.requests.view");
085 }
086
087 }