diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-12-12 22:56:30 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-12-12 22:56:30 -0500 |
| commit | ab3da461130b0db2f77e7e848c4bbd1280e5524a (patch) | |
| tree | 0ee0ef36f4d710a491d4e8c5ef083df16c710d42 /MediaBrowser.Controller/Playlists | |
| parent | 3fb40eb02e3ab4bf84e34ebed126db8d6f760e92 (diff) | |
more sync movement
Diffstat (limited to 'MediaBrowser.Controller/Playlists')
| -rw-r--r-- | MediaBrowser.Controller/Playlists/Playlist.cs | 19 |
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; } } } |
