001
014
015 package com.liferay.portlet.directory.asset;
016
017 import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
018 import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
019 import com.liferay.portal.kernel.portlet.PortletProvider;
020 import com.liferay.portal.kernel.portlet.PortletProviderUtil;
021 import com.liferay.portal.model.User;
022 import com.liferay.portal.security.permission.ActionKeys;
023 import com.liferay.portal.security.permission.PermissionChecker;
024 import com.liferay.portal.service.permission.UserPermissionUtil;
025 import com.liferay.portal.theme.ThemeDisplay;
026 import com.liferay.portal.util.WebKeys;
027 import com.liferay.portlet.asset.model.BaseJSPAssetRenderer;
028
029 import java.util.Locale;
030
031 import javax.portlet.PortletRequest;
032 import javax.portlet.PortletResponse;
033 import javax.portlet.PortletURL;
034
035 import javax.servlet.http.HttpServletRequest;
036 import javax.servlet.http.HttpServletResponse;
037
038
042 public class UserAssetRenderer extends BaseJSPAssetRenderer<User> {
043
044 public UserAssetRenderer(User user) {
045 _user = user;
046 }
047
048 @Override
049 public User getAssetObject() {
050 return _user;
051 }
052
053 @Override
054 public String getClassName() {
055 return User.class.getName();
056 }
057
058 @Override
059 public long getClassPK() {
060 return _user.getPrimaryKey();
061 }
062
063 @Override
064 public String getDiscussionPath() {
065 return null;
066 }
067
068 @Override
069 public long getGroupId() {
070 return 0;
071 }
072
073 @Override
074 public String getJspPath(HttpServletRequest request, String template) {
075 if (template.equals(TEMPLATE_ABSTRACT) ||
076 template.equals(TEMPLATE_FULL_CONTENT)) {
077
078 return "/html/portlet/directory/asset/abstract.jsp";
079 }
080 else {
081 return null;
082 }
083 }
084
085 @Override
086 public int getStatus() {
087 return _user.getStatus();
088 }
089
090 @Override
091 public String getSummary(
092 PortletRequest portletRequest, PortletResponse portletResponse) {
093
094 return _user.getComments();
095 }
096
097 @Override
098 public String getTitle(Locale locale) {
099 return _user.getFullName();
100 }
101
102 @Override
103 public PortletURL getURLEdit(
104 LiferayPortletRequest liferayPortletRequest,
105 LiferayPortletResponse liferayPortletResponse)
106 throws Exception {
107
108 String portletId = PortletProviderUtil.getPortletId(
109 User.class.getName(), PortletProvider.Action.VIEW);
110
111 PortletURL portletURL = liferayPortletResponse.createLiferayPortletURL(
112 getControlPanelPlid(liferayPortletRequest), portletId,
113 PortletRequest.RENDER_PHASE);
114
115 portletURL.setParameter(
116 "mvcRenderCommandName", "/users_admin/edit_user");
117 portletURL.setParameter("p_u_i_d", String.valueOf(_user.getUserId()));
118
119 return portletURL;
120 }
121
122 @Override
123 public String getUrlTitle() {
124 return _user.getScreenName();
125 }
126
127 @Override
128 public String getURLViewInContext(
129 LiferayPortletRequest liferayPortletRequest,
130 LiferayPortletResponse liferayPortletResponse,
131 String noSuchEntryRedirect) {
132
133 ThemeDisplay themeDisplay =
134 (ThemeDisplay)liferayPortletRequest.getAttribute(
135 WebKeys.THEME_DISPLAY);
136
137 try {
138 return _user.getDisplayURL(themeDisplay);
139 }
140 catch (Exception e) {
141 }
142
143 return noSuchEntryRedirect;
144 }
145
146 @Override
147 public long getUserId() {
148 return _user.getUserId();
149 }
150
151 @Override
152 public String getUserName() {
153 return _user.getFullName();
154 }
155
156 @Override
157 public String getUuid() {
158 return _user.getUuid();
159 }
160
161 @Override
162 public boolean hasEditPermission(PermissionChecker permissionChecker) {
163 return UserPermissionUtil.contains(
164 permissionChecker, _user.getUserId(), ActionKeys.UPDATE);
165 }
166
167 @Override
168 public boolean hasViewPermission(PermissionChecker permissionChecker) {
169 return UserPermissionUtil.contains(
170 permissionChecker, _user.getUserId(), ActionKeys.VIEW);
171 }
172
173 @Override
174 public boolean include(
175 HttpServletRequest request, HttpServletResponse response,
176 String template)
177 throws Exception {
178
179 request.setAttribute(WebKeys.USER, _user);
180
181 return super.include(request, response, template);
182 }
183
184 @Override
185 public boolean isPrintable() {
186 return false;
187 }
188
189 @Override
190 protected String getIconPath(ThemeDisplay themeDisplay) {
191 return themeDisplay.getPathThemeImages() + "/common/user_icon.png";
192 }
193
194 private final User _user;
195
196 }