mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-20 05:13:18 -07:00
Finished #337
This commit is contained in:
parent
a9237db313
commit
6aae347297
2 changed files with 172 additions and 122 deletions
|
@ -46,6 +46,8 @@ using NLog;
|
||||||
|
|
||||||
using MarkdownSharp;
|
using MarkdownSharp;
|
||||||
|
|
||||||
|
using Nancy.Responses;
|
||||||
|
|
||||||
using PlexRequests.Api;
|
using PlexRequests.Api;
|
||||||
using PlexRequests.Api.Interfaces;
|
using PlexRequests.Api.Interfaces;
|
||||||
using PlexRequests.Core;
|
using PlexRequests.Core;
|
||||||
|
@ -204,6 +206,8 @@ namespace PlexRequests.UI.Modules
|
||||||
|
|
||||||
Get["/scheduledjobs", true] = async (x, ct) => await GetScheduledJobs();
|
Get["/scheduledjobs", true] = async (x, ct) => await GetScheduledJobs();
|
||||||
Post["/scheduledjobs", true] = async (x, ct) => await SaveScheduledJobs();
|
Post["/scheduledjobs", true] = async (x, ct) => await SaveScheduledJobs();
|
||||||
|
|
||||||
|
Post["/clearlogs", true] = async (x, ct) => await ClearLogs();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<Negotiator> Authentication()
|
private async Task<Negotiator> Authentication()
|
||||||
|
@ -888,5 +892,23 @@ namespace PlexRequests.UI.Modules
|
||||||
? new JsonResponseModel { Result = true }
|
? new JsonResponseModel { Result = true }
|
||||||
: new JsonResponseModel { Result = false, Message = "Could not save to Db Please check the logs" });
|
: new JsonResponseModel { Result = false, Message = "Could not save to Db Please check the logs" });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task<Response> ClearLogs()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var allLogs = await LogsRepo.GetAllAsync();
|
||||||
|
foreach (var logEntity in allLogs)
|
||||||
|
{
|
||||||
|
await LogsRepo.DeleteAsync(logEntity);
|
||||||
|
}
|
||||||
|
return Response.AsJson(new JsonResponseModel { Result = true });
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Log.Error(e);
|
||||||
|
return Response.AsJson(new JsonResponseModel { Result = false, Message = e.Message });
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,123 +1,151 @@
|
||||||
@using PlexRequests.UI.Helpers
|
@using PlexRequests.UI.Helpers
|
||||||
@Html.Partial("_Sidebar")
|
@Html.Partial("_Sidebar")
|
||||||
@Html.LoadTableAssets()
|
@Html.LoadTableAssets()
|
||||||
|
|
||||||
@{
|
@{
|
||||||
var baseUrl = Html.GetBaseUrl();
|
var baseUrl = Html.GetBaseUrl();
|
||||||
var formAction = "/admin/loglevel";
|
var formAction = "/admin/loglevel";
|
||||||
if (!string.IsNullOrEmpty(baseUrl.ToHtmlString()))
|
var clearAction = "/admin/clearlogs";
|
||||||
{
|
if (!string.IsNullOrEmpty(baseUrl.ToHtmlString()))
|
||||||
formAction = "/" + baseUrl.ToHtmlString() + formAction;
|
{
|
||||||
}
|
formAction = "/" + baseUrl.ToHtmlString() + formAction;
|
||||||
}
|
clearAction = "/" + baseUrl.ToHtmlString() + clearAction;
|
||||||
|
}
|
||||||
<div class="col-sm-8 col-sm-push-1">
|
}
|
||||||
<fieldset>
|
|
||||||
<legend>Logs</legend>
|
<div class="col-sm-8 col-sm-push-1">
|
||||||
<form method="post" id="mainForm" action="@formAction">
|
<fieldset>
|
||||||
<div class="form-group">
|
<legend>Logs</legend>
|
||||||
<label for="logLevel" class="control-label">Log Level</label>
|
<form method="post" id="mainForm" action="@formAction">
|
||||||
<div id="logLevel">
|
<div class="form-group">
|
||||||
<select class="form-control" id="selected">
|
<label for="logLevel" class="control-label">Log Level</label>
|
||||||
<option id="Trace" value="0">Trace</option>
|
<div id="logLevel">
|
||||||
<option id="Debug" value="1">Debug</option>
|
<select class="form-control" id="selected">
|
||||||
<option id="Info" value="2">Info</option>
|
<option id="Trace" value="0">Trace</option>
|
||||||
<option id="Warn" value="3">Warn</option>
|
<option id="Debug" value="1">Debug</option>
|
||||||
<option id="Error" value="4">Error</option>
|
<option id="Info" value="2">Info</option>
|
||||||
<option id="Fatal" value="5">Fatal</option>
|
<option id="Warn" value="3">Warn</option>
|
||||||
</select>
|
<option id="Error" value="4">Error</option>
|
||||||
</div>
|
<option id="Fatal" value="5">Fatal</option>
|
||||||
</div>
|
</select>
|
||||||
<div class="form-group">
|
</div>
|
||||||
<div>
|
</div>
|
||||||
<button id="save" type="submit" class="btn btn-primary-outline ">Submit</button>
|
<div class="form-group">
|
||||||
</div>
|
<div>
|
||||||
</div>
|
<button id="save" type="submit" class="btn btn-primary-outline ">Submit</button>
|
||||||
</form>
|
</div>
|
||||||
|
</div>
|
||||||
<table id="example" class="table table-striped table-hover table-responsive">
|
</form>
|
||||||
<thead>
|
|
||||||
<tr>
|
<form method="post" id="clearForm" action="@clearAction">
|
||||||
<th>Message</th>
|
<button id="clearLogs" type="submit" class="btn btn-danger-outline ">Clear Logs</button>
|
||||||
<th>Area</th>
|
</form>
|
||||||
<th>Log Level</th>
|
|
||||||
<th>Date</th>
|
<table id="example" class="table table-striped table-hover table-responsive">
|
||||||
</tr>
|
<thead>
|
||||||
</thead>
|
<tr>
|
||||||
|
<th>Message</th>
|
||||||
</table>
|
<th>Area</th>
|
||||||
</fieldset>
|
<th>Log Level</th>
|
||||||
</div>
|
<th>Date</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
<script>
|
</table>
|
||||||
$(function () {
|
</fieldset>
|
||||||
var baseUrl = '@Html.GetBaseUrl()';
|
</div>
|
||||||
|
|
||||||
var logsUrl = "/admin/loadlogs";
|
|
||||||
var url = createBaseUrl(baseUrl, logsUrl);
|
|
||||||
$('#example').DataTable({
|
<script>
|
||||||
"ajax": url,
|
$(function () {
|
||||||
"columns": [
|
var baseUrl = '@Html.GetBaseUrl()';
|
||||||
{ "data": "message" },
|
|
||||||
{ "data": "logger" },
|
var logsUrl = "/admin/loadlogs";
|
||||||
{ "data": "level" },
|
var url = createBaseUrl(baseUrl, logsUrl);
|
||||||
{ "data": "dateString" }
|
$('#example').DataTable({
|
||||||
],
|
"ajax": url,
|
||||||
"order": [[3, "desc"]]
|
"columns": [
|
||||||
});
|
{ "data": "message" },
|
||||||
|
{ "data": "logger" },
|
||||||
|
{ "data": "level" },
|
||||||
var logUrl = "/admin/loglevel";
|
{ "data": "dateString" }
|
||||||
logUrl = createBaseUrl(baseUrl, logUrl);
|
],
|
||||||
$.ajax({
|
"order": [[3, "desc"]]
|
||||||
type: "get",
|
});
|
||||||
url: logUrl,
|
|
||||||
dataType: "json",
|
|
||||||
success: function (response) {
|
var logUrl = "/admin/loglevel";
|
||||||
if (response && response.length > 0) {
|
logUrl = createBaseUrl(baseUrl, logUrl);
|
||||||
$("#selected > option").each(function (level) {
|
$.ajax({
|
||||||
var $opt = $(this);
|
type: "get",
|
||||||
if (response[0].ordinal == level) {
|
url: logUrl,
|
||||||
$opt.prop("selected", "selected");
|
dataType: "json",
|
||||||
}
|
success: function (response) {
|
||||||
});
|
if (response && response.length > 0) {
|
||||||
}
|
$("#selected > option").each(function (level) {
|
||||||
},
|
var $opt = $(this);
|
||||||
error: function (e) {
|
if (response[0].ordinal == level) {
|
||||||
console.log(e);
|
$opt.prop("selected", "selected");
|
||||||
generateNotify("Something went wrong!", "danger");
|
}
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
|
},
|
||||||
$('#save').click(function (e) {
|
error: function (e) {
|
||||||
e.preventDefault();
|
console.log(e);
|
||||||
|
generateNotify("Something went wrong!", "danger");
|
||||||
var logLevel = $("#logLevel option:selected").val();
|
}
|
||||||
|
});
|
||||||
var $form = $("#mainForm");
|
|
||||||
var data = "level=" + logLevel;
|
$('#save').click(function (e) {
|
||||||
|
e.preventDefault();
|
||||||
$.ajax({
|
|
||||||
type: $form.prop("method"),
|
var logLevel = $("#logLevel option:selected").val();
|
||||||
data: data,
|
|
||||||
url: $form.prop("action"),
|
var $form = $("#mainForm");
|
||||||
dataType: "json",
|
var data = "level=" + logLevel;
|
||||||
success: function (response) {
|
|
||||||
if (response.result === true) {
|
$.ajax({
|
||||||
generateNotify(response.message, "success");
|
type: $form.prop("method"),
|
||||||
} else {
|
data: data,
|
||||||
generateNotify(response.message, "warning");
|
url: $form.prop("action"),
|
||||||
}
|
dataType: "json",
|
||||||
},
|
success: function (response) {
|
||||||
error: function (e) {
|
if (response.result === true) {
|
||||||
console.log(e);
|
generateNotify(response.message, "success");
|
||||||
generateNotify("Something went wrong!", "danger");
|
} else {
|
||||||
}
|
generateNotify(response.message, "warning");
|
||||||
});
|
}
|
||||||
});
|
},
|
||||||
|
error: function (e) {
|
||||||
|
console.log(e);
|
||||||
});
|
generateNotify("Something went wrong!", "danger");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#clearLogs').click(function() {
|
||||||
|
e.preventDefault();
|
||||||
|
var $form = $("#clearForm");
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: $form.prop("method"),
|
||||||
|
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>
|
</script>
|
Loading…
Add table
Add a link
Reference in a new issue