diff --git a/NzbDrone.Core/Providers/ISeriesProvider.cs b/NzbDrone.Core/Providers/ISeriesProvider.cs index d625a0bcc..3cd13b37d 100644 --- a/NzbDrone.Core/Providers/ISeriesProvider.cs +++ b/NzbDrone.Core/Providers/ISeriesProvider.cs @@ -24,5 +24,6 @@ namespace NzbDrone.Core.Providers Dictionary GetUnmappedFolders(); Series FindSeries(string cleanTitle); bool QualityWanted(int seriesId, QualityTypes quality); + void UpdateSeries(Series series); } } \ No newline at end of file diff --git a/NzbDrone.Core/Providers/SeriesProvider.cs b/NzbDrone.Core/Providers/SeriesProvider.cs index 2ee71a788..f419bef0b 100644 --- a/NzbDrone.Core/Providers/SeriesProvider.cs +++ b/NzbDrone.Core/Providers/SeriesProvider.cs @@ -108,7 +108,7 @@ namespace NzbDrone.Core.Providers repoSeries.Path = path; repoSeries.CleanTitle = Parser.NormalizeTitle(series.SeriesName); repoSeries.Monitored = true; //New shows should be monitored - repoSeries.QualityProfileId = Convert.ToInt32(_config.GetValue("Quality", 1, true)); + repoSeries.QualityProfileId = Convert.ToInt32(_config.GetValue("DefaultQualityProfile", "1", true)); _sonioRepo.Add(repoSeries); } @@ -117,6 +117,11 @@ namespace NzbDrone.Core.Providers return _sonioRepo.Single(s => s.CleanTitle == cleanTitle); } + public void UpdateSeries(Series series) + { + _sonioRepo.Update(series); + } + #endregion #region Static Helpers diff --git a/NzbDrone.Web/Controllers/SeriesController.cs b/NzbDrone.Web/Controllers/SeriesController.cs index b8e88b5a6..3b70edc79 100644 --- a/NzbDrone.Web/Controllers/SeriesController.cs +++ b/NzbDrone.Web/Controllers/SeriesController.cs @@ -18,15 +18,17 @@ namespace NzbDrone.Web.Controllers private readonly IEpisodeProvider _episodeProvider; private readonly ISyncProvider _syncProvider; private readonly IRssSyncProvider _rssSyncProvider; + private readonly IQualityProvider _qualityProvider; // // GET: /Series/ - public SeriesController(ISyncProvider syncProvider, ISeriesProvider seriesProvider, IEpisodeProvider episodeProvider, IRssSyncProvider rssSyncProvider) + public SeriesController(ISyncProvider syncProvider, ISeriesProvider seriesProvider, IEpisodeProvider episodeProvider, IRssSyncProvider rssSyncProvider, IQualityProvider qualityProvider) { _seriesProvider = seriesProvider; _episodeProvider = episodeProvider; _syncProvider = syncProvider; _rssSyncProvider = rssSyncProvider; + _qualityProvider = qualityProvider; } public ActionResult Index() @@ -52,12 +54,6 @@ namespace NzbDrone.Web.Controllers return View(_seriesProvider.GetUnmappedFolders().Select(c => new MappingModel() { Id = 1, Path = c.Value }).ToList()); } - public ActionResult Edit(int seriesId) - { - var series = _seriesProvider.GetSeries(seriesId); - return View(series); - } - public ActionResult LoadEpisodes(int seriesId) { _episodeProvider.RefreshEpisodeInfo(seriesId); @@ -168,5 +164,22 @@ namespace NzbDrone.Web.Controllers var series = _seriesProvider.GetSeries(seriesId); return View(series); } + + public ActionResult Edit(int seriesId) + { + var profiles = _qualityProvider.GetAllProfiles(); + ViewData["SelectList"] = new SelectList(profiles, "QualityProfileId", "Name"); + + var series = _seriesProvider.GetSeries(seriesId); + return View(series); + } + + [HttpPost] + public ActionResult Edit(Series series) + { + //Need to add seriesProvider.Update + _seriesProvider.UpdateSeries(series); + return Content("Series Updated Successfully"); + } } } diff --git a/NzbDrone.Web/Views/Series/Details.aspx b/NzbDrone.Web/Views/Series/Details.aspx index af14d21c7..9714dfe6f 100644 --- a/NzbDrone.Web/Views/Series/Details.aspx +++ b/NzbDrone.Web/Views/Series/Details.aspx @@ -88,7 +88,7 @@ Html.Telerik().Grid(specialSeasons.Episodes).Name("seasons_specials") } %>

