@using NzbDrone.Web.Helpers; @model NzbDrone.Web.Models.SabnzbdSettingsModel @section HeaderContent{ <link rel="stylesheet" type="text/css" href="../../Content/Settings.css" /> } @section TitleContent{ Settings } @section ActionMenu{ @{Html.RenderPartial("SubMenu");} } @section MainContent{ <div id="stylized"> @using (Html.BeginForm("SaveSabnzbd", "Settings", FormMethod.Post, new { id = "form", name = "form", @class = "settingsForm" })) { <h1>SABnzbd</h1> <p></p> <label class="labelClass">Auto-Configure <span class="small">If access to SABnzbd doesn't require a username + password and is on the same system as NzbDrone, you can auto-configure it</span> </label> <input type="button" onclick="autoConfigureSab(); return false;" value="Auto-Configure" class="inputClass"/> <label class="labelClass">@Html.LabelFor(m => m.SabHost) <span class="small">@Html.DescriptionFor(m => m.SabHost)</span> </label> @Html.TextBoxFor(m => m.SabHost, new { @class = "inputClass" }) <label class="labelClass">@Html.LabelFor(m => m.SabPort) <span class="small">@Html.DescriptionFor(m => m.SabPort)</span> </label> @Html.TextBoxFor(m => m.SabPort, new { @class = "inputClass" }) <label class="labelClass">@Html.LabelFor(m => m.SabApiKey) <span class="small">@Html.DescriptionFor(m => m.SabApiKey)</span> </label> @Html.TextBoxFor(m => m.SabApiKey, new { @class = "inputClass" }) <label class="labelClass">@Html.LabelFor(m => m.SabUsername) <span class="small">@Html.DescriptionFor(m => m.SabUsername)</span> </label> @Html.TextBoxFor(m => m.SabUsername, new { @class = "inputClass" }) <label class="labelClass">@Html.LabelFor(m => m.SabPassword) <span class="small">@Html.DescriptionFor(m => m.SabPassword)</span> </label> @Html.TextBoxFor(m => m.SabPassword, new { @class = "inputClass" }) <label class="labelClass">@Html.LabelFor(m => m.SabTvCategory) <span class="small">@Html.DescriptionFor(m => m.SabTvCategory)</span> </label> @Html.DropDownListFor(m => m.SabTvCategory, Model.SabTvCategorySelectList, new { @class = "inputClass selectClass" }) <label class="labelClass">@Html.LabelFor(m => m.SabTvPriority) <span class="small">@Html.DescriptionFor(m => m.SabTvPriority)</span> </label> @Html.DropDownListFor(m => m.SabTvPriority, Model.PrioritySelectList, new { @class = "inputClass selectClass" }) <label class="labelClass">@Html.LabelFor(m => m.SabDropDirectory) <span class="small">@Html.DescriptionFor(m => m.SabDropDirectory)</span> </label> @Html.TextBoxFor(m => m.SabDropDirectory, new { @class = "inputClass folderLookup" }) <button type="submit" id="save_button" disabled="disabled">Save</button> } </div> <div id="result" class="hiddenResult"></div> } @section Scripts{ <script src="../../Scripts/NzbDrone/settingsForm.js" type="text/javascript"></script> <script type="text/javascript"> var autoConfigureSabUrl = '@Url.Action("AutoConfigureSab", "Settings")'; function autoConfigureSab() { $.ajax({ type: "GET", url: autoConfigureSabUrl, //data: jQuery.param({ username: $('#SabUsername').val(), password: $('#SabPassword').val() }), error: function (req, status, error) { alert("Sorry! We could not autoconfigure SABnzbd for you"); }, success: autoConfigureSuccess }); function autoConfigureSuccess(data) { $('#SabHost').val(data.Host); $('#SabPort').val(data.Port); $('#SabApiKey').val(data.ApiKey); } } var sabCategoryUrl = '../Command/GetSabnzbdCategories'; $('#SabTvCategory').focus(function () { var host = $('#SabHost').val(); var port = $('#SabPort').val(); var apiKey = $('#SabApiKey').val(); var username = $('#SabUsername').val(); var password = $('#SabPassword').val(); $.ajax({ type: "POST", url: sabCategoryUrl, data: jQuery.param({ host: host, port: port, apiKey: apiKey, username: username, password: password }), error: function (req, status, error) { $.each($('#SabTvCategory option'), function () { $(this).remove(); }); $('#SabTvCategory').append($('<option />').val('tv').text('Please check your SABnzbd Settings')); }, success: function (data, textStatus, jqXHR) { //Get the current value var currentlySelected = $('#SabTvCategory').val(); //Remove all existing options $.each($('#SabTvCategory option'), function () { $(this).remove(); }); //Add the new ones $.each(data.categories, function () { $('#SabTvCategory').append($('<option />').val(this.toString()).text(this.toString())); }); //Attempt to reset to the preiously selected value (change to lower-case) $("#SabTvCategory").val(currentlySelected.toLowerCase()); } }); }); </script> }