fixes filtering issue
This commit is contained in:
@@ -44,6 +44,16 @@ namespace Umbraco.Web.WebApi.Filters
|
||||
FilterBasedOnPermissions(items, user, ApplicationContext.Current.Services.UserService);
|
||||
}
|
||||
|
||||
protected override int GetUserStartNode(IUser user)
|
||||
{
|
||||
return user.StartContentId;
|
||||
}
|
||||
|
||||
protected override int RecycleBinId
|
||||
{
|
||||
get { return Constants.System.RecycleBinContent; }
|
||||
}
|
||||
|
||||
internal void FilterBasedOnPermissions(IList items, IUser user, IUserService userService)
|
||||
{
|
||||
var length = items.Count;
|
||||
|
||||
@@ -39,6 +39,16 @@ namespace Umbraco.Web.WebApi.Filters
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
protected virtual int GetUserStartNode(IUser user)
|
||||
{
|
||||
return user.StartMediaId;
|
||||
}
|
||||
|
||||
protected virtual int RecycleBinId
|
||||
{
|
||||
get { return Constants.System.RecycleBinMedia; }
|
||||
}
|
||||
|
||||
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
|
||||
{
|
||||
var user = UmbracoContext.Current.Security.CurrentUser;
|
||||
@@ -77,7 +87,7 @@ namespace Umbraco.Web.WebApi.Filters
|
||||
var toRemove = new List<dynamic>();
|
||||
foreach (dynamic item in items)
|
||||
{
|
||||
var hasPathAccess = (item != null && UserExtensions.HasPathAccess(item.Path, user.StartMediaId, Constants.System.RecycleBinMedia));
|
||||
var hasPathAccess = (item != null && UserExtensions.HasPathAccess(item.Path, GetUserStartNode(user), RecycleBinId));
|
||||
if (!hasPathAccess)
|
||||
{
|
||||
toRemove.Add(item);
|
||||
|
||||
Reference in New Issue
Block a user