added HasDynamicCategories to user views

This commit is contained in:
Luke Pulverenti 2015-03-06 01:10:53 -05:00
parent 0271b6776e
commit fce2c95ac7
4 changed files with 27 additions and 10 deletions

View file

@ -16,6 +16,11 @@ namespace MediaBrowser.Controller.Entities
public static ITVSeriesManager TVSeriesManager; public static ITVSeriesManager TVSeriesManager;
public bool ContainsDynamicCategories(User user)
{
return true;
}
public override Task<QueryResult<BaseItem>> GetItems(InternalItemsQuery query) public override Task<QueryResult<BaseItem>> GetItems(InternalItemsQuery query)
{ {
var parent = this as Folder; var parent = this as Folder;

View file

@ -67,6 +67,7 @@ namespace MediaBrowser.Model.Dto
public float? Metascore { get; set; } public float? Metascore { get; set; }
public bool? IsUnidentified { get; set; } public bool? IsUnidentified { get; set; }
public bool? HasDynamicCategories { get; set; }
public int? AnimeSeriesIndex { get; set; } public int? AnimeSeriesIndex { get; set; }

View file

@ -395,6 +395,18 @@ namespace MediaBrowser.Server.Implementations.Dto
} }
} }
} }
var userView = item as UserView;
if (userView != null)
{
dto.HasDynamicCategories = userView.ContainsDynamicCategories(user);
}
var collectionFolder = item as ICollectionFolder;
if (collectionFolder != null)
{
dto.HasDynamicCategories = false;
}
} }
private int GetChildCount(Folder folder, User user) private int GetChildCount(Folder folder, User user)

View file

@ -143,7 +143,7 @@ namespace MediaBrowser.Server.Implementations.Sync
var fileTransferProgress = new ActionableProgress<double>(); var fileTransferProgress = new ActionableProgress<double>();
fileTransferProgress.RegisterAction(pct => progress.Report(pct * .92)); fileTransferProgress.RegisterAction(pct => progress.Report(pct * .92));
var localItem = CreateLocalItem(provider, target, libraryItem, serverId, jobItem.OriginalFileName); var localItem = CreateLocalItem(provider, jobItem.SyncJobId, target, libraryItem, serverId, jobItem.OriginalFileName);
await _syncManager.ReportSyncJobItemTransferBeginning(internalSyncJobItem.Id); await _syncManager.ReportSyncJobItemTransferBeginning(internalSyncJobItem.Id);
@ -226,9 +226,9 @@ namespace MediaBrowser.Server.Implementations.Sync
} }
} }
public LocalItem CreateLocalItem(IServerSyncProvider provider, SyncTarget target, BaseItemDto libraryItem, string serverId, string originalFileName) public LocalItem CreateLocalItem(IServerSyncProvider provider, string syncJobId, SyncTarget target, BaseItemDto libraryItem, string serverId, string originalFileName)
{ {
var path = GetDirectoryPath(provider, libraryItem, serverId); var path = GetDirectoryPath(provider, syncJobId, libraryItem, serverId);
path.Add(GetLocalFileName(provider, libraryItem, originalFileName)); path.Add(GetLocalFileName(provider, libraryItem, originalFileName));
var localPath = provider.GetFullPath(path, target); var localPath = provider.GetFullPath(path, target);
@ -249,21 +249,20 @@ namespace MediaBrowser.Server.Implementations.Sync
}; };
} }
private List<string> GetDirectoryPath(IServerSyncProvider provider, BaseItemDto item, string serverId) private List<string> GetDirectoryPath(IServerSyncProvider provider, string syncJobId, BaseItemDto item, string serverId)
{ {
var parts = new List<string> var parts = new List<string>
{ {
serverId serverId,
syncJobId
}; };
if (item.IsType("episode")) if (item.IsType("episode"))
{ {
parts.Add("TV"); parts.Add("TV");
parts.Add(item.SeriesName); if (!string.IsNullOrWhiteSpace(item.SeriesName))
if (!string.IsNullOrWhiteSpace(item.SeasonName))
{ {
parts.Add(item.SeasonName); parts.Add(item.SeriesName);
} }
} }
else if (item.IsVideo) else if (item.IsVideo)
@ -302,7 +301,7 @@ namespace MediaBrowser.Server.Implementations.Sync
{ {
var filename = originalFileName; var filename = originalFileName;
if (string.IsNullOrEmpty(filename)) if (string.IsNullOrWhiteSpace(filename))
{ {
filename = item.Name; filename = item.Name;
} }