fixes #943 - Add web client filtering by genres, parental ratings, tags and years

This commit is contained in:
Luke Pulverenti
2014-11-09 23:20:11 -05:00
parent 1a80362a0f
commit 95eaf88abd
7 changed files with 182 additions and 70 deletions

View File

@@ -870,6 +870,16 @@ namespace MediaBrowser.Controller.Entities
return false;
}
if (request.Tags.Length > 0)
{
return false;
}
if (request.OfficialRatings.Length > 0)
{
return false;
}
return true;
}
@@ -1405,6 +1415,12 @@ namespace MediaBrowser.Controller.Entities
}
}
// Apply official rating filter
if (query.OfficialRatings.Length > 0 && !query.OfficialRatings.Contains(item.OfficialRating ?? string.Empty))
{
return false;
}
// Apply person filter
if (!string.IsNullOrEmpty(query.Person))
{
@@ -1431,6 +1447,21 @@ namespace MediaBrowser.Controller.Entities
return false;
}
}
}
// Apply tag filter
var tags = query.Tags;
if (tags.Length > 0)
{
var hasTags = item as IHasTags;
if (hasTags == null)
{
return false;
}
if (!(tags.Any(v => hasTags.Tags.Contains(v, StringComparer.OrdinalIgnoreCase))))
{
return false;
}
}
return true;