Moved Download Propers to Quality settings. Cleaned up Quality UI and enhanced it with some jQuery goodness. Mmmmm jQuery.pull/6/head
parent
58b19b6f10
commit
8e214029c9
@ -1,241 +0,0 @@
|
|||||||
@using NzbDrone.Web.Helpers;
|
|
||||||
@model NzbDrone.Web.Models.DownloadSettingsModel
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function () {
|
|
||||||
selectDownloadOptionAtStart(); //Load either SAB or Blackhole div
|
|
||||||
var options = {
|
|
||||||
target: '#result',
|
|
||||||
beforeSubmit: showRequest,
|
|
||||||
success: showResponse,
|
|
||||||
type: 'post',
|
|
||||||
resetForm: false
|
|
||||||
};
|
|
||||||
$('#form').ajaxForm(options);
|
|
||||||
$('#save_button').attr('disabled', '');
|
|
||||||
});
|
|
||||||
|
|
||||||
function selectDownloadOptionAtStart() {
|
|
||||||
var checked = $('UseBlackHole').val();
|
|
||||||
var $radios = $('input[name="UseBlackhole"]');
|
|
||||||
$radios.filter('[value=' + checked + ']').attr('checked', true);
|
|
||||||
selectDownloadOption();
|
|
||||||
}
|
|
||||||
|
|
||||||
function selectDownloadOption() {
|
|
||||||
var selected = $("input[name='UseBlackhole']:checked").val();
|
|
||||||
|
|
||||||
if (selected == "True") {
|
|
||||||
$('#UseBlackHole').attr('checked', true);
|
|
||||||
document.getElementById('blackhole').style.display = 'block';
|
|
||||||
document.getElementById('sab').style.display = 'none';
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
$('#UseBlackHole').attr('checked', false);
|
|
||||||
document.getElementById('sab').style.display = 'block';
|
|
||||||
document.getElementById('blackhole').style.display = 'none';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showRequest(formData, jqForm, options) {
|
|
||||||
$("#result").empty().html('Saving...');
|
|
||||||
$("#form :input").attr("disabled", true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function showResponse(responseText, statusText, xhr, $form) {
|
|
||||||
$("#result").empty().html(responseText);
|
|
||||||
$("#form :input").attr("disabled", false);
|
|
||||||
}
|
|
||||||
|
|
||||||
$(".blackhole_radio").live("change", function () {
|
|
||||||
selectDownloadOption(); //Load either SAB or Blackhole div
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
@using (Html.BeginForm("SaveDownloads", "Settings", FormMethod.Post, new { id = "form", name = "form" }))
|
|
||||||
{
|
|
||||||
<fieldset>
|
|
||||||
<legend>Download Settings</legend>
|
|
||||||
|
|
||||||
<fieldset class="sub-field">
|
|
||||||
<legend>Usenet Variables</legend>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.SyncFrequency)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.SyncFrequency)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SyncFrequency)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.SyncFrequency)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.DownloadPropers)</div>
|
|
||||||
<div class="config-value">@Html.CheckBoxFor(m => m.DownloadPropers, new { @class = "config-checkbox" })</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.DownloadPropers)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.DownloadPropers)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.Retention)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.Retention)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.Retention)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.Retention)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
<b>@Html.LabelFor(m => m.UseBlackHole)</b>
|
|
||||||
@Html.CheckBoxFor(m => m.UseBlackHole, new { style="display:none" })
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
@Html.RadioButton("UseBlackhole", true, new { @class="blackhole_radio" })Blackhole
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
@Html.RadioButton("UseBlackhole", false, new { @class="blackhole_radio" })SABnzbd
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="sab" style="display:none">
|
|
||||||
<fieldset class="sub-field">
|
|
||||||
<legend>SABnzbd</legend>
|
|
||||||
|
|
||||||
<button type="button" onclick="autoConfigureSab()">Auto-Configure</button>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.SabHost)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.SabHost)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabHost)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.SabHost)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.SabPort)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.SabPort)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabPort)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.SabPort)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.SabApiKey)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.SabApiKey)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabApiKey)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.SabApiKey)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.SabUsername)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.SabUsername)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabUsername)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.SabUsername)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.SabPassword)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.SabPassword)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabPassword)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.SabPassword)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.SabTvCategory)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.SabTvCategory)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabTvCategory)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.SabTvCategory)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.SabTvPriority)</div>
|
|
||||||
<div class="config-value">@Html.DropDownListFor(m => m.SabTvPriority, Model.PrioritySelectList)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabTvPriority)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.SabTvPriority)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="blackhole" style="display:none">
|
|
||||||
<fieldset class="sub-field">
|
|
||||||
<legend>Blackhole</legend>
|
|
||||||
<div class="config-section">
|
|
||||||
<div class="config-group">
|
|
||||||
<div class="config-title">@Html.LabelFor(m => m.BlackholeDirectory)</div>
|
|
||||||
<div class="config-value">@Html.TextBoxFor(m => m.BlackholeDirectory)</div>
|
|
||||||
</div>
|
|
||||||
<div class="config-group2">
|
|
||||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.BlackholeDirectory)</div>
|
|
||||||
<div class="config-description">@Html.DescriptionFor(m => m.BlackholeDirectory)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
|
||||||
|
|
||||||
|
|
||||||
</fieldset>
|
|
||||||
}
|
|
||||||
<div id="result" class="hiddenResult"></div>
|
|
||||||
|
|
||||||
<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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -0,0 +1,137 @@
|
|||||||
|
@using NzbDrone.Web.Helpers;
|
||||||
|
@model NzbDrone.Web.Models.SabnzbdSettingsModel
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function () {
|
||||||
|
var options = {
|
||||||
|
target: '#result',
|
||||||
|
beforeSubmit: showRequest,
|
||||||
|
success: showResponse,
|
||||||
|
type: 'post',
|
||||||
|
resetForm: false
|
||||||
|
};
|
||||||
|
$('#form').ajaxForm(options);
|
||||||
|
$('#save_button').attr('disabled', '');
|
||||||
|
});
|
||||||
|
|
||||||
|
function showRequest(formData, jqForm, options) {
|
||||||
|
$("#result").empty().html('Saving...');
|
||||||
|
$("#form :input").attr("disabled", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
function showResponse(responseText, statusText, xhr, $form) {
|
||||||
|
$("#result").empty().html(responseText);
|
||||||
|
$("#form :input").attr("disabled", false);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
@using (Html.BeginForm("SaveSabnzbd", "Settings", FormMethod.Post, new { id = "form", name = "form" }))
|
||||||
|
{
|
||||||
|
<fieldset>
|
||||||
|
<legend>SABnzbd</legend>
|
||||||
|
|
||||||
|
<button type="button" onclick="autoConfigureSab()">Auto-Configure</button>
|
||||||
|
|
||||||
|
<div class="config-section">
|
||||||
|
<div class="config-group">
|
||||||
|
<div class="config-title">@Html.LabelFor(m => m.SabHost)</div>
|
||||||
|
<div class="config-value">@Html.TextBoxFor(m => m.SabHost)</div>
|
||||||
|
</div>
|
||||||
|
<div class="config-group2">
|
||||||
|
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabHost)</div>
|
||||||
|
<div class="config-description">@Html.DescriptionFor(m => m.SabHost)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="config-section">
|
||||||
|
<div class="config-group">
|
||||||
|
<div class="config-title">@Html.LabelFor(m => m.SabPort)</div>
|
||||||
|
<div class="config-value">@Html.TextBoxFor(m => m.SabPort)</div>
|
||||||
|
</div>
|
||||||
|
<div class="config-group2">
|
||||||
|
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabPort)</div>
|
||||||
|
<div class="config-description">@Html.DescriptionFor(m => m.SabPort)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="config-section">
|
||||||
|
<div class="config-group">
|
||||||
|
<div class="config-title">@Html.LabelFor(m => m.SabApiKey)</div>
|
||||||
|
<div class="config-value">@Html.TextBoxFor(m => m.SabApiKey)</div>
|
||||||
|
</div>
|
||||||
|
<div class="config-group2">
|
||||||
|
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabApiKey)</div>
|
||||||
|
<div class="config-description">@Html.DescriptionFor(m => m.SabApiKey)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="config-section">
|
||||||
|
<div class="config-group">
|
||||||
|
<div class="config-title">@Html.LabelFor(m => m.SabUsername)</div>
|
||||||
|
<div class="config-value">@Html.TextBoxFor(m => m.SabUsername)</div>
|
||||||
|
</div>
|
||||||
|
<div class="config-group2">
|
||||||
|
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabUsername)</div>
|
||||||
|
<div class="config-description">@Html.DescriptionFor(m => m.SabUsername)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="config-section">
|
||||||
|
<div class="config-group">
|
||||||
|
<div class="config-title">@Html.LabelFor(m => m.SabPassword)</div>
|
||||||
|
<div class="config-value">@Html.TextBoxFor(m => m.SabPassword)</div>
|
||||||
|
</div>
|
||||||
|
<div class="config-group2">
|
||||||
|
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabPassword)</div>
|
||||||
|
<div class="config-description">@Html.DescriptionFor(m => m.SabPassword)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="config-section">
|
||||||
|
<div class="config-group">
|
||||||
|
<div class="config-title">@Html.LabelFor(m => m.SabTvCategory)</div>
|
||||||
|
<div class="config-value">@Html.TextBoxFor(m => m.SabTvCategory)</div>
|
||||||
|
</div>
|
||||||
|
<div class="config-group2">
|
||||||
|
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabTvCategory)</div>
|
||||||
|
<div class="config-description">@Html.DescriptionFor(m => m.SabTvCategory)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="config-section">
|
||||||
|
<div class="config-group">
|
||||||
|
<div class="config-title">@Html.LabelFor(m => m.SabTvPriority)</div>
|
||||||
|
<div class="config-value">@Html.DropDownListFor(m => m.SabTvPriority, Model.PrioritySelectList)</div>
|
||||||
|
</div>
|
||||||
|
<div class="config-group2">
|
||||||
|
<div class="config-validation">@Html.ValidationMessageFor(m => m.SabTvPriority)</div>
|
||||||
|
<div class="config-description">@Html.DescriptionFor(m => m.SabTvPriority)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||||
|
</fieldset>
|
||||||
|
}
|
||||||
|
<div id="result" class="hiddenResult"></div>
|
||||||
|
|
||||||
|
<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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
Loading…
Reference in new issue