Skip to content

Commit 22c615a

Browse files
committed
fixes filtering issue
1 parent 2ffc64b commit 22c615a

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

src/Umbraco.Web/WebApi/Filters/FilterAllowedOutgoingContentAttribute.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,16 @@ protected override void FilterItems(IUser user, IList items)
4444
FilterBasedOnPermissions(items, user, ApplicationContext.Current.Services.UserService);
4545
}
4646

47+
protected override int GetUserStartNode(IUser user)
48+
{
49+
return user.StartContentId;
50+
}
51+
52+
protected override int RecycleBinId
53+
{
54+
get { return Constants.System.RecycleBinContent; }
55+
}
56+
4757
internal void FilterBasedOnPermissions(IList items, IUser user, IUserService userService)
4858
{
4959
var length = items.Count;

src/Umbraco.Web/WebApi/Filters/FilterAllowedOutgoingMediaAttribute.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,16 @@ public override bool AllowMultiple
3939
get { return true; }
4040
}
4141

42+
protected virtual int GetUserStartNode(IUser user)
43+
{
44+
return user.StartMediaId;
45+
}
46+
47+
protected virtual int RecycleBinId
48+
{
49+
get { return Constants.System.RecycleBinMedia; }
50+
}
51+
4252
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
4353
{
4454
var user = UmbracoContext.Current.Security.CurrentUser;
@@ -77,7 +87,7 @@ internal void FilterBasedOnStartNode(IList items, IUser user)
7787
var toRemove = new List<dynamic>();
7888
foreach (dynamic item in items)
7989
{
80-
var hasPathAccess = (item != null && UserExtensions.HasPathAccess(item.Path, user.StartMediaId, Constants.System.RecycleBinMedia));
90+
var hasPathAccess = (item != null && UserExtensions.HasPathAccess(item.Path, GetUserStartNode(user), RecycleBinId));
8191
if (!hasPathAccess)
8292
{
8393
toRemove.Add(item);

0 commit comments

Comments
 (0)