From baeda11ecefa907abe1bc408a6a86c2d6af4793c Mon Sep 17 00:00:00 2001 From: markus101 Date: Fri, 11 Feb 2011 22:10:38 -0800 Subject: [PATCH] Cleaned up Quality partial page. Fixed the sortable, so multiple user profiles correctly update order (and save), user profile sortable is no long connected. --- .../Controllers/SettingsController.cs | 9 +++ NzbDrone.Web/NzbDrone.Web.csproj | 1 + NzbDrone.Web/Views/Settings/Downloads.ascx | 2 +- NzbDrone.Web/Views/Settings/Quality.ascx | 36 +----------- .../Views/Settings/UserProfileSection.ascx | 55 +++++++++++-------- 5 files changed, 44 insertions(+), 59 deletions(-) diff --git a/NzbDrone.Web/Controllers/SettingsController.cs b/NzbDrone.Web/Controllers/SettingsController.cs index ef9b2fc0c..67022fce0 100644 --- a/NzbDrone.Web/Controllers/SettingsController.cs +++ b/NzbDrone.Web/Controllers/SettingsController.cs @@ -137,6 +137,15 @@ namespace NzbDrone.Web.Controllers return PartialView(); } + public QualityModel GetUpdatedProfileList() + { + var profiles = _qualityProvider.GetAllProfiles().ToList(); + var defaultQualityProfileId = Convert.ToInt32(_configProvider.GetValue("DefaultQualityProfile", profiles[0].ProfileId, true)); + var selectList = new SelectList(profiles, "ProfileId", "Name"); + + return new QualityModel {DefaultProfileId = defaultQualityProfileId, SelectList = selectList}; + } + [HttpPost] public ActionResult Index(SettingsModel data) { diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 2fd92b3f9..ef3346b72 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -270,6 +270,7 @@ + diff --git a/NzbDrone.Web/Views/Settings/Downloads.ascx b/NzbDrone.Web/Views/Settings/Downloads.ascx index f3b62eca5..c1524fbb7 100644 --- a/NzbDrone.Web/Views/Settings/Downloads.ascx +++ b/NzbDrone.Web/Views/Settings/Downloads.ascx @@ -29,7 +29,7 @@ <% using (Html.BeginForm("SaveDownloads", "Settings", FormMethod.Post, new { id = "form", name = "form" })) {%> -<%: Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.") %> +<%--<%: Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.") %>--%>
Download Settings diff --git a/NzbDrone.Web/Views/Settings/Quality.ascx b/NzbDrone.Web/Views/Settings/Quality.ascx index f351ddefc..4f946eb60 100644 --- a/NzbDrone.Web/Views/Settings/Quality.ascx +++ b/NzbDrone.Web/Views/Settings/Quality.ascx @@ -6,32 +6,14 @@ $(document).ready(function () { var options = { target: '#result', - beforeSerialize: saveOrder, beforeSubmit: showRequest, success: showResponse, type: 'post', resetForm: false }; $('#form').ajaxForm(options); - $.simpledropdown("#dropdown1"); - }); - function saveOrder(jqForm, options) { - //Save the order of the sortable - - var sortResult = $('#sortable').sortable("toArray"); - - var firstPart = "Indexers_"; - var secondPart = "__Order"; - - jQuery.each(sortResult, function (index, value) { - var id = firstPart + value + secondPart; - var newValue = index + 1; - $("#" + id).val(newValue); - }); - } - function showRequest(formData, jqForm, options) { $("#result").empty().html('Saving...'); $("#form :input").attr("disabled", true); @@ -40,26 +22,10 @@ function showResponse(responseText, statusText, xhr, $form) { $("#result").empty().html(responseText); $("#form :input").attr("disabled", false); - } + } - - - - <% using (Html.BeginForm("SaveQuality", "Settings", FormMethod.Post, new { id = "form", name = "form" })) {%>
diff --git a/NzbDrone.Web/Views/Settings/UserProfileSection.ascx b/NzbDrone.Web/Views/Settings/UserProfileSection.ascx index 1feab9a39..2073a0030 100644 --- a/NzbDrone.Web/Views/Settings/UserProfileSection.ascx +++ b/NzbDrone.Web/Views/Settings/UserProfileSection.ascx @@ -3,40 +3,50 @@ <%@ Import Namespace="NzbDrone.Core.Repository.Quality" %> <% using (Html.BeginCollectionItem("UserProfiles")) - { %> + { %> + + <% + var idClean = ViewData.TemplateInfo.HtmlFieldPrefix.Replace('[', '_').Replace(']', '_'); + + string sortable1 = String.Format("{0}_sortable1", idClean); + string sortable2 = String.Format("{0}_sortable2", idClean); + string allowedStringName = String.Format("{0}_AllowedString", idClean); + string connectedSortable = String.Format("connected{0}", idClean); + %> + + .sortable1, .sortable2 { list-style-type: none; margin-right: 10px; background: #eee; padding-left: 5px; padding-right: 5px; padding-top: 0px; padding-bottom: 6px; width: 107px; margin-bottom: 3px; } + .allowedQualities, .otherQualities { list-style-type: none; float: left; margin-right: 10px; background: #eee; padding-left: 5px; padding-right: 5px; padding-top:6px; width: 112px; -khtml-border-radius:8px;border-radius:8px;-moz-border-radius:8px;-webkit-border-radius:8px; } + .sortable1 li, .sortable2 li { margin: 5px; margin-left: 0px; padding: 0px; font-size: 1.2em; width: 100px; -khtml-border-radius:8px;border-radius:8px;-moz-border-radius:8px;-webkit-border-radius:8px; } + .sortable1 li { background: #ddd; } + .sortable2 li { background: #DAA2A2; } + .sortableHeader { margin:2px; margin-left:12px } + .sortable1 li.ui-state-highlight, .sortable2 li.ui-state-highlight { background: #fbf5d0; border-color: #065EFE; } + .removeDiv { float: left; display:block; } + .ui-state-highlight { height: 1.5em; line-height: 1.2em; } + + +
@@ -56,7 +66,7 @@

Allowed

-
    +
      <% if (Model.Allowed != null) { %> <%for (int i = 0; i < Model.Allowed.Count(); i++){%>
    • @@ -70,7 +80,7 @@

      Not-Allowed

      -
        +
          <% var qualitiesList = (List) ViewData["Qualities"]; %> <%for (int i = 0; i < qualitiesList.Count(); i++){%> @@ -101,9 +111,8 @@
          <%= Html.TextBoxFor(x => x.ProfileId, new { @style = "display:none" })%> <%= Html.CheckBoxFor(x => x.UserProfile, new { @style = "display:none" })%> - <%= Html.TextBoxFor(m => m.AllowedString, new { @id = "allowedString", @style = "display:none" })%> + <%= Html.TextBoxFor(m => m.AllowedString, new { @style = "display:none" })%>
          -
<% } %> \ No newline at end of file