Fixes: U4-4852 ContentService can add new permissions but not remove them

This commit is contained in:
Shannon
2014-07-10 12:24:36 +10:00
parent 080bf7293d
commit 4857107b5e
4 changed files with 34 additions and 0 deletions

View File

@@ -558,6 +558,12 @@ namespace Umbraco.Core.Persistence.Repositories
}
}
public void ReplaceContentPermissions(EntityPermissionSet permissionSet)
{
var repo = new PermissionRepository<IContent>(UnitOfWork, _cacheHelper);
repo.ReplaceEntityPermissions(permissionSet);
}
public IContent GetByLanguage(int id, string language)
{
var sql = GetBaseQuery(false);

View File

@@ -9,6 +9,13 @@ namespace Umbraco.Core.Persistence.Repositories
{
public interface IContentRepository : IRepositoryVersionable<int, IContent>
{
/// <summary>
/// Used to bulk update the permissions set for a content item. This will replace all permissions
/// assigned to an entity with a list of user id & permission pairs.
/// </summary>
/// <param name="permissionSet"></param>
void ReplaceContentPermissions(EntityPermissionSet permissionSet);
/// <summary>
/// Gets a specific language version of an <see cref="IContent"/>
/// </summary>

View File

@@ -74,6 +74,20 @@ namespace Umbraco.Core.Services
_dataTypeService = dataTypeService;
}
/// <summary>
/// Used to bulk update the permissions set for a content item. This will replace all permissions
/// assigned to an entity with a list of user id & permission pairs.
/// </summary>
/// <param name="permissionSet"></param>
public void ReplaceContentPermissions(EntityPermissionSet permissionSet)
{
var uow = _uowProvider.GetUnitOfWork();
using (var repository = _repositoryFactory.CreateContentRepository(uow))
{
repository.ReplaceContentPermissions(permissionSet);
}
}
/// <summary>
/// Assigns a single permission to the current content item for the specified user ids
/// </summary>

View File

@@ -11,6 +11,13 @@ namespace Umbraco.Core.Services
/// </summary>
public interface IContentService : IService
{
/// <summary>
/// Used to bulk update the permissions set for a content item. This will replace all permissions
/// assigned to an entity with a list of user id & permission pairs.
/// </summary>
/// <param name="permissionSet"></param>
void ReplaceContentPermissions(EntityPermissionSet permissionSet);
/// <summary>
/// Assigns a single permission to the current content item for the specified user ids
/// </summary>