aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Playlists
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-12 22:56:30 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-12 22:56:30 -0500
commitab3da461130b0db2f77e7e848c4bbd1280e5524a (patch)
tree0ee0ef36f4d710a491d4e8c5ef083df16c710d42 /MediaBrowser.Controller/Playlists
parent3fb40eb02e3ab4bf84e34ebed126db8d6f760e92 (diff)
more sync movement
Diffstat (limited to 'MediaBrowser.Controller/Playlists')
-rw-r--r--MediaBrowser.Controller/Playlists/Playlist.cs19
1 files changed, 17 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs
index 75e1bbde7..e48cddaaa 100644
--- a/MediaBrowser.Controller/Playlists/Playlist.cs
+++ b/MediaBrowser.Controller/Playlists/Playlist.cs
@@ -11,10 +11,17 @@ using System.Runtime.Serialization;
namespace MediaBrowser.Controller.Playlists
{
- public class Playlist : Folder
+ public class Playlist : Folder, IHasShares
{
public string OwnerUserId { get; set; }
+ public List<Share> Shares { get; set; }
+
+ public Playlist()
+ {
+ Shares = new List<Share>();
+ }
+
[IgnoreDataMember]
protected override bool FilterLinkedChildrenPerUser
{
@@ -166,7 +173,15 @@ namespace MediaBrowser.Controller.Playlists
public override bool IsVisible(User user)
{
- return base.IsVisible(user) && string.Equals(user.Id.ToString("N"), OwnerUserId);
+ if (base.IsVisible(user))
+ {
+ var userId = user.Id.ToString("N");
+
+ return Shares.Any(i => string.Equals(userId, i.UserId, StringComparison.OrdinalIgnoreCase)) ||
+ string.Equals(OwnerUserId, userId, StringComparison.OrdinalIgnoreCase);
+ }
+
+ return false;
}
}
}