Root Dir cleanup

This commit is contained in:
kay.one 2011-06-29 23:15:06 -07:00
commit cece6e9bf6
10 changed files with 144 additions and 59 deletions

View file

@ -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)

View file

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