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;
}