support delete per library

This commit is contained in:
Luke Pulverenti
2017-10-16 02:10:55 -04:00
parent 6f15141d73
commit 4ef9f68837
13 changed files with 104 additions and 15 deletions

View File

@@ -477,14 +477,36 @@ namespace MediaBrowser.Controller.Entities
locationType != LocationType.Virtual;
}
public virtual bool IsAuthorizedToDelete(User user)
public virtual bool IsAuthorizedToDelete(User user, List<Folder> allCollectionFolders)
{
return user.Policy.EnableContentDeletion;
if (user.Policy.EnableContentDeletion)
{
return true;
}
var allowed = user.Policy.EnableContentDeletionFromFolders;
var collectionFolders = LibraryManager.GetCollectionFolders(this, allCollectionFolders);
foreach (var folder in collectionFolders)
{
if (allowed.Contains(folder.Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
{
return true;
}
}
return false;
}
public bool CanDelete(User user, List<Folder> allCollectionFolders)
{
return CanDelete() && IsAuthorizedToDelete(user, allCollectionFolders);
}
public bool CanDelete(User user)
{
return CanDelete() && IsAuthorizedToDelete(user);
var allCollectionFolders = LibraryManager.GetUserRootFolder().Children.OfType<Folder>().ToList();
return CanDelete(user, allCollectionFolders);
}
public virtual bool CanDownload()

View File

@@ -126,7 +126,7 @@ namespace MediaBrowser.Controller.Entities.Movies
}
}
public override bool IsAuthorizedToDelete(User user)
public override bool IsAuthorizedToDelete(User user, List<Folder> allCollectionFolders)
{
return true;
}

View File

@@ -132,7 +132,7 @@ namespace MediaBrowser.Controller.LiveTv
return true;
}
public override bool IsAuthorizedToDelete(User user)
public override bool IsAuthorizedToDelete(User user, List<Folder> allCollectionFolders)
{
return user.Policy.EnableLiveTvManagement;
}

View File

@@ -131,7 +131,7 @@ namespace MediaBrowser.Controller.LiveTv
return true;
}
public override bool IsAuthorizedToDelete(User user)
public override bool IsAuthorizedToDelete(User user, List<Folder> allCollectionFolders)
{
return user.Policy.EnableLiveTvManagement;
}

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Controller.Entities;
namespace MediaBrowser.Controller.Notifications
{
@@ -15,6 +16,8 @@ namespace MediaBrowser.Controller.Notifications
/// <returns>Task.</returns>
Task SendNotification(NotificationRequest request, CancellationToken cancellationToken);
Task SendNotification(NotificationRequest request, BaseItem relatedItem, CancellationToken cancellationToken);
/// <summary>
/// Adds the parts.
/// </summary>

View File

@@ -73,7 +73,7 @@ namespace MediaBrowser.Controller.Playlists
return 1;
}
public override bool IsAuthorizedToDelete(User user)
public override bool IsAuthorizedToDelete(User user, List<Folder> allCollectionFolders)
{
return true;
}