Merge remote-tracking branch 'origin/master' into dynamic-jobs

Conflicts:
	NzbDrone.Web/Scripts/NzbDrone/series.js
This commit is contained in:
Mark McDowall 2012-09-22 22:37:51 -07:00
commit b21bf01bf0
40 changed files with 700 additions and 262 deletions

View file

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Web.Mvc;
@ -44,7 +45,7 @@ namespace NzbDrone.Web.Controllers
return View((object)serialized);
}
public ActionResult SingleSeriesEditor(int seriesId)
public ActionResult Edit(int seriesId)
{
var profiles = _qualityProvider.All();
ViewData["SelectList"] = new SelectList(profiles, "QualityProfileId", "Name");
@ -63,7 +64,7 @@ namespace NzbDrone.Web.Controllers
}
[HttpPost]
public EmptyResult SaveSingleSeriesEditor(SeriesModel seriesModel)
public EmptyResult Edit(SeriesModel seriesModel)
{
var series = _seriesProvider.GetSeries(seriesModel.SeriesId);
series.Monitored = seriesModel.Monitored;
@ -72,6 +73,9 @@ namespace NzbDrone.Web.Controllers
series.Path = seriesModel.Path;
series.BacklogSetting = (BacklogSettingType)seriesModel.BacklogSetting;
if (!String.IsNullOrWhiteSpace(seriesModel.CustomStartDate))
series.CustomStartDate = DateTime.Parse(seriesModel.CustomStartDate, null, DateTimeStyles.RoundtripKind);
_seriesProvider.UpdateSeries(series);
return new EmptyResult();
@ -166,19 +170,30 @@ namespace NzbDrone.Web.Controllers
masterBacklogList.Insert(0, new KeyValuePair<int, string>(-10, "Select..."));
ViewData["MasterBacklogSettingSelectList"] = new SelectList(masterBacklogList, "Key", "Value");
var series = _seriesProvider.GetAllSeries().OrderBy(o => SortHelper.SkipArticles(o.Title));
var series = GetSeriesModels(_seriesProvider.GetAllSeries()).OrderBy(o => SortHelper.SkipArticles(o.Title));
return View(series);
}
[HttpPost]
public JsonResult SaveEditor(List<Series> series)
public JsonResult Editor(List<SeriesModel> series)
{
//Save edits
if (series == null || series.Count == 0)
return JsonNotificationResult.Oops("Invalid post data");
_seriesProvider.UpdateFromSeriesEditor(series);
_seriesProvider.UpdateFromSeriesEditor(series.Select(s => new Series
{
SeriesId = s.SeriesId,
QualityProfileId = s.QualityProfileId,
Monitored = s.Monitored,
SeasonFolder = s.SeasonFolder,
BacklogSetting = (BacklogSettingType)s.BacklogSetting,
Path = s.Path,
CustomStartDate = String.IsNullOrWhiteSpace(s.CustomStartDate) ? (DateTime?)null
: DateTime.Parse(s.CustomStartDate, null, DateTimeStyles.RoundtripKind)
}
).ToList());
return JsonNotificationResult.Info("Series Mass Edit Saved");
}
@ -204,7 +219,8 @@ namespace NzbDrone.Web.Controllers
EpisodeFileCount = s.EpisodeFileCount,
NextAiring = s.NextAiring == null ? String.Empty : s.NextAiring.Value.ToBestDateString(),
NextAiringSorter = s.NextAiring == null ? "12/31/9999" : s.NextAiring.Value.ToString("MM/dd/yyyy"),
AirTime = s.AirTimes
AirTime = s.AirTimes,
CustomStartDate = s.CustomStartDate.HasValue ? s.CustomStartDate.Value.ToString("yyyy-MM-dd") : String.Empty
}).ToList();
return series;