sonarr-repo-only/NzbDrone.Web/Views/Settings/Downloads.cshtml

242 lines
11 KiB
Plaintext

@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"></div>
<script type="text/javascript">
var autoConfigureSabUrl = '@Url.Action("AutoConfigureSab", "Settings")';
function autoConfigureSab() {
$.ajax({
type: "POST",
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) {
$('#SabApiKey').val(data.ApiKey);
$('#SabPort').val(data.Port);
$('#SabUsername').val(data.Username);
$('#SabPassword').val(data.Password);
}
}
</script>