aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Channels/Channel.cs14
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs21
-rw-r--r--MediaBrowser.Controller/Library/ILibraryManager.cs9
-rw-r--r--MediaBrowser.Controller/Sync/ISyncManager.cs19
4 files changed, 49 insertions, 14 deletions
diff --git a/MediaBrowser.Controller/Channels/Channel.cs b/MediaBrowser.Controller/Channels/Channel.cs
index 6ee6fe0062..32ad2ff122 100644
--- a/MediaBrowser.Controller/Channels/Channel.cs
+++ b/MediaBrowser.Controller/Channels/Channel.cs
@@ -14,9 +14,19 @@ namespace MediaBrowser.Controller.Channels
public override bool IsVisible(User user)
{
- if (!user.Policy.EnableAllChannels && !user.Policy.EnabledChannels.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
+ if (user.Policy.BlockedChannels != null)
{
- return false;
+ if (user.Policy.BlockedChannels.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (!user.Policy.EnableAllChannels && !user.Policy.EnabledChannels.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
+ {
+ return false;
+ }
}
return base.IsVisible(user);
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 8faab4c36f..005f263f7c 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -303,9 +303,22 @@ namespace MediaBrowser.Controller.Entities
{
if (this is ICollectionFolder)
{
- if (!user.Policy.EnableAllFolders && !user.Policy.EnabledFolders.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
+ if (user.Policy.BlockedMediaFolders != null)
{
- return false;
+ if (user.Policy.BlockedMediaFolders.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase) ||
+
+ // Backwards compatibility
+ user.Policy.BlockedMediaFolders.Contains(Name, StringComparer.OrdinalIgnoreCase))
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (!user.Policy.EnableAllFolders && !user.Policy.EnabledFolders.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
+ {
+ return false;
+ }
}
}
@@ -675,12 +688,12 @@ namespace MediaBrowser.Controller.Entities
path = System.IO.Path.GetDirectoryName(path);
}
- if (ContainsPath(LibraryManager.GetDefaultVirtualFolders(), originalPath))
+ if (ContainsPath(LibraryManager.GetVirtualFolders(), originalPath))
{
return true;
}
- return UserManager.Users.Any(user => ContainsPath(LibraryManager.GetVirtualFolders(user), originalPath));
+ return ContainsPath(LibraryManager.GetVirtualFolders(), originalPath);
}
/// <summary>
diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs
index 2ebd1cab93..9871ef3c5f 100644
--- a/MediaBrowser.Controller/Library/ILibraryManager.cs
+++ b/MediaBrowser.Controller/Library/ILibraryManager.cs
@@ -123,14 +123,7 @@ namespace MediaBrowser.Controller.Library
/// Gets the default view.
/// </summary>
/// <returns>IEnumerable{VirtualFolderInfo}.</returns>
- IEnumerable<VirtualFolderInfo> GetDefaultVirtualFolders();
-
- /// <summary>
- /// Gets the view.
- /// </summary>
- /// <param name="user">The user.</param>
- /// <returns>IEnumerable{VirtualFolderInfo}.</returns>
- IEnumerable<VirtualFolderInfo> GetVirtualFolders(User user);
+ IEnumerable<VirtualFolderInfo> GetVirtualFolders();
/// <summary>
/// Gets the item by id.
diff --git a/MediaBrowser.Controller/Sync/ISyncManager.cs b/MediaBrowser.Controller/Sync/ISyncManager.cs
index 59136c0e6f..8e4b6a44a0 100644
--- a/MediaBrowser.Controller/Sync/ISyncManager.cs
+++ b/MediaBrowser.Controller/Sync/ISyncManager.cs
@@ -1,8 +1,10 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Sync;
using MediaBrowser.Model.Users;
+using System;
using System.Collections.Generic;
using System.Threading.Tasks;
@@ -10,6 +12,9 @@ namespace MediaBrowser.Controller.Sync
{
public interface ISyncManager
{
+ event EventHandler<GenericEventArgs<SyncJob>> SyncJobCreated;
+ event EventHandler<GenericEventArgs<SyncJob>> SyncJobCancelled;
+
/// <summary>
/// Creates the job.
/// </summary>
@@ -45,6 +50,20 @@ namespace MediaBrowser.Controller.Sync
Task UpdateJob(SyncJob job);
/// <summary>
+ /// Res the enable job item.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>Task.</returns>
+ Task ReEnableJobItem(string id);
+
+ /// <summary>
+ /// Cnacels the job item.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>Task.</returns>
+ Task CancelJobItem(string id);
+
+ /// <summary>
/// Cancels the job.
/// </summary>
/// <param name="id">The identifier.</param>