- <%-- <%: Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) %> |--%> + <%: Html.ActionLink("Edit", "Edit", new {seriesId = Model.SeriesId}) %> | <%: Html.ActionLink("Back to Series", "Index") %>

diff --git a/NzbDrone.Web/Views/Series/Edit.aspx b/NzbDrone.Web/Views/Series/Edit.aspx index d96252ed8..207d993ed 100644 --- a/NzbDrone.Web/Views/Series/Edit.aspx +++ b/NzbDrone.Web/Views/Series/Edit.aspx @@ -2,109 +2,94 @@ Edit + + + + + -

Edit

+

<%: Html.DisplayTextFor(model => model.Title) %>

- <% using (Html.BeginForm()) {%> - <%: Html.ValidationSummary(true) %> + <% Html.EnableClientValidation(); %> + <% using (Html.BeginForm("Edit", "Series", FormMethod.Post, new { id = "form", name = "form" })) + { %>
- Fields - + Edit +
- <%: Html.LabelFor(model => model.SeriesId) %> + <%: Html.LabelFor(model => model.Path) %>
- <%: Html.TextBoxFor(model => model.SeriesId) %> - <%: Html.ValidationMessageFor(model => model.SeriesId) %> + <%: Html.TextBoxFor(model => model.Path) %> + <%: Html.ValidationMessageFor(model => model.Path) %>
- <%: Html.LabelFor(model => model.Title) %> + <%: Html.LabelFor(model => model.Monitored) %>
- <%: Html.TextBoxFor(model => model.Title) %> - <%: Html.ValidationMessageFor(model => model.Title) %> + <%: Html.CheckBoxFor(model => model.Monitored) %> + <%: Html.ValidationMessageFor(model => model.Monitored) %>
- <%: Html.LabelFor(model => model.CleanTitle) %> + <%: Html.LabelFor(model => model.QualityProfileId) %>
- <%: Html.TextBoxFor(model => model.CleanTitle) %> - <%: Html.ValidationMessageFor(model => model.CleanTitle) %> + <%: Html.DropDownListFor(model => model.QualityProfileId, (SelectList)ViewData["SelectList"])%> + <%: Html.ValidationMessageFor(model => model.QualityProfileId) %>
- -
- <%: Html.LabelFor(model => model.Status) %> -
-
+ + - -
- <%: Html.LabelFor(model => model.Overview) %> -
-
<%: Html.TextBoxFor(model => model.Overview) %> - <%: Html.ValidationMessageFor(model => model.Overview) %> -
- -
- <%: Html.LabelFor(model => model.AirTimes) %> -
-
+ <%: Html.TextBoxFor(model => model.AirsDayOfWeek) %> <%: Html.TextBoxFor(model => model.AirTimes) %> - <%: Html.ValidationMessageFor(model => model.AirTimes) %> -
- -
- <%: Html.LabelFor(model => model.Language) %> -
-
<%: Html.TextBoxFor(model => model.Language) %> - <%: Html.ValidationMessageFor(model => model.Language) %> -
- -
- <%: Html.LabelFor(model => model.Path) %> -
-
- <%: Html.TextBoxFor(model => model.Path) %> - <%: Html.ValidationMessageFor(model => model.Path) %> -
- -
- <%: Html.LabelFor(model => model.Monitored) %> -
-
- <%: Html.TextBoxFor(model => model.Monitored) %> - <%: Html.ValidationMessageFor(model => model.Monitored) %>
- <%--
- <%: Html.LabelFor(model => model.ProfileId) %> -
-
- <%: Html.TextBoxFor(model => model.ProfileId) %> - <%: Html.ValidationMessageFor(model => model.ProfileId) %> -
--%> -

- +

- <% } %>
+ <%: Html.ActionLink("Back to Show", "Details", new { seriesId = Model.SeriesId }) %> | <%: Html.ActionLink("Back to List", "Index") %>
+
+
diff --git a/NzbDrone.Web/Views/Settings/Downloads.ascx b/NzbDrone.Web/Views/Settings/Downloads.ascx index 88af2724a..0536a4fa5 100644 --- a/NzbDrone.Web/Views/Settings/Downloads.ascx +++ b/NzbDrone.Web/Views/Settings/Downloads.ascx @@ -22,7 +22,7 @@ $("#result").empty().html(responseText); $("#form :input").attr("disabled", false); } - + <% Html.EnableClientValidation(); %>