aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-04-14 22:39:39 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-04-14 22:39:39 -0400
commit7f2b2e1b9aa5011413c6f9dc1098d547ea415fde (patch)
tree356db7ad33e67b80c74e55f1d999e4a3a615807d /MediaBrowser.Controller/Entities
parent57e3bb72f93baca695ba2b6670faec8ee0e1796b (diff)
fix block by inherited tags
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs18
-rw-r--r--MediaBrowser.Controller/Entities/InternalItemsQuery.cs4
2 files changed, 21 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 438c5cf23..6a3f3ba19 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1348,6 +1348,24 @@ namespace MediaBrowser.Controller.Entities
return LocalizationManager.GetRatingLevel(rating);
}
+ public List<string> GetInheritedTags()
+ {
+ var list = new List<string>();
+ list.AddRange(Tags);
+
+ foreach (var parent in GetParents())
+ {
+ list.AddRange(parent.Tags);
+ }
+
+ foreach (var parent in LibraryManager.GetCollectionFolders(this))
+ {
+ list.AddRange(parent.Tags);
+ }
+
+ return list.Distinct(StringComparer.OrdinalIgnoreCase).ToList();
+ }
+
private bool IsVisibleViaTags(User user)
{
var hasTags = this as IHasTags;
diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
index b568aec18..fbf246b3a 100644
--- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
@@ -33,6 +33,7 @@ namespace MediaBrowser.Controller.Entities
public string[] IncludeItemTypes { get; set; }
public string[] ExcludeItemTypes { get; set; }
public string[] ExcludeTags { get; set; }
+ public string[] ExcludeInheritedTags { get; set; }
public string[] Genres { get; set; }
public bool? IsMissing { get; set; }
@@ -157,6 +158,7 @@ namespace MediaBrowser.Controller.Entities
AncestorIds = new string[] { };
TopParentIds = new string[] { };
ExcludeTags = new string[] { };
+ ExcludeInheritedTags = new string[] { };
LocationTypes = new LocationType[] { };
ExcludeLocationTypes = new LocationType[] { };
PresetViews = new string[] { };
@@ -181,7 +183,7 @@ namespace MediaBrowser.Controller.Entities
BlockUnratedItems = policy.BlockUnratedItems;
}
- ExcludeTags = policy.BlockedTags;
+ ExcludeInheritedTags = policy.BlockedTags;
User = user;
}