save library options on dialog close
This commit is contained in:
parent
7dbeeadea6
commit
89dd4f0be1
|
@ -11,6 +11,7 @@ using System.Threading;
|
|||
using System.Threading.Tasks;
|
||||
using CommonIO;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
|
||||
namespace MediaBrowser.Api.Library
|
||||
|
@ -140,6 +141,14 @@ namespace MediaBrowser.Api.Library
|
|||
public bool RefreshLibrary { get; set; }
|
||||
}
|
||||
|
||||
[Route("/Library/VirtualFolders/LibraryOptions", "POST")]
|
||||
public class UpdateLibraryOptions : IReturnVoid
|
||||
{
|
||||
public string Id { get; set; }
|
||||
|
||||
public LibraryOptions LibraryOptions { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Class LibraryStructureService
|
||||
/// </summary>
|
||||
|
@ -188,6 +197,13 @@ namespace MediaBrowser.Api.Library
|
|||
return ToOptimizedSerializedResultUsingCache(result);
|
||||
}
|
||||
|
||||
public void Post(UpdateLibraryOptions request)
|
||||
{
|
||||
var collectionFolder = (CollectionFolder)_libraryManager.GetItemById(request.Id);
|
||||
|
||||
collectionFolder.UpdateLibraryOptions(request.LibraryOptions);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Posts the specified request.
|
||||
/// </summary>
|
||||
|
@ -220,12 +236,12 @@ namespace MediaBrowser.Api.Library
|
|||
var currentPath = Path.Combine(rootFolderPath, request.Name);
|
||||
var newPath = Path.Combine(rootFolderPath, request.NewName);
|
||||
|
||||
if (!_fileSystem.DirectoryExists(currentPath))
|
||||
if (!_fileSystem.DirectoryExists(currentPath))
|
||||
{
|
||||
throw new DirectoryNotFoundException("The media collection does not exist");
|
||||
}
|
||||
|
||||
if (!string.Equals(currentPath, newPath, StringComparison.OrdinalIgnoreCase) && _fileSystem.DirectoryExists(newPath))
|
||||
if (!string.Equals(currentPath, newPath, StringComparison.OrdinalIgnoreCase) && _fileSystem.DirectoryExists(newPath))
|
||||
{
|
||||
throw new ArgumentException("There is already a media collection with the name " + newPath + ".");
|
||||
}
|
||||
|
@ -240,11 +256,11 @@ namespace MediaBrowser.Api.Library
|
|||
//Create an unique name
|
||||
var temporaryName = Guid.NewGuid().ToString();
|
||||
var temporaryPath = Path.Combine(rootFolderPath, temporaryName);
|
||||
_fileSystem.MoveDirectory(currentPath, temporaryPath);
|
||||
_fileSystem.MoveDirectory(currentPath, temporaryPath);
|
||||
currentPath = temporaryPath;
|
||||
}
|
||||
|
||||
_fileSystem.MoveDirectory(currentPath, newPath);
|
||||
_fileSystem.MoveDirectory(currentPath, newPath);
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
|
|
@ -95,9 +95,19 @@ namespace MediaBrowser.Controller.Entities
|
|||
return System.IO.Path.Combine(path, "options.xml");
|
||||
}
|
||||
|
||||
public void UpdateLibraryOptions(LibraryOptions options)
|
||||
{
|
||||
SaveLibraryOptions(Path, options);
|
||||
}
|
||||
|
||||
public static void SaveLibraryOptions(string path, LibraryOptions options)
|
||||
{
|
||||
XmlSerializer.SerializeToFile(options, GetLibraryOptionsPath(path));
|
||||
lock (LibraryOptions)
|
||||
{
|
||||
LibraryOptions[path] = options;
|
||||
|
||||
XmlSerializer.SerializeToFile(options, GetLibraryOptionsPath(path));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -110,8 +110,7 @@ namespace MediaBrowser.Controller.Entities.Movies
|
|||
{
|
||||
get
|
||||
{
|
||||
// TODO
|
||||
return false;
|
||||
return !FileSystem.ContainsSubPath(ConfigurationManager.ApplicationPaths.DataPath, Path);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ namespace MediaBrowser.Server.Implementations.Collections
|
|||
public class CollectionsDynamicFolder : IVirtualFolderCreator
|
||||
{
|
||||
private readonly IApplicationPaths _appPaths;
|
||||
private IFileSystem _fileSystem;
|
||||
private readonly IFileSystem _fileSystem;
|
||||
|
||||
public CollectionsDynamicFolder(IApplicationPaths appPaths, IFileSystem fileSystem)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user