/** * Deletes the user group. * * @param userGroup the user group * @return the deleted user group */ @Override @SystemEvent(action = SystemEventConstants.ACTION_SKIP, type = SystemEventConstants.TYPE_DELETE) public UserGroup deleteUserGroup(UserGroup userGroup) throws PortalException { if (!CompanyThreadLocal.isDeleteInProcess()) { int count = userLocalService.getUserGroupUsersCount( userGroup.getUserGroupId(), WorkflowConstants.STATUS_APPROVED); if (count > 0) { throw new RequiredUserGroupException(); } } // Expando expandoRowLocalService.deleteRows(userGroup.getUserGroupId()); // Group Group group = userGroup.getGroup(); groupLocalService.deleteGroup(group); // User group roles userGroupGroupRoleLocalService.deleteUserGroupGroupRolesByUserGroupId( userGroup.getUserGroupId()); // Resources resourceLocalService.deleteResource( userGroup.getCompanyId(), UserGroup.class.getName(), ResourceConstants.SCOPE_INDIVIDUAL, userGroup.getUserGroupId()); // User group userGroupPersistence.remove(userGroup); // Permission cache PermissionCacheUtil.clearCache(); return userGroup; }