diff --git a/NzbDrone.Web/Content/Images/Delete.png b/NzbDrone.Web/Content/Images/Delete.png new file mode 100644 index 000000000..36e8689b7 Binary files /dev/null and b/NzbDrone.Web/Content/Images/Delete.png differ diff --git a/NzbDrone.Web/Content/NzbDrone.css b/NzbDrone.Web/Content/NzbDrone.css index 01e9a722c..87c8eb85c 100644 --- a/NzbDrone.Web/Content/NzbDrone.css +++ b/NzbDrone.Web/Content/NzbDrone.css @@ -278,4 +278,51 @@ button span, input[type="button"] span, input[type="submit"] span, input[type="r .episodeMissing { background-color: #F5A9A9; -} \ No newline at end of file +} + +.seriesTable + { + width: 100%; + border-width: 1px; + border-spacing: 2px; + border-style: none; + border-color: white; + border-collapse: collapse; + } + + .seriesTable th + { + font-family: "Segoe UI Light" , "Open Sans" , "Segoe UI" , sans-serif; + border-width: 300; + font-size: 17px; + padding: 2px; + border-style: inset; + border-color: #EEEEEE; + padding-left: 7px; + text-align: left; + background-color: white; + font-weight: lighter; + } + + .seriesTable td + { + border-width: 1px; + padding: 0px 8px 0px 8px; + border-style: inset; + border-color: #EEEEEE; + } + + .detail-view + { + display: none; + } + + /* Colour alternating rows */ + .seriesTable tr:nth-child(4n) + { + background: #f0f5ff; + } + .seriesTable tr:nth-child(4n+1) + { + background: #f0f5ff; + } \ No newline at end of file diff --git a/NzbDrone.Web/Content/Overrides.css b/NzbDrone.Web/Content/Overrides.css index 4254cdef9..8a9c01b82 100644 --- a/NzbDrone.Web/Content/Overrides.css +++ b/NzbDrone.Web/Content/Overrides.css @@ -26,6 +26,11 @@ color: #065EFE; } +.ui-progressbar-value +{ + background: #065EFE url(./jQueryUI/images/ui-bg_flat_30_065efe_40x100.png) 50% 50% repeat-x; +} + .jquery-tabs { margin-top: 10px; diff --git a/NzbDrone.Web/Controllers/SeriesController.cs b/NzbDrone.Web/Controllers/SeriesController.cs index 13a6a6bed..40bccfd8e 100644 --- a/NzbDrone.Web/Controllers/SeriesController.cs +++ b/NzbDrone.Web/Controllers/SeriesController.cs @@ -37,6 +37,12 @@ namespace NzbDrone.Web.Controllers } public ActionResult Index() + { + var series = GetSeriesModels(_seriesProvider.GetAllSeriesWithEpisodeCount()).OrderBy(o => SortHelper.SkipArticles(o.Title)); + return View(series); + } + + public ActionResult SeriesEditor(int seriesId) { var profiles = _qualityProvider.All(); ViewData["SelectList"] = new SelectList(profiles, "QualityProfileId", "Name"); @@ -50,47 +56,31 @@ namespace NzbDrone.Web.Controllers ViewData["BacklogSettingSelectList"] = new SelectList(backlogStatusTypes, "Key", "Value"); - return View(); - } - - [GridAction] - public ActionResult _AjaxSeriesGrid() - { - var series = GetSeriesModels(_seriesProvider.GetAllSeriesWithEpisodeCount()).OrderBy(o => SortHelper.SkipArticles(o.Title)); - return View(new GridModel(series)); + var series = GetSeriesModels(new List{_seriesProvider.GetSeries(seriesId)}).Single(); + return View(series); } - [AcceptVerbs(HttpVerbs.Post)] - [GridAction] - public ActionResult _SaveAjaxSeriesEditing(int id, string path, bool monitored, bool seasonFolder, int qualityProfileId, int backlogSetting) + [HttpPost] + public JsonResult SaveSeriesEditor(SeriesModel seriesModel) { - var oldSeries = _seriesProvider.GetSeries(id); - oldSeries.Monitored = monitored; - oldSeries.SeasonFolder = seasonFolder; - oldSeries.QualityProfileId = qualityProfileId; - oldSeries.Path = path; - oldSeries.BacklogSetting = (BacklogSettingType)backlogSetting; + var series = _seriesProvider.GetSeries(seriesModel.SeriesId); + series.Monitored = seriesModel.Monitored; + series.SeasonFolder = seriesModel.SeasonFolder; + series.QualityProfileId = seriesModel.QualityProfileId; + series.Path = seriesModel.Path; + series.BacklogSetting = (BacklogSettingType)seriesModel.BacklogSetting; - _seriesProvider.UpdateSeries(oldSeries); + _seriesProvider.UpdateSeries(series); - var series = GetSeriesModels(_seriesProvider.GetAllSeriesWithEpisodeCount()).OrderBy(o => SortHelper.SkipArticles(o.Title)); - return View(new GridModel(series)); + return JsonNotificationResult.Info("Series Saved"); } - [GridAction] - public ActionResult _DeleteAjaxSeriesEditing(int id) + [HttpPost] + public JsonResult DeleteSeries(int seriesId) { - //Grab the series from the DB so we can remove it from the list we return to the client - var seriesInDb = _seriesProvider.GetAllSeriesWithEpisodeCount().ToList(); - - //Remove this so we don't send it back to the client (since it hasn't really been deleted yet) - seriesInDb.RemoveAll(s => s.SeriesId == id); - - //Start removing this series - _jobProvider.QueueJob(typeof(DeleteSeriesJob), id); + _jobProvider.QueueJob(typeof(DeleteSeriesJob), seriesId); - var series = GetSeriesModels(seriesInDb).OrderBy(o => SortHelper.SkipArticles(o.Title)); - return View(new GridModel(series)); + return JsonNotificationResult.Info("Series Deleted"); } public JsonResult LocalSearch(string term) diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 3650d38ed..7b56dcf9f 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -142,6 +142,7 @@ + @@ -455,9 +456,6 @@ - - - @@ -548,6 +546,12 @@ + + + + + +