fix library changed

This commit is contained in:
Luke Pulverenti
2015-04-10 10:49:03 -04:00
parent 4f7e8fee24
commit fbbab13b31
5 changed files with 31 additions and 30 deletions

View File

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

View File

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

View File

@@ -133,7 +133,7 @@ namespace MediaBrowser.Controller.Channels
public override bool IsVisibleStandalone(User user)
{
return base.IsVisibleStandalone(user) && IsChannelVisible(this, user);
return IsVisibleStandaloneInternal(user, false) && IsChannelVisible(this, user);
}
internal static bool IsChannelVisible(IChannelItem item, User user)

View File

@@ -1143,6 +1143,11 @@ namespace MediaBrowser.Controller.Entities
}
public virtual bool IsVisibleStandalone(User user)
{
return IsVisibleStandaloneInternal(user, true);
}
protected bool IsVisibleStandaloneInternal(User user, bool checkFolders)
{
if (!IsVisible(user))
{
@@ -1154,17 +1159,25 @@ namespace MediaBrowser.Controller.Entities
return false;
}
var topParent = Parents.LastOrDefault() ?? this;
if (string.IsNullOrWhiteSpace(topParent.Path))
if (checkFolders)
{
return true;
var topParent = Parents.LastOrDefault() ?? this;
if (string.IsNullOrWhiteSpace(topParent.Path))
{
return true;
}
var userCollectionFolders = user.RootFolder.GetChildren(user, true).Select(i => i.Id).ToList();
var itemCollectionFolders = LibraryManager.GetCollectionFolders(this).Select(i => i.Id);
if (!itemCollectionFolders.Any(userCollectionFolders.Contains))
{
return false;
}
}
var folders = user.RootFolder.GetChildren(user, true).Select(i => i.Id).ToList();
var itemCollectionFolders = LibraryManager.GetCollectionFolders(this).Select(i => i.Id).ToList();
return itemCollectionFolders.Any(folders.Contains);
return true;
}
/// <summary>
@@ -1669,7 +1682,7 @@ namespace MediaBrowser.Controller.Entities
else
{
existing.DateModified = FileSystem.GetLastWriteTimeUtc(newImage);
existing.Length = ((FileInfo) newImage).Length;
existing.Length = ((FileInfo)newImage).Length;
}
}