001
014
015 package com.liferay.portlet.announcements.service.impl;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.security.auth.PrincipalException;
019 import com.liferay.portal.security.permission.ActionKeys;
020 import com.liferay.portal.security.permission.PermissionChecker;
021 import com.liferay.portal.service.permission.PortalPermissionUtil;
022 import com.liferay.portal.service.permission.UserPermissionUtil;
023 import com.liferay.portlet.announcements.model.AnnouncementsDelivery;
024 import com.liferay.portlet.announcements.service.base.AnnouncementsDeliveryServiceBaseImpl;
025
026
029 public class AnnouncementsDeliveryServiceImpl
030 extends AnnouncementsDeliveryServiceBaseImpl {
031
032 @Override
033 public AnnouncementsDelivery updateDelivery(
034 long userId, String type, boolean email, boolean sms,
035 boolean website)
036 throws PortalException {
037
038 PermissionChecker permissionChecker = getPermissionChecker();
039
040 if (!PortalPermissionUtil.contains(
041 permissionChecker, ActionKeys.ADD_USER) &&
042 !UserPermissionUtil.contains(
043 permissionChecker, userId, ActionKeys.UPDATE)) {
044
045 throw new PrincipalException.MustHavePermission(
046 permissionChecker, ActionKeys.ADD_USER, ActionKeys.UPDATE);
047 }
048
049 return announcementsDeliveryLocalService.updateDelivery(
050 userId, type, email, sms, website);
051 }
052
053 }