mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-21 05:43:19 -07:00
Merge remote-tracking branch 'upstream/dev'
This commit is contained in:
commit
cd2c9a40e5
283 changed files with 10998 additions and 1985 deletions
|
@ -1,4 +1,5 @@
|
|||
@using Ombi.UI.Helpers
|
||||
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<Ombi.Core.SettingModels.AuthenticationSettings>
|
||||
@Html.Partial("Shared/Partial/_Sidebar")
|
||||
|
||||
@{
|
||||
|
@ -17,40 +18,11 @@
|
|||
<form class="form-horizontal" method="POST" action="@formAction" id="mainForm">
|
||||
<fieldset>
|
||||
<legend>Authentication Settings</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
|
||||
@if (Model.UserAuthentication)
|
||||
{
|
||||
<input type="checkbox" id="userAuth" name="UserAuthentication" checked="checked">
|
||||
<label for="userAuth">Enable User Authentication</label>
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="userAuth" name="UserAuthentication">
|
||||
<label for="userAuth">Enable User Authentication</label>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
|
||||
@if (Model.UsePassword)
|
||||
{
|
||||
<input type="checkbox" id="UsePassword" name="UsePassword" checked="checked">
|
||||
<label id="passLabel" for="UsePassword">Require users to login with their passwords</label>
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="UsePassword" name="UsePassword">
|
||||
<label id="passLabel" for="UsePassword">Require users to login with their passwords</label>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@Html.Checkbox(Model.UserAuthentication, "UserAuthentication", "Enable User Authentication", "If enabled we will check the login name against a user in your local users list or Plex/Emby users.")
|
||||
|
||||
|
||||
@Html.Checkbox(Model.UsePassword, "UsePassword", "Require users to login with their passwords", "If enabled, users must provide a valid password to log into Ombi")
|
||||
|
||||
|
||||
<br />
|
||||
|
@ -59,7 +31,9 @@
|
|||
<br />
|
||||
|
||||
|
||||
<p class="form-group">A comma separated list of users that you do not want to login.</p>
|
||||
<p class="form-group">A comma separated list of users that you do not want to login.
|
||||
@Html.ToolTip("This is a 'blacklist', if you have users that you do not want to log in, enter them here!")</p>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="DeniedUsers" class="control-label">Denied Users</label>
|
||||
<div >
|
||||
|
@ -83,20 +57,13 @@
|
|||
$(function () {
|
||||
|
||||
var base = '@Html.GetBaseUrl()';
|
||||
|
||||
$('.customTooltip').tooltipster({
|
||||
contentCloning: true
|
||||
});
|
||||
|
||||
|
||||
changeDisabledStatus($('#UsePassword'), @Model.UserAuthentication.ToString().ToLower(), $('#passLabel'));
|
||||
if ($('#PlexAuthToken')) {
|
||||
loadUserList();
|
||||
}
|
||||
|
||||
$('#refreshUsers').click(function (e) {
|
||||
e.preventDefault();
|
||||
loadUserList();
|
||||
});
|
||||
|
||||
|
||||
$('#mainForm').on('click', '#userAuth', function () {
|
||||
var checked = this.checked;
|
||||
changeDisabledStatus($('#UsePassword'), checked, $('#passLabel'));
|
||||
|
@ -112,41 +79,5 @@
|
|||
$label.css("color", "grey");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function loadUserList() {
|
||||
$('#users').html("");
|
||||
var url = "getusers";
|
||||
$.ajax({
|
||||
type: "Get",
|
||||
url: url,
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
|
||||
$('#users').html("");
|
||||
if(!response.result){
|
||||
generateNotify(response.message,"danger");
|
||||
$('#users').append("<option>Error!</option>");
|
||||
return;
|
||||
}
|
||||
if (response.users.length > 0) {
|
||||
$(response.users).each(function () {
|
||||
$('#users').append("<option>" + this + "</option>");
|
||||
});
|
||||
} else {
|
||||
$('#users').append("<option>No Users, Please refresh!</option>");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
$('#users').html("");
|
||||
$('#users').append("<option>Error!</option>");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
</script>
|
150
Ombi.UI/Views/Admin/Emby.cshtml
Normal file
150
Ombi.UI/Views/Admin/Emby.cshtml
Normal file
|
@ -0,0 +1,150 @@
|
|||
@using Ombi.UI.Helpers
|
||||
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<Ombi.Core.SettingModels.EmbySettings>
|
||||
@Html.Partial("Shared/Partial/_Sidebar")
|
||||
@{
|
||||
int port;
|
||||
if (Model.Port == 0)
|
||||
{
|
||||
port = 8096;
|
||||
}
|
||||
else
|
||||
{
|
||||
port = Model.Port;
|
||||
}
|
||||
}
|
||||
<div class="col-sm-8 col-sm-push-1">
|
||||
<form class="form-horizontal" method="POST" id="mainForm">
|
||||
<fieldset>
|
||||
<legend>Emby Settings</legend>
|
||||
|
||||
@Html.Checkbox(Model.Enable, "Enable", "Enabled")
|
||||
<div class="form-group">
|
||||
<label for="Ip" class="control-label">Emby Hostname or IP</label>
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " id="Ip" name="Ip" placeholder="localhost" value="@Model.Ip">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="portNumber" class="control-label">Port</label>
|
||||
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " id="portNumber" name="Port" placeholder="Port Number" value="@port">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
|
||||
@if (Model.Ssl)
|
||||
{
|
||||
<input type="checkbox" id="Ssl" name="Ssl" checked="checked"><label for="Ssl">SSL</label>
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="Ssl" name="Ssl"><label for="Ssl">SSL</label>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@Html.Checkbox(Model.EnableEpisodeSearching, "EnableEpisodeSearching", "Enable Episode Searching")
|
||||
@Html.ToolTip("This will allow Ombi to search through all of the episodes stored on Emby")
|
||||
|
||||
<div class="form-group">
|
||||
<label for="SubDir" class="control-label">Emby Base Url</label>
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " id="SubDir" name="SubDir" value="@Model.SubDir">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ApiKey" class="control-label">Emby Api Key</label>
|
||||
<div class="">
|
||||
<input type="text" class="form-control-custom form-control" id="ApiKey" name="ApiKey" placeholder="Api Key" value="@Model.ApiKey">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button id="testEmby" type="submit" class="btn btn-primary-outline">Test Connectivity <div id="spinner"></div></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button id="save" type="submit" class="btn btn-primary-outline">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
|
||||
var base = '@Html.GetBaseUrl()';
|
||||
|
||||
$('#testEmby').click(function (e) {
|
||||
e.preventDefault();
|
||||
var url = createBaseUrl(base, '/test/emby');
|
||||
var $form = $("#mainForm");
|
||||
|
||||
$('#spinner').attr("class", "fa fa-spinner fa-spin");
|
||||
$.ajax({
|
||||
type: $form.prop("method"),
|
||||
url: url,
|
||||
data: $form.serialize(),
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
$('#spinner').attr("class", "");
|
||||
console.log(response);
|
||||
if (response.result === true) {
|
||||
generateNotify(response.message, "success");
|
||||
|
||||
$('#spinner').attr("class", "fa fa-check");
|
||||
} else {
|
||||
generateNotify(response.message, "warning");
|
||||
$('#spinner').attr("class", "fa fa-times");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
|
||||
$('#spinner').attr("class", "fa fa-times");
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$('#save').click(function (e) {
|
||||
e.preventDefault();
|
||||
var port = $('#portNumber').val();
|
||||
if (isNaN(port)) {
|
||||
generateNotify("You must specify a Port.", "warning");
|
||||
return;
|
||||
}
|
||||
|
||||
var $form = $("#mainForm");
|
||||
$.ajax({
|
||||
type: $form.prop("method"),
|
||||
data: $form.serialize(),
|
||||
url: $form.prop("action"),
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
if (response.result === true) {
|
||||
generateNotify(response.message, "success");
|
||||
} else {
|
||||
generateNotify(response.message, "warning");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
|
@ -54,7 +54,7 @@
|
|||
<p class="form-group">Notice Message</p>
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<textarea rows="4" type="text" class="form-control-custom form-control " id="NoticeMessage" name="NoticeMessage" placeholder="e.g. Plex will be down for maintaince (HTML is allowed)" value="@Model.NoticeMessage">@Model.NoticeMessage</textarea>
|
||||
<textarea rows="4" type="text" class="form-control-custom form-control " id="NoticeMessage" name="NoticeMessage" placeholder="e.g. The server will be down for maintaince (HTML is allowed)" value="@Model.NoticeMessage">@Model.NoticeMessage</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
105
Ombi.UI/Views/Admin/MassEmail.cshtml
Normal file
105
Ombi.UI/Views/Admin/MassEmail.cshtml
Normal file
|
@ -0,0 +1,105 @@
|
|||
@using System.Linq
|
||||
@using Ombi.UI.Helpers
|
||||
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<Ombi.Core.SettingModels.NewletterSettings>
|
||||
@Html.Partial("Shared/Partial/_Sidebar")
|
||||
|
||||
<div class="col-sm-8 col-sm-push-1">
|
||||
<form id="massemail" class="form-horizontal">
|
||||
<fieldset>
|
||||
<legend>Mass Email</legend>
|
||||
<!-- Mass Email Section -->
|
||||
<div style="padding:10px">
|
||||
<div class="form-group">
|
||||
<small>Note: This will require you to setup your email notifications</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="massEmailSubject" class="control-label">Subject</label>
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " placeholder="A Message from the Admin" id="massEmailSubject" name="massEmailSubject" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="massEmailBody" class="control-label">Body</label>
|
||||
|
||||
<textarea id="massEmailBody" class="form-control" rows="5"></textarea>
|
||||
<small>Supports HTML</small>
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button id="testSendMassEmailBtn" class="btn btn-primary-outline">Send Test to Admin<div id="testSendMassEmailSpinner"></div></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button id="sendMassEmailBtn" class="btn btn-primary-outline">Send To All Users<div id="sendMassEmailSpinner"></div></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Mass Email Section -->
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
|
||||
$('#testSendMassEmailBtn').click(function (e) {
|
||||
e.preventDefault();
|
||||
var base = '@Html.GetBaseUrl()';
|
||||
var url = createBaseUrl(base, '/admin/testmassadminemail');
|
||||
$('#testSendMassEmailSpinner').attr("class", "fa fa-spinner fa-spin");
|
||||
var data = { "Users": "", "Body": $("#massEmailBody").val(), "Subject": $("#massEmailSubject").val() };
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
if (response.result) {
|
||||
generateNotify(response.message, "success");
|
||||
$('#testSendMassEmailSpinner').attr("class", "fa fa-check");
|
||||
} else {
|
||||
|
||||
generateNotify(response.message, "danger");
|
||||
$('#testSendMassEmailSpinner').attr("class", "fa fa-times");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
$('#testSendMassEmailSpinner').attr("class", "fa fa-times");
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#sendMassEmailBtn').click(function (e) {
|
||||
e.preventDefault();
|
||||
var base = '@Html.GetBaseUrl()';
|
||||
var url = createBaseUrl(base, '/admin/sendmassemail');
|
||||
$('#sendMassEmailSpinner').attr("class", "fa fa-spinner fa-spin");
|
||||
var data = { "Users": "", "Body": $("#massEmailBody").val(), "Subject": $("#massEmailSubject").val() };
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
if (response.result) {
|
||||
generateNotify(response.message, "success");
|
||||
$('#sendMassEmailSpinner').attr("class", "fa fa-check");
|
||||
} else {
|
||||
|
||||
generateNotify(response.message, "danger");
|
||||
$('#sendMassEmailSpinner').attr("class", "fa fa-times");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
$('#sendMassEmailSpinner').attr("class", "fa fa-times");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
|
@ -7,59 +7,54 @@
|
|||
<form class="form-horizontal" method="POST" id="mainForm">
|
||||
<fieldset>
|
||||
<legend>Newsletter Settings</legend>
|
||||
<div style="padding:10px">
|
||||
|
||||
<!-- Email Nofication Section -->
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
<!-- Newsletter Section -->
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
|
||||
<small>Note: This will require you to setup your email notifications</small>
|
||||
<br />
|
||||
@if (Model.SendRecentlyAddedEmail)
|
||||
{
|
||||
<input type="checkbox" id="SendRecentlyAddedEmail" name="SendRecentlyAddedEmail" checked="checked"><label for="SendRecentlyAddedEmail">Enable newsletter</label>
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="SendRecentlyAddedEmail" name="SendRecentlyAddedEmail"><label for="SendRecentlyAddedEmail">Enable newslette</label>
|
||||
}
|
||||
<small>Note: This will require you to setup your email notifications
|
||||
</small><span class="customTooltip" title="It also requires users to have the Newsletter feature"><i class="fa fa-info-circle"></i></span>
|
||||
<br />
|
||||
<br />
|
||||
@Html.Checkbox(Model.SendRecentlyAddedEmail, "SendRecentlyAddedEmail", "Enable newsletter")
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
<br>
|
||||
<label for="CustomUsers" class="control-label">Email Addresses to Send to (For users that are not in your User Management section)</label>
|
||||
<small>You can add multiple email addresses by using the ; delimiter</small>
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " placeholder="first@address.com;second@address.com" id="CustomUsers" name="CustomUsers" value="@Model.CustomUsers">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button id="recentlyAddedBtn" class="btn btn-primary-outline">Send test email to Admin <div id="testEmailSpinner"></div></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button type="submit" id="save" class="btn btn-primary-outline">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
<br>
|
||||
<label for="CustomUsers" class="control-label">Email Addresses to Send to (For users that are not in your User Management section)</label>
|
||||
<small>You can add multiple email address by using the ; delimiter</small>
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " placeholder="first@address.com;second@address.com" id="CustomUsers" name="CustomUsers" value="@Model.CustomUsers">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button id="recentlyAddedBtn" class="btn btn-primary-outline">Send test email to Admin <div id="spinner"></div></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button type="submit" id="save" class="btn btn-primary-outline">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Email Nofication Section -->
|
||||
|
||||
<!-- Newsletter Section -->
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
|
||||
$('.customTooltip').tooltipster({
|
||||
contentCloning: true
|
||||
});
|
||||
|
||||
var base = '@Html.GetBaseUrl()';
|
||||
$('#save').click(function (e) {
|
||||
|
@ -90,8 +85,8 @@
|
|||
$('#recentlyAddedBtn').click(function (e) {
|
||||
e.preventDefault();
|
||||
var base = '@Html.GetBaseUrl()';
|
||||
var url = createBaseUrl(base, '/admin/recentlyAddedTest');
|
||||
$('#spinner').attr("class", "fa fa-spinner fa-spin");
|
||||
var url = createBaseUrl(base, '/admin/testnewsletteradminemail');
|
||||
$('#testEmailSpinner').attr("class", "fa fa-spinner fa-spin");
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: url,
|
||||
|
@ -99,20 +94,20 @@
|
|||
success: function (response) {
|
||||
if (response) {
|
||||
generateNotify(response.message, "success");
|
||||
$('#spinner').attr("class", "fa fa-check");
|
||||
$('#testSendMassEmailSpinner').attr("class", "fa fa-check");
|
||||
} else {
|
||||
|
||||
generateNotify(response.message, "danger");
|
||||
$('#spinner').attr("class", "fa fa-times");
|
||||
$('#testSendMassEmailSpinner').attr("class", "fa fa-times");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
$('#spinner').attr("class", "fa fa-times");
|
||||
$('#testSendMassEmailSpinner').attr("class", "fa fa-times");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
<fieldset>
|
||||
<legend>Plex Settings</legend>
|
||||
@*<input id="advancedToggle" type="checkbox"/>*@ @*TODO*@
|
||||
|
||||
@Html.Checkbox(Model.Enable, "Enable", "Enable")
|
||||
<div class="form-group">
|
||||
<label for="Ip" class="control-label">Plex Hostname or IP</label>
|
||||
<div>
|
||||
|
@ -220,6 +222,7 @@
|
|||
if (response.result === true) {
|
||||
generateNotify("Success!", "success");
|
||||
$('#authToken').val(response.authToken);
|
||||
$('#MachineIdentifier').val(response.identifier);
|
||||
} else {
|
||||
generateNotify(response.message, "warning");
|
||||
}
|
||||
|
|
|
@ -35,28 +35,59 @@
|
|||
<fieldset>
|
||||
<legend>Scheduler Settings</legend>
|
||||
<small>Please note, you will need to restart for these settings to take effect</small>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="PlexAvailabilityChecker" class="control-label">Plex Availability Checker (min)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="PlexAvailabilityChecker" name="PlexAvailabilityChecker" value="@Model.PlexAvailabilityChecker">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="PlexContentCacher" class="control-label">Plex Content Cacher (min)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="PlexContentCacher" name="PlexContentCacher" value="@Model.PlexContentCacher">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="PlexUserChecker" class="control-label">Plex User Checker (hours)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="PlexUserChecker" name="PlexUserChecker" value="@Model.PlexUserChecker">
|
||||
</div>
|
||||
|
||||
@if (Model.Plex)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label for="PlexAvailabilityChecker" class="control-label">Plex Availability Checker (min)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="PlexAvailabilityChecker" name="PlexAvailabilityChecker" value="@Model.PlexAvailabilityChecker">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="PlexContentCacher" class="control-label">Plex Content Cacher (min)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="PlexContentCacher" name="PlexContentCacher" value="@Model.PlexContentCacher">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="PlexUserChecker" class="control-label">Plex User Checker (hours)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="PlexUserChecker" name="PlexUserChecker" value="@Model.PlexUserChecker">
|
||||
</div>
|
||||
|
||||
<small>Please note, the minimum time for this to run is 11 hours, if set below 11 then we will ignore that value. This is a very resource intensive job, the less we run it the better.</small>
|
||||
<div class="form-group">
|
||||
<label for="PlexEpisodeCacher" class="control-label">Plex Episode Cacher (hours)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="PlexEpisodeCacher" name="PlexEpisodeCacher" value="@Model.PlexEpisodeCacher">
|
||||
</div>
|
||||
}
|
||||
@if (Model.Emby)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label for="EmbyAvailabilityChecker" class="control-label">Emby Availability Checker (min)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="EmbyAvailabilityChecker" name="EmbyAvailabilityChecker" value="@Model.EmbyAvailabilityChecker">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="EmbyContentCacher" class="control-label">Emby Content Cacher (min)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="EmbyContentCacher" name="EmbyContentCacher" value="@Model.EmbyContentCacher">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="EmbyUserChecker" class="control-label">Emby User Checker (hours)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="EmbyUserChecker" name="EmbyUserChecker" value="@Model.EmbyUserChecker">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="EmbyEpisodeCacher" class="control-label">Emby Episode Cacher (hours)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="EmbyEpisodeCacher" name="EmbyEpisodeCacher" value="@Model.EmbyEpisodeCacher">
|
||||
</div>
|
||||
}
|
||||
<div class="form-group">
|
||||
<label for="CouchPotatoCacher" class="control-label">Couch Potato Cacher (min)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="CouchPotatoCacher" name="CouchPotatoCacher" value="@Model.CouchPotatoCacher">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="WatcherCacher" class="control-label">Wactcher Cacher (min)</label>
|
||||
<label for="WatcherCacher" class="control-label">Watcher Cacher (min)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="WatcherCacher" name="WatcherCacher" value="@Model.WatcherCacher">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -64,11 +95,7 @@
|
|||
<input type="text" class="form-control form-control-custom " id="RadarrCacher" name="RadarrCacher" value="@Model.RadarrCacher">
|
||||
</div>
|
||||
|
||||
<small>Please note, the minimum time for this to run is 11 hours, if set below 11 then we will ignore that value. This is a very resource intensive job, the less we run it the better.</small>
|
||||
<div class="form-group">
|
||||
<label for="PlexEpisodeCacher" class="control-label">Plex Episode Cacher (hours)</label>
|
||||
<input type="text" class="form-control form-control-custom " id="PlexEpisodeCacher" name="PlexEpisodeCacher" value="@Model.PlexEpisodeCacher">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="SonarrCacher" class="control-label">Sonarr Cacher (min)</label>
|
||||
|
@ -148,13 +175,19 @@
|
|||
success: function (response) {
|
||||
if (response.result === true) {
|
||||
generateNotify("Success!", "success");
|
||||
ev.removeClass("fa-spin");
|
||||
ev.addClass("fa-check");
|
||||
} else {
|
||||
generateNotify(response.message, "warning");
|
||||
ev.removeClass("fa-spin");
|
||||
ev.addClass("fa-times");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
ev.removeClass("fa-spin");
|
||||
ev.addClass("fa-times");
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -34,13 +34,14 @@
|
|||
<small class="control-label">You will have to restart after changing the port.</small>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="BaseUrl" class="control-label">Base Url</label>
|
||||
<label for="BaseUrl" class="control-label">Base Url @Html.ToolTip("This will make Ombi run with a base url, usually used in reverse proxy scenarios")</label>
|
||||
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " id="BaseUrl" name="BaseUrl" placeholder="Base Url" value="@Model.BaseUrl">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<small class="control-label">You will have to restart after changing the url base.</small>
|
||||
<small class="control-label">You will have to restart after changing the base url.</small>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ApiKey" class="control-label">Api Key</label>
|
||||
|
@ -60,35 +61,12 @@
|
|||
|
||||
@Html.Checkbox(Model.SearchForMovies,"SearchForMovies","Search for Movies")
|
||||
|
||||
@Html.Checkbox(Model.SearchForActors,"SearchForActors","Search for Movies by Actor")
|
||||
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
@Html.Checkbox(Model.SearchForTvShows, "SearchForTvShows", "Search for TV Shows")
|
||||
|
||||
@if (Model.SearchForTvShows)
|
||||
{
|
||||
<input type="checkbox" id="SearchForTvShows" name="SearchForTvShows" checked="checked"><label for="SearchForTvShows">Search for TV Shows</label>
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="SearchForTvShows" name="SearchForTvShows"><label for="SearchForTvShows">Search for TV Shows</label>
|
||||
}
|
||||
@Html.Checkbox(Model.SearchForMusic, "SearchForMusic", "Search for Music")
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
|
||||
@if (Model.SearchForMusic)
|
||||
{
|
||||
<input type="checkbox" id="SearchForMusic" name="SearchForMusic" checked="checked"><label for="SearchForMusic">Search for Music</label>
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="SearchForMusic" name="SearchForMusic"><label for="SearchForMusic">Search for Music</label>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
|
@ -218,7 +196,9 @@
|
|||
<script>
|
||||
$(function () {
|
||||
|
||||
|
||||
$('.customTooltip').tooltipster({
|
||||
contentCloning: true
|
||||
});
|
||||
new Clipboard('.fa-clipboard');
|
||||
|
||||
|
||||
|
|
|
@ -10,6 +10,13 @@
|
|||
{
|
||||
port = Model.Port;
|
||||
}
|
||||
|
||||
var rootFolder = string.Empty;
|
||||
if (!string.IsNullOrEmpty(Model.RootPath))
|
||||
|
||||
{
|
||||
rootFolder = Model.RootPath.Replace("/", "//");
|
||||
}
|
||||
}
|
||||
<div class="col-sm-8 col-sm-push-1">
|
||||
<form class="form-horizontal" method="POST" id="mainForm">
|
||||
|
@ -96,13 +103,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
@*<div class="form-group">
|
||||
<label for="RootPath" class="control-label">Root save directory for TV shows</label>
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " placeholder="C:\Media\Tv" id="RootPath" name="RootPath" value="@Model.RootPath">
|
||||
<label>Enter the root folder where tv shows are saved. For example <strong>C:\Media\TV</strong>.</label>
|
||||
</div>
|
||||
</div>*@
|
||||
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
|
@ -184,7 +184,7 @@
|
|||
|
||||
console.log('Hit root folders..');
|
||||
|
||||
var rootFolderSelected = '@Model.RootPath';
|
||||
var rootFolderSelected = '@rootFolder';
|
||||
if (!rootFolderSelected) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue