add notification services tab

This commit is contained in:
Luke Pulverenti
2015-04-05 23:47:01 -04:00
parent 30104bd8de
commit 3cc0ad2a35
10 changed files with 56 additions and 23 deletions

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Model.Channels;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Dto;
@@ -100,5 +101,10 @@ namespace MediaBrowser.Controller.Channels
{
return false;
}
public override bool IsVisibleStandalone(User user)
{
return base.IsVisibleStandalone(user) && ChannelVideoItem.IsChannelVisible(this, user);
}
}
}

View File

@@ -80,5 +80,10 @@ namespace MediaBrowser.Controller.Channels
{
return false;
}
public override bool IsVisibleStandalone(User user)
{
return base.IsVisibleStandalone(user) && ChannelVideoItem.IsChannelVisible(this, user);
}
}
}

View File

@@ -130,5 +130,17 @@ namespace MediaBrowser.Controller.Channels
{
return false;
}
public override bool IsVisibleStandalone(User user)
{
return base.IsVisibleStandalone(user) && IsChannelVisible(this, user);
}
internal static bool IsChannelVisible(IChannelItem item, User user)
{
var channel = ChannelManager.GetChannel(item.ChannelId);
return channel.IsVisible(user);
}
}
}

View File

@@ -1154,9 +1154,19 @@ namespace MediaBrowser.Controller.Entities
return false;
}
// TODO: Need some work here, e.g. is in user library, for channels, can user access channel, etc.
var topParent = Parents.LastOrDefault() ?? this;
return true;
if (string.IsNullOrWhiteSpace(topParent.Path))
{
return true;
}
var locations = user.RootFolder
.GetChildren(user, true)
.OfType<CollectionFolder>()
.SelectMany(i => i.PhysicalLocations);
return locations.Any(l => FileSystem.ContainsSubPath(l, topParent.Path));
}
/// <summary>