mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-20 21:43:33 -07:00
Root Dir cleanup
This commit is contained in:
parent
07312780f1
commit
cece6e9bf6
10 changed files with 144 additions and 59 deletions
|
@ -87,6 +87,12 @@ namespace NzbDrone.Web.Controllers
|
|||
return View(rootDirs);
|
||||
}
|
||||
|
||||
|
||||
public ActionResult Test()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult AddExisting()
|
||||
{
|
||||
var rootDirs = _rootFolderProvider.GetAll();
|
||||
|
@ -185,18 +191,15 @@ namespace NzbDrone.Web.Controllers
|
|||
|
||||
//Root Directory
|
||||
[HttpPost]
|
||||
public JsonResult SaveRootDir(int id, string path)
|
||||
public JsonResult SaveRootDir(string path)
|
||||
{
|
||||
if (String.IsNullOrWhiteSpace(path))
|
||||
return new JsonResult { Data = "failed" };
|
||||
|
||||
try
|
||||
{
|
||||
if (id == 0)
|
||||
id = _rootFolderProvider.Add(new RootDir { Path = path });
|
||||
_rootFolderProvider.Add(new RootDir { Path = path });
|
||||
|
||||
else
|
||||
_rootFolderProvider.Update(new RootDir { Id = id, Path = path });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -206,7 +209,7 @@ namespace NzbDrone.Web.Controllers
|
|||
return new JsonResult { Data = "failed" };
|
||||
}
|
||||
|
||||
return new JsonResult { Data = id };
|
||||
return new JsonResult { };
|
||||
}
|
||||
|
||||
public PartialViewResult AddRootDir()
|
||||
|
@ -238,11 +241,19 @@ namespace NzbDrone.Web.Controllers
|
|||
return PartialView("RootDir", model);
|
||||
}
|
||||
|
||||
public JsonResult DeleteRootDir(int rootDirId)
|
||||
|
||||
public ActionResult RootDir()
|
||||
{
|
||||
var rootDir = _rootFolderProvider.GetAll().Select(c => c.Path);
|
||||
return PartialView("RootDir", rootDir);
|
||||
}
|
||||
|
||||
public JsonResult DeleteRootDir(string path)
|
||||
{
|
||||
try
|
||||
{
|
||||
_rootFolderProvider.Remove(rootDirId);
|
||||
var id = _rootFolderProvider.GetAll().Where(c => c.Path == path).First().Id;
|
||||
_rootFolderProvider.Remove(id);
|
||||
}
|
||||
|
||||
catch (Exception)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Helpers;
|
||||
using System.Web.Mvc;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
|
||||
|
@ -28,26 +29,28 @@ namespace NzbDrone.Web.Controllers
|
|||
};
|
||||
}
|
||||
|
||||
public SelectList GetDirectories(string text)
|
||||
[HttpGet]
|
||||
public JsonResult GetDirectories(string q)
|
||||
{
|
||||
try
|
||||
{
|
||||
//Windows (Including UNC)
|
||||
var windowsSep = text.LastIndexOf('\\');
|
||||
var windowsSep = q.LastIndexOf('\\');
|
||||
|
||||
if (windowsSep > -1)
|
||||
{
|
||||
var dirs = _diskProvider.GetDirectories(text.Substring(0, windowsSep + 1));
|
||||
return new SelectList(dirs, dirs.FirstOrDefault());
|
||||
var dirs = _diskProvider.GetDirectories(q.Substring(0, windowsSep + 1));
|
||||
return Json(dirs, JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
|
||||
return Json(new string[] { }, JsonRequestBehavior.AllowGet);
|
||||
//Unix
|
||||
var index = text.LastIndexOf('/');
|
||||
var index = q.LastIndexOf('/');
|
||||
|
||||
if (index > -1)
|
||||
{
|
||||
var dirs = _diskProvider.GetDirectories(text.Substring(0, index + 1));
|
||||
return new SelectList(dirs, dirs.FirstOrDefault());
|
||||
var dirs = _diskProvider.GetDirectories(q.Substring(0, index + 1));
|
||||
//return new SelectList(dirs, dirs.FirstOrDefault());
|
||||
}
|
||||
}
|
||||
catch
|
||||
|
@ -55,7 +58,7 @@ namespace NzbDrone.Web.Controllers
|
|||
//Swallow the exceptions so proper JSON is returned to the client (Empty results)
|
||||
}
|
||||
|
||||
return new SelectList(new List<string>());
|
||||
return Json(new string[]{}, JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue