From bfef6166f55701d7d95ae18ecd07bd09dae39737 Mon Sep 17 00:00:00 2001 From: Keivan Date: Thu, 3 Feb 2011 16:48:09 -0800 Subject: [PATCH] some changes to unmapped view --- NzbDrone.Core.Test/SeriesProviderTest.cs | 2 +- NzbDrone.Core/Providers/ISeriesProvider.cs | 2 +- NzbDrone.Core/Providers/SeriesProvider.cs | 6 ++--- NzbDrone.Core/Providers/SyncProvider.cs | 2 +- NzbDrone.Web/Controllers/SeriesController.cs | 10 +++++++- NzbDrone.Web/NzbDrone.Web.csproj | 1 + NzbDrone.Web/Views/Series/Unmapped.aspx | 24 ++++++++++++-------- 7 files changed, 31 insertions(+), 16 deletions(-) diff --git a/NzbDrone.Core.Test/SeriesProviderTest.cs b/NzbDrone.Core.Test/SeriesProviderTest.cs index 6fe849e35..1ffde78bf 100644 --- a/NzbDrone.Core.Test/SeriesProviderTest.cs +++ b/NzbDrone.Core.Test/SeriesProviderTest.cs @@ -83,7 +83,7 @@ namespace NzbDrone.Core.Test var unmappedFolder = seriesController.GetUnmappedFolders(); //Assert - Assert.AreElementsEqualIgnoringOrder(MockLib.StandardSeries, unmappedFolder); + Assert.AreElementsEqualIgnoringOrder(MockLib.StandardSeries, unmappedFolder.Values); } diff --git a/NzbDrone.Core/Providers/ISeriesProvider.cs b/NzbDrone.Core/Providers/ISeriesProvider.cs index c7568e33a..d625a0bcc 100644 --- a/NzbDrone.Core/Providers/ISeriesProvider.cs +++ b/NzbDrone.Core/Providers/ISeriesProvider.cs @@ -21,7 +21,7 @@ namespace NzbDrone.Core.Providers TvdbSeries MapPathToSeries(string path); void AddSeries(string path, TvdbSeries series); - List GetUnmappedFolders(); + Dictionary GetUnmappedFolders(); Series FindSeries(string cleanTitle); bool QualityWanted(int seriesId, QualityTypes quality); } diff --git a/NzbDrone.Core/Providers/SeriesProvider.cs b/NzbDrone.Core/Providers/SeriesProvider.cs index 361d0723b..9c9c57cd1 100644 --- a/NzbDrone.Core/Providers/SeriesProvider.cs +++ b/NzbDrone.Core/Providers/SeriesProvider.cs @@ -58,19 +58,19 @@ namespace NzbDrone.Core.Providers return _sonioRepo.Exists(s => s.SeriesId == seriesId && (QualityTypes)s.Quality == quality); } - public List GetUnmappedFolders() + public Dictionary GetUnmappedFolders() { Logger.Debug("Generating list of unmapped folders"); if (String.IsNullOrEmpty(_config.SeriesRoot)) throw new InvalidOperationException("TV Series folder is not configured yet."); - var results = new List(); + var results = new Dictionary(); foreach (string seriesFolder in _diskProvider.GetDirectories(_config.SeriesRoot)) { var cleanPath = Parser.NormalizePath(new DirectoryInfo(seriesFolder).FullName); if (!_sonioRepo.Exists(s => s.Path == cleanPath)) { - results.Add(cleanPath); + results.Add(Guid.NewGuid(), cleanPath); } } diff --git a/NzbDrone.Core/Providers/SyncProvider.cs b/NzbDrone.Core/Providers/SyncProvider.cs index 99e518a2e..d41831a3d 100644 --- a/NzbDrone.Core/Providers/SyncProvider.cs +++ b/NzbDrone.Core/Providers/SyncProvider.cs @@ -63,7 +63,7 @@ namespace NzbDrone.Core.Providers var unmappedFolders = _seriesProvider.GetUnmappedFolders(); _seriesSyncNotification.ProgressMax = unmappedFolders.Count; - foreach (string seriesFolder in unmappedFolders) + foreach (string seriesFolder in unmappedFolders.Values) { try { diff --git a/NzbDrone.Web/Controllers/SeriesController.cs b/NzbDrone.Web/Controllers/SeriesController.cs index 54f6b81f6..23c0b1713 100644 --- a/NzbDrone.Web/Controllers/SeriesController.cs +++ b/NzbDrone.Web/Controllers/SeriesController.cs @@ -51,7 +51,7 @@ namespace NzbDrone.Web.Controllers public ActionResult UnMapped() { - return View(_seriesProvider.GetUnmappedFolders()); + return View(_seriesProvider.GetUnmappedFolders().Select(c => new MappingModel() { Id = 1, Path = c.Value }).ToList()); } @@ -156,6 +156,14 @@ namespace NzbDrone.Web.Controllers // // GET: /Series/Details/5 + [AcceptVerbs(HttpVerbs.Post)] + [GridAction] + public ActionResult _SaveAjaxEditing(string id) + { + return RedirectToAction("UnMapped"); + } + + public ActionResult Details(int seriesId) { return View(_seriesProvider.GetSeries(seriesId)); diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index c4264af8d..9edf18717 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -84,6 +84,7 @@ + diff --git a/NzbDrone.Web/Views/Series/Unmapped.aspx b/NzbDrone.Web/Views/Series/Unmapped.aspx index 08d3143cb..8255d7470 100644 --- a/NzbDrone.Web/Views/Series/Unmapped.aspx +++ b/NzbDrone.Web/Views/Series/Unmapped.aspx @@ -1,4 +1,4 @@ -<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage>" %> +<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage>" %> <%@ Import Namespace="Telerik.Web.Mvc.UI" %> @@ -10,13 +10,19 @@

Please Re-sync your folders. If the problem persists try renaming your folders to something more similar to the name of series they contain.

- <% - - - Html.Telerik().Grid(Model) - .Name("Grid") - .Columns(columns => columns.Bound(o => o).Title("Folder")) - .Sortable(sort => sort.OrderBy(order => order.Add(o => o).Ascending()).Enabled(false)) - .Render(); + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataKeys(dataKeys => dataKeys.Add(c => c.Id)) + .DataBinding(dataBinding => dataBinding + //Server binding + .Ajax() + .Select("UnMapped", "Series") + .Update("Update", "Home") + ) + .Columns(columns => + { + columns.Bound(c => c.Path); + columns.Command(commands => commands.Edit()); + }) %>