001
014
015 package com.liferay.portlet.usersadmin.search;
016
017 import com.liferay.portal.kernel.dao.search.RowChecker;
018 import com.liferay.portal.kernel.log.Log;
019 import com.liferay.portal.kernel.log.LogFactoryUtil;
020 import com.liferay.portal.model.Group;
021 import com.liferay.portal.model.ResourceConstants;
022 import com.liferay.portal.model.Role;
023 import com.liferay.portal.service.PermissionLocalServiceUtil;
024
025 import javax.portlet.RenderResponse;
026
027
030 public class GroupPermissionChecker extends RowChecker {
031
032 public GroupPermissionChecker(
033 RenderResponse renderResponse, Role role, String resourceName,
034 String actionId) {
035
036 super(renderResponse);
037
038 _role = role;
039 _resourceName = resourceName;
040 _actionId = actionId;
041 }
042
043 @Override
044 public boolean isChecked(Object obj) {
045 Group group = (Group)obj;
046
047 try {
048 return PermissionLocalServiceUtil.hasRolePermission(
049 _role.getRoleId(), group.getCompanyId(), _resourceName,
050 ResourceConstants.SCOPE_GROUP,
051 String.valueOf(group.getGroupId()), _actionId);
052 }
053 catch (Exception e) {
054 _log.error(e, e);
055
056 return false;
057 }
058 }
059
060 private static Log _log = LogFactoryUtil.getLog(
061 GroupPermissionChecker.class);
062
063 private String _actionId;
064 private String _resourceName;
065 private Role _role;
066
067 }