mirror of
https://github.com/Radarr/Radarr.git
synced 2024-08-16 23:39:44 +02:00
Merge branch 'markus101'
This commit is contained in:
commit
7d7032dd56
@ -624,16 +624,7 @@
|
||||
<Content Include="Views\Series\index.aspx" />
|
||||
<Content Include="Views\Series\SeriesSearchResults.ascx" />
|
||||
<Content Include="Views\Series\SubMenu.ascx" />
|
||||
<Content Include="Views\Settings\RootDir.ascx" />
|
||||
<Content Include="Views\Settings\Notifications.ascx" />
|
||||
<Content Include="Views\Settings\Downloads.ascx" />
|
||||
<Content Include="Views\Settings\EpisodeSorting.ascx" />
|
||||
<Content Include="Views\Settings\General.ascx" />
|
||||
<Content Include="Views\Settings\Index.aspx" />
|
||||
<Content Include="Views\Settings\Quality.ascx" />
|
||||
<Content Include="Views\Settings\SubMenu.ascx" />
|
||||
<Content Include="Views\Settings\UserProfileSection.ascx" />
|
||||
<Content Include="Views\Shared\Footer.ascx" />
|
||||
<Content Include="Views\Settings\Index2.aspx" />
|
||||
<Content Include="Views\Upcoming\Index.aspx" />
|
||||
<Content Include="Web.config">
|
||||
<SubType>Designer</SubType>
|
||||
@ -664,6 +655,18 @@
|
||||
<Content Include="Views\Web.config" />
|
||||
<Content Include="Views\Settings\Indexers.cshtml" />
|
||||
<Content Include="Views\Timers\index.cshtml" />
|
||||
<Content Include="Views\Settings\Downloads.cshtml" />
|
||||
<Content Include="Views\Settings\EpisodeSorting.cshtml" />
|
||||
<Content Include="Views\Settings\General.cshtml" />
|
||||
<Content Include="Views\Settings\Notifications.cshtml" />
|
||||
<Content Include="Views\Settings\Quality.cshtml" />
|
||||
<Content Include="Views\Settings\RootDir.cshtml" />
|
||||
<Content Include="Views\Settings\SubMenu.cshtml" />
|
||||
<Content Include="Views\Settings\UserProfileSection.cshtml" />
|
||||
<Content Include="Views\Shared\SiteLayout.cshtml" />
|
||||
<Content Include="Views\Shared\Footer.cshtml" />
|
||||
<Content Include="Views\Settings\Index.cshtml" />
|
||||
<Content Include="Views\_ViewStart.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
|
@ -1,189 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NzbDrone.Web.Models.DownloadSettingsModel>" %>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
var options = {
|
||||
target: '#result',
|
||||
beforeSubmit: showRequest,
|
||||
success: showResponse,
|
||||
type: 'post',
|
||||
resetForm: false
|
||||
};
|
||||
$('#form').ajaxForm(options);
|
||||
selectDownloadOption(); //Load either SAB or Blackhole div
|
||||
$('#save_button').attr('disabled', '');
|
||||
});
|
||||
|
||||
function selectDownloadOption() {
|
||||
var selected = $("input[name='UseBlackHole']:checked").val();
|
||||
|
||||
if (selected == "True") {
|
||||
document.getElementById('blackhole').style.display = 'block';
|
||||
document.getElementById('sab').style.display = 'none';
|
||||
}
|
||||
|
||||
else {
|
||||
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>
|
||||
|
||||
<%
|
||||
Html.EnableClientValidation();%>
|
||||
|
||||
<%
|
||||
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.") %>--%>
|
||||
|
||||
<fieldset>
|
||||
<legend>Download Settings</legend>
|
||||
<%--//Sync Frequency
|
||||
//Download Propers?
|
||||
//Retention
|
||||
//SAB Host/IP
|
||||
//SAB Port
|
||||
//SAB APIKey
|
||||
//SAB Username
|
||||
//SAB Password
|
||||
//SAB Category
|
||||
//SAB Priority--%>
|
||||
|
||||
<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-validation"><%=Html.ValidationMessageFor(m => m.SyncFrequency)%></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)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.DownloadPropers)%></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-validation"><%=Html.ValidationMessageFor(m => m.Retention)%></div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<div>
|
||||
<div>
|
||||
<b><%=Html.LabelFor(m => m.UseBlackHole)%></b>
|
||||
</div>
|
||||
<div>
|
||||
<%=Html.RadioButtonFor(m => m.UseBlackHole, true, new {@class = "blackhole_radio"})%>Blackhole
|
||||
</div>
|
||||
<div>
|
||||
<%=Html.RadioButtonFor(m => m.UseBlackHole, false, new {@class = "blackhole_radio"})%>SABnzbd
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="sab" style="display:none">
|
||||
<fieldset class="sub-field">
|
||||
<legend>SABnzbd</legend>
|
||||
|
||||
<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-validation"><%=Html.ValidationMessageFor(m => m.SabHost)%></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-validation"><%=Html.ValidationMessageFor(m => m.SabPort)%></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-validation"><%=Html.ValidationMessageFor(m => m.SabApiKey)%></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-validation"><%=Html.ValidationMessageFor(m => m.SabUsername)%></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-validation"><%=Html.ValidationMessageFor(m => m.SabPassword)%></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-validation"><%=Html.ValidationMessageFor(m => m.SabTvCategory)%></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-validation"><%=Html.ValidationMessageFor(m => m.SabTvPriority)%></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-validation"><%=Html.ValidationMessageFor(m => m.BlackholeDirectory)%></div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||
|
||||
<%
|
||||
}%>
|
||||
</fieldset>
|
||||
<div id="result"></div>
|
175
NzbDrone.Web/Views/Settings/Downloads.cshtml
Normal file
175
NzbDrone.Web/Views/Settings/Downloads.cshtml
Normal file
@ -0,0 +1,175 @@
|
||||
@model NzbDrone.Web.Models.DownloadSettingsModel
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
var options = {
|
||||
target: '#result',
|
||||
beforeSubmit: showRequest,
|
||||
success: showResponse,
|
||||
type: 'post',
|
||||
resetForm: false
|
||||
};
|
||||
$('#form').ajaxForm(options);
|
||||
selectDownloadOption(); //Load either SAB or Blackhole div
|
||||
$('#save_button').attr('disabled', '');
|
||||
});
|
||||
|
||||
function selectDownloadOption() {
|
||||
var selected = $("input[name='UseBlackHole']:checked").val();
|
||||
|
||||
if (selected == "True") {
|
||||
document.getElementById('blackhole').style.display = 'block';
|
||||
document.getElementById('sab').style.display = 'none';
|
||||
}
|
||||
|
||||
else {
|
||||
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-validation">@Html.ValidationMessageFor(m => m.SyncFrequency)</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)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.DownloadPropers)</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-validation">@Html.ValidationMessageFor(m => m.Retention)</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<div>
|
||||
<div>
|
||||
<b>@Html.LabelFor(m => m.UseBlackHole)</b>
|
||||
</div>
|
||||
<div>
|
||||
@Html.RadioButtonFor(m => m.UseBlackHole, true, new { @class = "blackhole_radio" })Blackhole
|
||||
</div>
|
||||
<div>
|
||||
@Html.RadioButtonFor(m => m.UseBlackHole, false, new { @class = "blackhole_radio" })SABnzbd
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="sab" style="display:none">
|
||||
<fieldset class="sub-field">
|
||||
<legend>SABnzbd</legend>
|
||||
|
||||
<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-validation">@Html.ValidationMessageFor(m => m.SabHost)</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-validation">@Html.ValidationMessageFor(m => m.SabPort)</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-validation">@Html.ValidationMessageFor(m => m.SabApiKey)</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-validation">@Html.ValidationMessageFor(m => m.SabUsername)</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-validation">@Html.ValidationMessageFor(m => m.SabPassword)</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-validation">@Html.ValidationMessageFor(m => m.SabTvCategory)</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-validation">@Html.ValidationMessageFor(m => m.SabTvPriority)</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-validation">@Html.ValidationMessageFor(m => m.BlackholeDirectory)</div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||
|
||||
|
||||
</fieldset>
|
||||
}
|
||||
<div id="result"></div>
|
||||
|
@ -1,129 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NzbDrone.Web.Models.EpisodeSortingModel>" %>
|
||||
|
||||
<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>
|
||||
|
||||
<%
|
||||
Html.EnableClientValidation();%>
|
||||
|
||||
<%
|
||||
using (Html.BeginForm("SaveEpisodeSorting", "Settings", FormMethod.Post, new {id = "form", name = "form"}))
|
||||
{%>
|
||||
<%--<%: Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.") %>--%>
|
||||
|
||||
<fieldset>
|
||||
<legend>Episode Sorting</legend>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.ShowName)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.ShowName)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.ShowName)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.EpisodeName)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.EpisodeName)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.EpisodeName)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.ReplaceSpaces)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.ReplaceSpaces)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.ReplaceSpaces)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.AppendQuality)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.AppendQuality)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.AppendQuality)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.UseAirByDate)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.UseAirByDate)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.UseAirByDate)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.SeasonFolders)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.SeasonFolders)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.SeasonFolders)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.SeasonFolderFormat)%></div>
|
||||
<div class="config-value"><%=Html.TextBoxFor(m => m.SeasonFolderFormat)%></div>
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.SeasonFolderFormat)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.SeparatorStyle)%></div>
|
||||
<div class="config-value"><%=Html.DropDownListFor(m => m.SeparatorStyle, Model.SeparatorStyles)%></div>
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.SeparatorStyle)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.NumberStyle)%></div>
|
||||
<div class="config-value"><%=Html.DropDownListFor(m => m.NumberStyle, Model.NumberStyles)%></div>
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.NumberStyle)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.MultiEpisodeStyle)%></div>
|
||||
<div class="config-value"><%=Html.DropDownListFor(m => m.MultiEpisodeStyle, Model.MultiEpisodeStyles)%></div>
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.MultiEpisodeStyle)%></div>
|
||||
</div>
|
||||
|
||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||
|
||||
<%
|
||||
}%>
|
||||
</fieldset>
|
||||
<div id="result"></div>
|
124
NzbDrone.Web/Views/Settings/EpisodeSorting.cshtml
Normal file
124
NzbDrone.Web/Views/Settings/EpisodeSorting.cshtml
Normal file
@ -0,0 +1,124 @@
|
||||
@model NzbDrone.Web.Models.EpisodeSortingModel
|
||||
|
||||
<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("SaveEpisodeSorting", "Settings", FormMethod.Post, new { id = "form", name = "form" }))
|
||||
{
|
||||
@Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.")
|
||||
;
|
||||
|
||||
<fieldset>
|
||||
<legend>Episode Sorting</legend>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.ShowName)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.ShowName)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.ShowName)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.EpisodeName)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.EpisodeName)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.EpisodeName)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.ReplaceSpaces)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.ReplaceSpaces)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.ReplaceSpaces)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.AppendQuality)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.AppendQuality)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.AppendQuality)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.UseAirByDate)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.UseAirByDate)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.UseAirByDate)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.SeasonFolders)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.SeasonFolders)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SeasonFolders)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.SeasonFolderFormat)</div>
|
||||
<div class="config-value">@Html.TextBoxFor(m => m.SeasonFolderFormat)</div>
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SeasonFolderFormat)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.SeparatorStyle)</div>
|
||||
<div class="config-value">@Html.DropDownListFor(m => m.SeparatorStyle, Model.SeparatorStyles)</div>
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.SeparatorStyle)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.NumberStyle)</div>
|
||||
<div class="config-value">@Html.DropDownListFor(m => m.NumberStyle, Model.NumberStyles)</div>
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.NumberStyle)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.MultiEpisodeStyle)</div>
|
||||
<div class="config-value">@Html.DropDownListFor(m => m.MultiEpisodeStyle, Model.MultiEpisodeStyles)</div>
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.MultiEpisodeStyle)</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||
|
||||
</fieldset>
|
||||
}
|
||||
<div id="result"></div>
|
@ -1,92 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NzbDrone.Web.Models.SettingsModel>" %>
|
||||
|
||||
<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("SaveGeneral", "Settings", FormMethod.Post, new {id = "form", name = "form"}))
|
||||
{%>
|
||||
<%:Html.ValidationSummary(true,
|
||||
"Unable to save your settings. Please correct the errors and try again.")%>
|
||||
<fieldset>
|
||||
<legend>General</legend>
|
||||
|
||||
<div style="padding-top: 10px;">
|
||||
<div style="padding-left: 7px; margin-bottom: 5px;">
|
||||
<a id="addItem" style="text-decoration:none;" href="<%:Url.Action("AddRootDir", "Settings")%>">
|
||||
<img src="../Content/Images/Plus.png" alt="Add New Profile" />
|
||||
<h4 style="margin-left: 3px; display: inline; color: Black;">Add New Root Directory</h4></a>
|
||||
</div>
|
||||
|
||||
<div id="root-dirs">
|
||||
<%
|
||||
foreach (var item in Model.Directories)
|
||||
{%>
|
||||
<%
|
||||
Html.RenderPartial("RootDir", item);%>
|
||||
<%
|
||||
}%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||
</p>
|
||||
</fieldset>
|
||||
<%
|
||||
}
|
||||
Html.EndForm();%>
|
||||
<div id="result"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$("#addItem").click(function () {
|
||||
$.ajax({
|
||||
url: this.href,
|
||||
cache: false,
|
||||
success: function (html) { $("#root-dirs").append(html); }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
$("a.deleteRow").live("click", function () {
|
||||
$(this).parents("div.rootDirSection:first").remove();
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".defaultCheckbox").live("change", function () {
|
||||
var checked = $(this).attr('checked');
|
||||
|
||||
if (checked) {
|
||||
var thisOne = this;
|
||||
$(".defaultCheckbox").attr('checked', false);
|
||||
$(this).attr('checked', true);
|
||||
}
|
||||
|
||||
//Don't let the user uncheck a checkbox (Like a radio button)
|
||||
else {
|
||||
$(this).attr('checked', true);
|
||||
}
|
||||
});
|
||||
</script>
|
85
NzbDrone.Web/Views/Settings/General.cshtml
Normal file
85
NzbDrone.Web/Views/Settings/General.cshtml
Normal file
@ -0,0 +1,85 @@
|
||||
@model NzbDrone.Web.Models.SettingsModel
|
||||
|
||||
<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("SaveGeneral", "Settings", FormMethod.Post, new {id = "form", name = "form"}))
|
||||
{
|
||||
@Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.");
|
||||
<fieldset>
|
||||
<legend>General</legend>
|
||||
|
||||
<div style="padding-top: 10px;">
|
||||
<div style="padding-left: 7px; margin-bottom: 5px;">
|
||||
<a id="addItem" style="text-decoration:none;" href="@Url.Action("AddRootDir", "Settings")">
|
||||
<img src="../../Content/Images/Plus.png" alt="Add New Profile" />
|
||||
<h4 style="margin-left: 3px; display: inline; color: Black;">Add New Root Directory</h4></a>
|
||||
</div>
|
||||
|
||||
<div id="root-dirs">
|
||||
@foreach (var item in Model.Directories)
|
||||
{
|
||||
Html.RenderPartial("RootDir", item);
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||
</p>
|
||||
</fieldset>
|
||||
}
|
||||
<div id="result"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$("#addItem").click(function () {
|
||||
$.ajax({
|
||||
url: this.href,
|
||||
cache: false,
|
||||
success: function (html) { $("#root-dirs").append(html); }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
$("a.deleteRow").live("click", function () {
|
||||
$(this).parents("div.rootDirSection:first").remove();
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".defaultCheckbox").live("change", function () {
|
||||
var checked = $(this).attr('checked');
|
||||
|
||||
if (checked) {
|
||||
var thisOne = this;
|
||||
$(".defaultCheckbox").attr('checked', false);
|
||||
$(this).attr('checked', true);
|
||||
}
|
||||
|
||||
//Don't let the user uncheck a checkbox (Like a radio button)
|
||||
else {
|
||||
$(this).attr('checked', true);
|
||||
}
|
||||
});
|
||||
</script>
|
@ -1,18 +0,0 @@
|
||||
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Settings
|
||||
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Menu" ContentPlaceHolderID="ActionMenu" runat="server">
|
||||
<%
|
||||
Html.RenderPartial("SubMenu");%>
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||
<script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
|
||||
<script src="/Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
|
||||
<%
|
||||
Html.RenderPartial(ViewData["viewName"].ToString());%>
|
||||
</asp:Content>
|
13
NzbDrone.Web/Views/Settings/Index.cshtml
Normal file
13
NzbDrone.Web/Views/Settings/Index.cshtml
Normal file
@ -0,0 +1,13 @@
|
||||
@section TitleContent{
|
||||
Settings
|
||||
}
|
||||
|
||||
@section ActionMenu{
|
||||
@{Html.RenderPartial("SubMenu");}
|
||||
}
|
||||
|
||||
@section MainContent{
|
||||
<script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
|
||||
<script src="/Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
|
||||
@{Html.RenderPartial(ViewData["viewName"].ToString());}
|
||||
}
|
@ -1,168 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NzbDrone.Web.Models.NotificationSettingsModel>" %>
|
||||
|
||||
<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>
|
||||
|
||||
<%
|
||||
Html.EnableClientValidation();%>
|
||||
|
||||
<%
|
||||
using (Html.BeginForm("SaveNotifications", "Settings", FormMethod.Post, new {id = "form", name = "form"}))
|
||||
{%>
|
||||
<%--<%: Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.") %>--%>
|
||||
|
||||
<fieldset>
|
||||
<legend>Notification Settings</legend>
|
||||
|
||||
<fieldset class="sub-field">
|
||||
<legend>XBMC</legend>
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcEnabled)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcEnabled)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcEnabled)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcNotifyOnGrab)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcNotifyOnGrab)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcNotifyOnGrab)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcNotifyOnDownload)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcNotifyOnDownload)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcNotifyOnDownload)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcNotifyOnRename)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcNotifyOnRename)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcNotifyOnRename)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcNotificationImage)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcNotificationImage)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcNotificationImage)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcDisplayTime)%></div>
|
||||
<div class="config-value"><%=Html.TextBoxFor(m => m.XbmcDisplayTime)%></div>
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcDisplayTime)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcUpdateOnDownload)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcUpdateOnDownload)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcUpdateOnDownload)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcUpdateOnRename)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcUpdateOnRename)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcUpdateOnRename)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcFullUpdate)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcFullUpdate)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcFullUpdate)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcCleanOnDownload)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcCleanOnDownload)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcCleanOnDownload)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcCleanOnRename)%></div>
|
||||
<div class="config-value"><%=Html.CheckBoxFor(m => m.XbmcCleanOnRename)%></div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcCleanOnRename)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcHosts)%></div>
|
||||
<div class="config-value"><%=Html.TextBoxFor(m => m.XbmcHosts)%></div>
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcHosts)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcUsername)%></div>
|
||||
<div class="config-value"><%=Html.TextBoxFor(m => m.XbmcUsername)%></div>
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcUsername)%></div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.XbmcPassword)%></div>
|
||||
<div class="config-value"><%=Html.TextBoxFor(m => m.XbmcPassword)%></div>
|
||||
</div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.XbmcPassword)%></div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||
|
||||
<%
|
||||
}%>
|
||||
</fieldset>
|
||||
<div id="result"></div>
|
161
NzbDrone.Web/Views/Settings/Notifications.cshtml
Normal file
161
NzbDrone.Web/Views/Settings/Notifications.cshtml
Normal file
@ -0,0 +1,161 @@
|
||||
@model NzbDrone.Web.Models.NotificationSettingsModel
|
||||
|
||||
<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("SaveNotifications", "Settings", FormMethod.Post, new {id = "form", name = "form"}))
|
||||
{
|
||||
<fieldset>
|
||||
<legend>Notification Settings</legend>
|
||||
|
||||
<fieldset class="sub-field">
|
||||
<legend>XBMC</legend>
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcEnabled)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcEnabled)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcEnabled)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcNotifyOnGrab)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcNotifyOnGrab)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcNotifyOnGrab)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcNotifyOnDownload)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcNotifyOnDownload)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcNotifyOnDownload)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcNotifyOnRename)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcNotifyOnRename)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcNotifyOnRename)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcNotificationImage)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcNotificationImage)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcNotificationImage)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcDisplayTime)</div>
|
||||
<div class="config-value">@Html.TextBoxFor(m => m.XbmcDisplayTime)</div>
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcDisplayTime)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcUpdateOnDownload)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcUpdateOnDownload)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcUpdateOnDownload)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcUpdateOnRename)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcUpdateOnRename)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcUpdateOnRename)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcFullUpdate)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcFullUpdate)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcFullUpdate)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcCleanOnDownload)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcCleanOnDownload)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcCleanOnDownload)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcCleanOnRename)</div>
|
||||
<div class="config-value">@Html.CheckBoxFor(m => m.XbmcCleanOnRename)</div>
|
||||
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcCleanOnRename)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcHosts)</div>
|
||||
<div class="config-value">@Html.TextBoxFor(m => m.XbmcHosts)</div>
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcHosts)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcUsername)</div>
|
||||
<div class="config-value">@Html.TextBoxFor(m => m.XbmcUsername)</div>
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcUsername)</div>
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-group">
|
||||
<div class="config-title">@Html.LabelFor(m => m.XbmcPassword)</div>
|
||||
<div class="config-value">@Html.TextBoxFor(m => m.XbmcPassword)</div>
|
||||
</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.XbmcPassword)</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<input type="submit" id="save_button" value="Save" disabled="disabled" />
|
||||
|
||||
</fieldset>
|
||||
}
|
||||
<div id="result"></div>
|
@ -1,4 +1,4 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NzbDrone.Web.Models.QualityModel>" %>
|
||||
@model NzbDrone.Web.Models.QualityModel
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
@ -22,26 +22,20 @@
|
||||
$("#result").empty().html(responseText);
|
||||
$("#form :input").attr("disabled", false);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<%
|
||||
Html.EnableClientValidation();%>
|
||||
|
||||
<%
|
||||
using (Html.BeginForm("SaveQuality", "Settings", FormMethod.Post, new {id = "form", name = "form"}))
|
||||
{%>
|
||||
@using (Html.BeginForm("SaveQuality", "Settings", FormMethod.Post, new {id = "form", name = "form"}))
|
||||
{
|
||||
<fieldset>
|
||||
<legend>Quality</legend>
|
||||
<%--<%: Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.") %>--%>
|
||||
<legend>Quality</legend>
|
||||
|
||||
<div class="rightSide" style="float: right; width: 65%;">
|
||||
<div id="defaultQualityDiv" style="float: left; margin: 30px;">
|
||||
|
||||
<div class="config-group" style="width: 250px; margin-bottom: 5px; margin-left: 5px;">
|
||||
<div class="config-title"><%=Html.LabelFor(m => m.DefaultQualityProfileId)%></div>
|
||||
<div class="config-value"><%:Html.DropDownListFor(m => m.DefaultQualityProfileId, Model.SelectList)%></div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(m => m.DefaultQualityProfileId)%></div>
|
||||
<div class="config-title">@Html.LabelFor(m => m.DefaultQualityProfileId)</div>
|
||||
<div class="config-value">@Html.DropDownListFor(m => m.DefaultQualityProfileId, Model.SelectList)</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(m => m.DefaultQualityProfileId)</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -49,19 +43,17 @@
|
||||
<div id="leftSide" style="width:35%;">
|
||||
<div style="padding-top: 10px;">
|
||||
<div style="padding-left: 7px; margin-bottom: 5px;">
|
||||
<a id="addItem" style="text-decoration:none;" href="<%:Url.Action("AddUserProfile", "Settings")%>">
|
||||
<a id="addItem" style="text-decoration:none;" href="@Url.Action("AddUserProfile", "Settings")">
|
||||
<img src="../../Content/Images/Plus.png" alt="Add New Profile" />
|
||||
<h4 style="margin-left: 3px; display: inline; color: Black;">Add New Profile</h4></a>
|
||||
</div>
|
||||
|
||||
<div id="user-profiles">
|
||||
<%
|
||||
foreach (var item in Model.UserProfiles)
|
||||
{%>
|
||||
<%
|
||||
Html.RenderPartial("UserProfileSection", item);%>
|
||||
<%
|
||||
}%>
|
||||
|
||||
@foreach (var item in Model.UserProfiles)
|
||||
{
|
||||
Html.RenderPartial("UserProfileSection", item);
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -71,9 +63,7 @@
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<%
|
||||
}%>
|
||||
}
|
||||
<div id="result"></div>
|
||||
|
||||
<script type="text/javascript">
|
@ -1,32 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NzbDrone.Core.Repository.RootDir>" %>
|
||||
<%@ Import Namespace="NzbDrone.Web.Helpers" %>
|
||||
<%
|
||||
using (Html.BeginCollectionItem("Directories"))
|
||||
{%>
|
||||
<%
|
||||
var idClean = ViewData.TemplateInfo.HtmlFieldPrefix.Replace('[', '_').Replace(']', '_');
|
||||
//string sortable1 = String.Format("{0}_sortable1", idClean);
|
||||
%>
|
||||
<style type="text/css">
|
||||
.root_dir_text
|
||||
{
|
||||
width: 300px;
|
||||
}
|
||||
</style>
|
||||
<div class="rootDirSection">
|
||||
<fieldset>
|
||||
<div>
|
||||
<%:Html.TextBoxFor(m => m.Path, new {@class = "root_dir_text"})%>
|
||||
<a href="#" class="deleteRow">
|
||||
<img src="../Content/Images/X.png" alt="Delete" /></a>
|
||||
</div>
|
||||
<div>
|
||||
<%:Html.ValidationMessageFor(m => m.Path)%>
|
||||
</div>
|
||||
<div class="hiddenProfileDetails">
|
||||
<%=Html.TextBoxFor(x => x.Id, new {@style = "display:none"})%>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<%
|
||||
}%>
|
30
NzbDrone.Web/Views/Settings/RootDir.cshtml
Normal file
30
NzbDrone.Web/Views/Settings/RootDir.cshtml
Normal file
@ -0,0 +1,30 @@
|
||||
@model NzbDrone.Core.Repository.RootDir
|
||||
@using NzbDrone.Web.Helpers;
|
||||
|
||||
<style type="text/css">
|
||||
.root_dir_text
|
||||
{
|
||||
width: 300px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@using (Html.BeginCollectionItem("Directories"))
|
||||
{
|
||||
var idClean = ViewData.TemplateInfo.HtmlFieldPrefix.Replace('[', '_').Replace(']', '_');
|
||||
|
||||
<div class="rootDirSection">
|
||||
<fieldset>
|
||||
<div>
|
||||
@Html.TextBoxFor(m => m.Path, new { @class = "root_dir_text" })
|
||||
<a href="#" class="deleteRow">
|
||||
<img src="../../Content/Images/X.png" alt="Delete" /></a>
|
||||
</div>
|
||||
<div>
|
||||
@Html.ValidationMessageFor(m => m.Path)
|
||||
</div>
|
||||
<div class="hiddenProfileDetails">
|
||||
@Html.TextBoxFor(x => x.Id, new { @style = "display:none" })
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
|
||||
|
||||
<%
|
||||
Html.Telerik().Menu().Name("Menu").Items(items =>
|
||||
{
|
||||
items.Add().Text("General").Action("General", "Settings");
|
||||
items.Add().Text("Indexers").Action("Indexers", "Settings");
|
||||
items.Add().Text("Downloads").Action("Downloads", "Settings");
|
||||
items.Add().Text("Quality").Action("Quality", "Settings");
|
||||
items.Add().Text("Episode Sorting").Action("EpisodeSorting",
|
||||
"Settings");
|
||||
items.Add().Text("Notifications").Action("Notifications",
|
||||
"Settings");
|
||||
}).Render();
|
||||
%>
|
||||
|
||||
|
12
NzbDrone.Web/Views/Settings/SubMenu.cshtml
Normal file
12
NzbDrone.Web/Views/Settings/SubMenu.cshtml
Normal file
@ -0,0 +1,12 @@
|
||||
@{Html.Telerik().Menu().Name("SubMenu").Items(items =>
|
||||
{
|
||||
items.Add().Text("General").Action("General", "Settings");
|
||||
items.Add().Text("Indexers").Action("Indexers", "Settings");
|
||||
items.Add().Text("Downloads").Action("Downloads", "Settings");
|
||||
items.Add().Text("Quality").Action("Quality", "Settings");
|
||||
items.Add().Text("Episode Sorting").Action("EpisodeSorting",
|
||||
"Settings");
|
||||
items.Add().Text("Notifications").Action("Notifications",
|
||||
"Settings");
|
||||
}).Render();
|
||||
}
|
@ -1,139 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NzbDrone.Core.Repository.Quality.QualityProfile>" %>
|
||||
<%@ Import Namespace="NzbDrone.Core.Repository.Quality" %>
|
||||
<%@ Import Namespace="NzbDrone.Web.Helpers" %>
|
||||
|
||||
<%
|
||||
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);
|
||||
string title = String.Format("{0}_Title", idClean);
|
||||
string nameBox = String.Format("{0}_Name", idClean);
|
||||
%>
|
||||
|
||||
<style type="text/css">
|
||||
.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; }
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$("#<%=sortable1%>, #<%=sortable2%>").sortable({
|
||||
connectWith: ".<%=connectedSortable%>",
|
||||
placeholder: "ui-state-highlight",
|
||||
dropOnEmpty: true,
|
||||
|
||||
create: function (event, ui) {
|
||||
var order = $('#<%=sortable1%>').sortable("toArray");
|
||||
$("#<%=allowedStringName%>").val(order);
|
||||
},
|
||||
|
||||
update: function (event, ui) {
|
||||
var order = $('#<%=sortable1%>').sortable("toArray");
|
||||
$("#<%=allowedStringName%>").val(order);
|
||||
}
|
||||
|
||||
}).disableSelection();
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="userProfileSectionEditor">
|
||||
|
||||
<fieldset style="width:275px; margin:5px; margin-top: 0px; border-color:#CCCCCD">
|
||||
|
||||
<div id="qualityHeader" style="padding-bottom: 5px; margin: 0px;">
|
||||
<h2 style="display:inline; padding-right: 4px; margin-left: 4px;" id="<%=title%>"><%=Html.DisplayTextFor(m => m.Name)%></h2>
|
||||
<a href="#" class="deleteRow"><img src="../../Content/Images/X.png" alt="Delete" /></a>
|
||||
</div>
|
||||
|
||||
<div class="config-group" style="width: 250px; margin-bottom: 5px; margin-left: 5px;">
|
||||
<div class="config-title"><%=Html.LabelFor(x => x.Name)%></div>
|
||||
<div class="config-value"><%=Html.TextBoxFor(x => x.Name)%></div>
|
||||
<div class="config-validation"><%=Html.ValidationMessageFor(x => x.Name)%></div>
|
||||
</div>
|
||||
|
||||
<div id="sortablesDiv" style="margin: 0px;">
|
||||
<div class="allowedQualities">
|
||||
<h4 class="sortableHeader">Allowed</h4>
|
||||
<ul id="<%=sortable1%>" class="<%=connectedSortable%> sortable1">
|
||||
<%
|
||||
if (Model.Allowed != null)
|
||||
{%>
|
||||
<%
|
||||
for (int i = 0; i < Model.Allowed.Count(); i++)
|
||||
{%>
|
||||
<li class="ui-state-default" id="<%=Model.Allowed[i].ToString()%>">
|
||||
<%=Html.RadioButtonFor(x => x.Cutoff, Model.Allowed[i])%>
|
||||
<%=Html.DisplayTextFor(c => c.Allowed[i])%>
|
||||
</li>
|
||||
<%
|
||||
}%>
|
||||
<%
|
||||
}%>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="otherQualities">
|
||||
<h4 class="sortableHeader">Not-Allowed</h4>
|
||||
<ul id="<%=sortable2%>" class="<%=connectedSortable%> sortable2">
|
||||
<%
|
||||
var qualitiesList = (List<QualityTypes>) ViewData["Qualities"];%>
|
||||
|
||||
<%
|
||||
for (int i = 0; i < qualitiesList.Count(); i++)
|
||||
{%>
|
||||
<%
|
||||
//Skip Unknown and any item that is in the allowed list
|
||||
if (qualitiesList[i].ToString() == "Unknown")
|
||||
continue;
|
||||
|
||||
if (Model.Allowed != null)
|
||||
{
|
||||
if (Model.Allowed.Contains(qualitiesList[i]))
|
||||
continue;
|
||||
}
|
||||
%>
|
||||
|
||||
<li class="ui-state-default" id="<%=qualitiesList[i].ToString()%>">
|
||||
<%=Html.RadioButtonFor(x => x.Cutoff, qualitiesList[i])%>
|
||||
<%=Html.Label(qualitiesList[i].ToString())%>
|
||||
</li>
|
||||
|
||||
<%
|
||||
}%>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%=Html.ValidationMessageFor(x => x.Cutoff)%>
|
||||
|
||||
<div class="hiddenProfileDetails">
|
||||
<%=Html.TextBoxFor(x => x.QualityProfileId, new {@style = "display:none"})%>
|
||||
<%=Html.CheckBoxFor(x => x.UserProfile, new {@style = "display:none"})%>
|
||||
<%=Html.TextBoxFor(m => m.AllowedString, new {@style = "display:none"})%>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$("#<%:nameBox%>").keyup(function () {
|
||||
var value = $(this).val();
|
||||
$("#<%=title%>").text(value);
|
||||
}).keyup();
|
||||
</script>
|
||||
|
||||
<%
|
||||
}%>
|
129
NzbDrone.Web/Views/Settings/UserProfileSection.cshtml
Normal file
129
NzbDrone.Web/Views/Settings/UserProfileSection.cshtml
Normal file
@ -0,0 +1,129 @@
|
||||
@model NzbDrone.Core.Repository.Quality.QualityProfile
|
||||
@using NzbDrone.Core.Repository.Quality
|
||||
@using NzbDrone.Web.Helpers
|
||||
|
||||
@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);
|
||||
string title = String.Format("{0}_Title", idClean);
|
||||
string nameBox = String.Format("{0}_Name", idClean);
|
||||
|
||||
<style type="text/css">
|
||||
.sortable1, .sortable2 { list-style-type: none; margin-right: 10px; background: #eee; padding-left: 5px; padding-right: 5px; padding-top: 0px; padding-bottom: 6px; width: 117px; 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: 122px; -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: 110px; -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; }
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$("#@sortable1, #@sortable2").sortable({
|
||||
connectWith: ".@connectedSortable",
|
||||
placeholder: "ui-state-highlight",
|
||||
dropOnEmpty: true,
|
||||
|
||||
create: function (event, ui) {
|
||||
var order = $('#@sortable1').sortable("toArray");
|
||||
$("#@allowedStringName>").val(order);
|
||||
},
|
||||
|
||||
update: function (event, ui) {
|
||||
var order = $('#@sortable1').sortable("toArray");
|
||||
$("#@allowedStringName").val(order);
|
||||
}
|
||||
|
||||
}).disableSelection();
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="userProfileSectionEditor">
|
||||
|
||||
<fieldset style="width:285px; margin:5px; margin-top: 0px; border-color:#CCCCCD">
|
||||
|
||||
<div id="qualityHeader" style="padding-bottom: 5px; margin: 0px;">
|
||||
<h2 style="display:inline; padding-right: 4px; margin-left: 4px;" id="@title"><@Html.DisplayTextFor(m => m.Name)</h2>
|
||||
<a href="#" class="deleteRow"><img src="../../Content/Images/X.png" alt="Delete" /></a>
|
||||
</div>
|
||||
|
||||
<div class="config-group" style="width: 250px; margin-bottom: 5px; margin-left: 5px;">
|
||||
<div class="config-title">@Html.LabelFor(x => x.Name)</div>
|
||||
<div class="config-value">@Html.TextBoxFor(x => x.Name)</div>
|
||||
<div class="config-validation">@Html.ValidationMessageFor(x => x.Name)</div>
|
||||
</div>
|
||||
|
||||
<div id="sortablesDiv" style="margin: 0px;">
|
||||
<div class="allowedQualities">
|
||||
<h4 class="sortableHeader">Allowed</h4>
|
||||
<ul id="@sortable1" class="@connectedSortable sortable1">
|
||||
@if (Model.Allowed != null)
|
||||
{
|
||||
for (int i = 0; i < Model.Allowed.Count(); i++)
|
||||
{
|
||||
<li class="ui-state-default" id="@Model.Allowed[i].ToString()">
|
||||
@Html.RadioButtonFor(x => x.Cutoff, Model.Allowed[i])
|
||||
@Html.DisplayTextFor(c => c.Allowed[i])
|
||||
</li>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="otherQualities">
|
||||
<h4 class="sortableHeader">Not-Allowed</h4>
|
||||
<ul id="@sortable2" class="@connectedSortable sortable2">
|
||||
|
||||
@{var qualitiesList = (List<QualityTypes>)ViewData["Qualities"];}
|
||||
|
||||
@for (int i = 0; i < qualitiesList.Count(); i++)
|
||||
{
|
||||
//Skip Unknown and any item that is in the allowed list
|
||||
if (qualitiesList[i].ToString() == "Unknown")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Model.Allowed != null)
|
||||
{
|
||||
if (Model.Allowed.Contains(qualitiesList[i]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
<li class="ui-state-default" id="@qualitiesList[i].ToString()">
|
||||
@Html.RadioButtonFor(x => x.Cutoff, qualitiesList[i])
|
||||
@Html.Label(qualitiesList[i].ToString())
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@Html.ValidationMessageFor(x => x.Cutoff)
|
||||
|
||||
<div class="hiddenProfileDetails">
|
||||
@Html.TextBoxFor(x => x.QualityProfileId, new { @style = "display:none" })
|
||||
@Html.CheckBoxFor(x => x.UserProfile, new { @style = "display:none" })
|
||||
@Html.TextBoxFor(m => m.AllowedString, new { @style = "display:none" })
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$("#@nameBox").keyup(function () {
|
||||
var value = $(this).val();
|
||||
$("#@title").text(value);
|
||||
}).keyup();
|
||||
</script>
|
||||
}
|
@ -1,6 +1,4 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
|
||||
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function () {
|
||||
|
||||
document.getElementById('syncTimer').style.display = 'inline'; //Show the timer after the page loads, prevents FOUC (Flash of Unstyled Content)
|
||||
@ -10,11 +8,11 @@
|
||||
counter_warning: '<div style="color: #065EFE;">[H]:[M]:[S]</div>',
|
||||
counter_expired: '<div style="color: #FFFFFF;">00:00:00</div>',
|
||||
interval: 1000,
|
||||
warnonminutesleft: 1
|
||||
warnonminutesleft: 1
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<%--<div>RSS Sync: <span style="display:none" id="syncTimer" class="timer"><%: ViewData["RssTimer"] %></span></div>--%>
|
||||
@*<div>RSS Sync: <span style="display:none" id="syncTimer" class="timer"><@ViewData["RssTimer"]</span></div>*@
|
||||
<div>RSS Sync: </div>
|
||||
<div style="display:none" id="syncTimer" class="timer"><%:ViewData["RssTimer"]%></div>
|
||||
<div style="display:none" id="syncTimer" class="timer">@ViewData["RssTimer"]</div>
|
59
NzbDrone.Web/Views/Shared/SiteLayout.cshtml
Normal file
59
NzbDrone.Web/Views/Shared/SiteLayout.cshtml
Normal file
@ -0,0 +1,59 @@
|
||||
@using Helpers;
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head runat="server">
|
||||
<link rel="SHORTCUT ICON" href="../../favicon.ico"/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>NZBDrone</title>
|
||||
@{Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css")
|
||||
.Add("telerik.sitefinity.css")
|
||||
.Add("notibar.css"))
|
||||
.Render();}
|
||||
|
||||
<link href="../../Content/style.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../Content/jquery-ui.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../Content/jquery-ui.custom.css" rel="stylesheet" type="text/css" />
|
||||
@*<link href="../../Content/jquery-simpledropdown.css" rel="stylesheet" type="text/css" />*@
|
||||
@*<script type="text/javascript" src="../../Scripts/jquery-1.5.2.min.js"></script>*@
|
||||
@*<script type="text/javascript" src="../../Scripts/jquery-ui-1.8.8.min.js"></script>*@
|
||||
|
||||
@RenderSection("HeaderContent", required: false)
|
||||
</head>
|
||||
<body>
|
||||
<div id="centered">
|
||||
<div id="menu">
|
||||
<ul>
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Series", "Index", "Series"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Upcoming", "Index", "Upcoming"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("History", "Index", "History"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Settings", "Index", "Settings"))
|
||||
@MvcHtmlString.Create(Html.CurrentActionLink("Logs", "Index", "Log"))
|
||||
</ul>
|
||||
</div>
|
||||
<div id="logo">
|
||||
@RenderSection("TitleContent", required: false)
|
||||
</div>
|
||||
<div id="page">
|
||||
@RenderSection("ActionMenu", required: false)
|
||||
@RenderSection("MainContent", required: false)
|
||||
@RenderBody()
|
||||
</div>
|
||||
<div id="footer">
|
||||
@{Html.RenderAction("Footer", "Shared");}
|
||||
</div>
|
||||
<div id="msgBox">
|
||||
<span id="msgText">Scanning Series Folder...</span>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@{Html.Telerik().ScriptRegistrar().Scripts(
|
||||
c => c.Add("jquery-ui-1.8.8.min.js")
|
||||
.Add("jquery.form.js")
|
||||
.Add("jquery.jgrowl.js")
|
||||
.Add("Notification.js")
|
||||
.Add("jquery-tgc-countdown-1.0.js")
|
||||
.Add("MicrosoftAjax.js")
|
||||
.Add("MicrosoftMvcValidation.js"))
|
||||
.Render();}
|
||||
</html>
|
3
NzbDrone.Web/Views/_ViewStart.cshtml
Normal file
3
NzbDrone.Web/Views/_ViewStart.cshtml
Normal file
@ -0,0 +1,3 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/SiteLayout.cshtml";
|
||||
}
|
Loading…
Reference in New Issue
Block a user