Package com.nosester.portlet.eventlisting.service.permission

Source Code of com.nosester.portlet.eventlisting.service.permission.LocationPermission

package com.nosester.portlet.eventlisting.service.permission;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.security.auth.PrincipalException;
import com.liferay.portal.security.permission.PermissionChecker;

import com.nosester.portlet.eventlisting.model.Location;
import com.nosester.portlet.eventlisting.service.LocationLocalServiceUtil;

/**
* @author Brian Wing Shun Chan
*/
public class LocationPermission {

  public static void check(
      PermissionChecker permissionChecker, Location location,
      String actionId)
    throws PortalException {

    if (!contains(permissionChecker, location, actionId)) {
      throw new PrincipalException();
    }
  }

  public static void check(
      PermissionChecker permissionChecker, long locationId, String actionId)
    throws PortalException, SystemException {

    if (!contains(permissionChecker, locationId, actionId)) {
      throw new PrincipalException();
    }
  }

  public static boolean contains(
    PermissionChecker permissionChecker, Location location,
    String actionId) {

    if (permissionChecker.hasOwnerPermission(
        location.getCompanyId(), Location.class.getName(),
        location.getLocationId(), location.getUserId(), actionId)) {

      return true;
    }

    return permissionChecker.hasPermission(
      location.getGroupId(), Location.class.getName(), location.getLocationId(),
      actionId);
  }

  public static boolean contains(
      PermissionChecker permissionChecker, long locationId, String actionId)
    throws PortalException, SystemException {

    Location location = LocationLocalServiceUtil.getLocation(locationId);

    return contains(permissionChecker, location, actionId);
  }

}
TOP

Related Classes of com.nosester.portlet.eventlisting.service.permission.LocationPermission

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.