v7.2.4.0: Update requirements and refactor date formatting function

The requirements for el9, deb, and main have been updated to specifically use version 2.27.1 of the "requests" package. In addition, the date formatting function get_time_zoned_date in common.py has been refactored. The default format for the date has been moved to the function arguments, and the function now also checks if the provided date is an instance of datetime before processing it.
pull/381/head
Aidaho 2024-04-18 09:58:32 +03:00
parent 5b98f1b611
commit 1954b60e13
33 changed files with 47 additions and 45 deletions

View File

@ -40,6 +40,8 @@ def get_time_zoned_date(date: datetime, fmt: str = '%Y-%m-%d %H:%M:%S') -> str:
:rtype: str :rtype: str
""" """
date_format = '%Y-%m-%d %H:%M:%S' date_format = '%Y-%m-%d %H:%M:%S'
if not fmt:
fmt = date_format
if not isinstance(date, datetime): if not isinstance(date, datetime):
date = datetime.strptime(date, date_format) date = datetime.strptime(date, date_format)
native = _convert_to_time_zone(date) native = _convert_to_time_zone(date)

View File

@ -10,7 +10,7 @@ function showHapserversCallBack(serv, hostnamea, service) {
$.ajax( { $.ajax( {
url: "/app/service/" + service + "/" + serv + "/last-edit", url: "/app/service/" + service + "/" + serv + "/last-edit",
beforeSend: function() { beforeSend: function() {
$("#edit_date_"+hostnamea).html('<img class="loading_small_haproxyservers" src="/app/static/images/loading.gif" />'); $("#edit_date_"+hostnamea).html('<img class="loading_small_haproxyservers" src="/images/loading.gif" />');
}, },
type: "GET", type: "GET",
success: function( data ) { success: function( data ) {
@ -32,7 +32,7 @@ function overviewHapserverBackends(serv, hostnamea, service) {
$.ajax( { $.ajax( {
url: "/app/service/" + service + "/backends/" + serv[0], url: "/app/service/" + service + "/backends/" + serv[0],
beforeSend: function() { beforeSend: function() {
$("#top-"+hostnamea).html('<img class="loading_small" style="padding-left: 45%;" src="/app/static/images/loading.gif" />'); $("#top-"+hostnamea).html('<img class="loading_small" style="padding-left: 45%;" src="/images/loading.gif" />');
}, },
success: function( data ) { success: function( data ) {
if (data.indexOf('error:') != '-1') { if (data.indexOf('error:') != '-1') {
@ -59,7 +59,7 @@ function showOverviewCallBack(serv, hostnamea) {
$.ajax( { $.ajax( {
url: "/app/overview/server/"+serv, url: "/app/overview/server/"+serv,
beforeSend: function() { beforeSend: function() {
$("#"+hostnamea).html('<img class="loading_small" src="/app/static/images/loading.gif" />'); $("#"+hostnamea).html('<img class="loading_small" src="/images/loading.gif" />');
}, },
type: "GET", type: "GET",
success: function( data ) { success: function( data ) {
@ -77,7 +77,7 @@ function showServicesOverview() {
$.ajax( { $.ajax( {
url: "/app/overview/services", url: "/app/overview/services",
beforeSend: function() { beforeSend: function() {
$("#services_ovw").html('<img class="loading_small_bin_bout" style="padding-left: 100%;padding-top: 40px;padding-bottom: 40px;" src="/app/static/images/loading.gif" />'); $("#services_ovw").html('<img class="loading_small_bin_bout" style="padding-left: 100%;padding-top: 40px;padding-bottom: 40px;" src="/images/loading.gif" />');
}, },
type: "GET", type: "GET",
@ -321,8 +321,8 @@ function showBytes(serv) {
}, },
type: "POST", type: "POST",
beforeSend: function() { beforeSend: function() {
$("#show_bin_bout").html('<img class="loading_small_bin_bout" src="/app/static/images/loading.gif" />'); $("#show_bin_bout").html('<img class="loading_small_bin_bout" src="/images/loading.gif" />');
$("#sessions").html('<img class="loading_small_bin_bout" src="/app/static/images/loading.gif" />'); $("#sessions").html('<img class="loading_small_bin_bout" src="/images/loading.gif" />');
}, },
success: function( data ) { success: function( data ) {
data = data.replace(/\s+/g,' '); data = data.replace(/\s+/g,' ');
@ -343,7 +343,7 @@ function showNginxConnections(serv) {
}, },
type: "POST", type: "POST",
beforeSend: function() { beforeSend: function() {
$("#sessions").html('<img class="loading_small_bin_bout" src="/app/static/images/loading.gif" />'); $("#sessions").html('<img class="loading_small_bin_bout" src="/images/loading.gif" />');
}, },
success: function( data ) { success: function( data ) {
data = data.replace(/\s+/g,' '); data = data.replace(/\s+/g,' ');
@ -364,7 +364,7 @@ function showApachekBytes(serv) {
}, },
type: "POST", type: "POST",
beforeSend: function() { beforeSend: function() {
$("#sessions").html('<img class="loading_small_bin_bout" src="/app/static/images/loading.gif" />'); $("#sessions").html('<img class="loading_small_bin_bout" src="/images/loading.gif" />');
}, },
success: function( data ) { success: function( data ) {
data = data.replace(/\s+/g,' '); data = data.replace(/\s+/g,' ');
@ -385,7 +385,7 @@ function keepalivedBecameMaster(serv) {
}, },
type: "POST", type: "POST",
beforeSend: function() { beforeSend: function() {
$("#bin_bout").html('<img class="loading_small_bin_bout" src="/app/static/images/loading.gif" />'); $("#bin_bout").html('<img class="loading_small_bin_bout" src="/images/loading.gif" />');
}, },
success: function( data ) { success: function( data ) {
data = data.replace(/\s+/g,' '); data = data.replace(/\s+/g,' ');
@ -407,7 +407,7 @@ function showUsersOverview() {
// }, // },
type: "GET", type: "GET",
beforeSend: function() { beforeSend: function() {
$("#users-table").html('<img class="loading_small_bin_bout" style="padding-left: 100%;padding-top: 40px;padding-bottom: 40px;" src="/app/static/images/loading.gif" />'); $("#users-table").html('<img class="loading_small_bin_bout" style="padding-left: 100%;padding-top: 40px;padding-bottom: 40px;" src="/images/loading.gif" />');
}, },
success: function( data ) { success: function( data ) {
data = data.replace(/\s+/g,' '); data = data.replace(/\s+/g,' ');
@ -428,7 +428,7 @@ function showSubOverview() {
// }, // },
type: "GET", type: "GET",
beforeSend: function() { beforeSend: function() {
$("#sub-table").html('<img class="loading_small_bin_bout" style="padding-left: 40%;padding-top: 40px;padding-bottom: 40px;" src="/app/static/images/loading.gif" />'); $("#sub-table").html('<img class="loading_small_bin_bout" style="padding-left: 40%;padding-top: 40px;padding-bottom: 40px;" src="/images/loading.gif" />');
}, },
success: function( data ) { success: function( data ) {
data = data.replace(/\s+/g,' '); data = data.replace(/\s+/g,' ');
@ -576,13 +576,13 @@ function ShowOverviewLogs() {
url: "/app/overview/logs", url: "/app/overview/logs",
type: "GET", type: "GET",
beforeSend: function() { beforeSend: function() {
$("#overview-logs").html('<img class="loading_small_bin_bout" style="padding-left: 40%;padding-top: 40px;padding-bottom: 40px;" src="/app/static/images/loading.gif" />'); $("#overview-logs").html('<img class="loading_small_bin_bout" style="padding-left: 40%;padding-top: 40px;padding-bottom: 40px;" src="/images/loading.gif" />');
}, },
success: function( data ) { success: function( data ) {
data = data.replace(/\s+/g,' '); data = data.replace(/\s+/g,' ');
$("#overview-logs").html(data); $("#overview-logs").html(data);
$.getScript("/inc/fontawesome.min.js") $.getScript("/inc/fontawesome.min.js")
$.getScript("/inc/overview.js") $.getScript("/app/static/js/overview.js")
} }
} ); } );
} }

View File

@ -1,6 +1,6 @@
var awesome = "/inc/fontawesome.min.js" var awesome = "/inc/fontawesome.min.js"
var waf = "/app/static/js/waf.js" var waf = "/app/static/js/waf.js"
var overview = "/inc/overview.js" var overview = "/app/static/js/overview.js"
function showOverviewWaf(serv, hostnamea) { function showOverviewWaf(serv, hostnamea) {
var service = cur_url[1]; var service = cur_url[1];
if (service == 'haproxy') { if (service == 'haproxy') {

View File

@ -20,7 +20,7 @@
{% set header_params = {'add-header': 'add-header', 'set-header': 'set-header', 'del-header': 'del-header'} %} {% set header_params = {'add-header': 'add-header', 'set-header': 'set-header', 'del-header': 'del-header'} %}
{% set if_values = {'1':'Host name starts with','2':'Host name ends with','3':'Path starts with','4':'Path ends with', '6': 'Src ip'} %} {% set if_values = {'1':'Host name starts with','2':'Host name ends with','3':'Path starts with','4':'Path ends with', '6': 'Src ip'} %}
<script src="/inc/add.js"></script> <script src="/app/static/js/add.js"></script>
<div id="tabs"> <div id="tabs">
<ul> <ul>
<li><a href="#create" title="{{lang.words.add|title()}} {{lang.words.proxy}}: {{lang.words.create|title()}} {{lang.words.proxy}} - Roxy-WI">{{lang.words.create|title()}} {{lang.words.proxy}}</a></li> <li><a href="#create" title="{{lang.words.add|title()}} {{lang.words.proxy}}: {{lang.words.create|title()}} {{lang.words.proxy}} - Roxy-WI">{{lang.words.create|title()}} {{lang.words.proxy}}</a></li>

View File

@ -5,7 +5,7 @@
{% from 'include/input_macros.html' import input, checkbox, select %} {% from 'include/input_macros.html' import input, checkbox, select %}
{% set balance_params = dict() %} {% set balance_params = dict() %}
{% set balance_params = {'ip_hash':'ip_hash','least_conn':'least_conn','random':'random', 'round_robin': 'round-robin'} %} {% set balance_params = {'ip_hash':'ip_hash','least_conn':'least_conn','random':'random', 'round_robin': 'round-robin'} %}
<script src="/inc/add_nginx.js"></script> <script src="/app/static/js/add_nginx.js"></script>
<div id="tabs"> <div id="tabs">
<ul> <ul>
<li><a href="#create" title="{{lang.words.add|title()}} {{lang.words.proxy}}: {{lang.words.add|title()}} {{lang.words.proxy}} - Roxy-WI">{{lang.words.add|title()}} {{lang.words.proxy}}</a></li> <li><a href="#create" title="{{lang.words.add|title()}} {{lang.words.proxy}}: {{lang.words.add|title()}} {{lang.words.proxy}} - Roxy-WI">{{lang.words.add|title()}} {{lang.words.proxy}}</a></li>

View File

@ -24,7 +24,7 @@
<script src="/inc/codemirror/mode/nginx.js"></script> <script src="/inc/codemirror/mode/nginx.js"></script>
<script src="/inc/codemirror/mode/haproxy.js"></script> <script src="/inc/codemirror/mode/haproxy.js"></script>
<script src="/inc/codemirror/keymap/sublime.js"></script> <script src="/inc/codemirror/keymap/sublime.js"></script>
<script src="/inc/configshow.js"></script> <script src="/app/static/js/configshow.js"></script>
{% if is_serv_protected and g.user_params['role'] > 2 %} {% if is_serv_protected and g.user_params['role'] > 2 %}
<meta http-equiv="refresh" content="0; url=/app/service"> <meta http-equiv="refresh" content="0; url=/app/service">
{% else %} {% else %}

View File

@ -5,7 +5,7 @@
{% from 'include/input_macros.html' import input, checkbox, copy_to_clipboard %} {% from 'include/input_macros.html' import input, checkbox, copy_to_clipboard %}
<script src="/inc/users.js"></script> <script src="/inc/users.js"></script>
<script src="/app/static/js/ha.js"></script> <script src="/app/static/js/ha.js"></script>
<script src="/inc/overview.js"></script> <script src="/app/static/js/overview.js"></script>
<link href="{{ url_for('static', filename='css/servers.css') }}" rel="stylesheet"/> <link href="{{ url_for('static', filename='css/servers.css') }}" rel="stylesheet"/>
<link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet">
<link href="{{ url_for('static', filename='css/ha.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/ha.css') }}" rel="stylesheet">

View File

@ -12,7 +12,7 @@
'smon': 'SMON', 'smon': 'SMON',
} }
%} %}
<script defer src="/inc/admin_settings.js"></script> <script defer src="/app/static/js/admin_settings.js"></script>
<table id="settings"> <table id="settings">
<tbody> <tbody>
{% set section = namespace(section='') %} {% set section = namespace(section='') %}

View File

@ -39,10 +39,10 @@
<script src="/inc/jquery-ui.min.js"></script> <script src="/inc/jquery-ui.min.js"></script>
<script src="/inc/js.cookie.min.js"></script> <script src="/inc/js.cookie.min.js"></script>
<script src="/inc/reconnecting-websocket.js"></script> <script src="/inc/reconnecting-websocket.js"></script>
<script src="/inc/hotkeys.js"></script> <script src="/app/static/js/hotkeys.js"></script>
<link href="{{ url_for('static', filename='css/select2.css') }}" rel="stylesheet" /> <link href="{{ url_for('static', filename='css/select2.css') }}" rel="stylesheet" />
<script src="/inc/select2.js"></script> <script src="/app/static/js/select2.js"></script>
<script src="/inc/script.js"></script> <script src="/inc/script.js"></script>
<script src="/inc/nprogress.js"></script> <script src="/app/static/js/nprogress.js"></script>
<link href="{{ url_for('static', filename='css/toastr-6.3.9.css') }}" rel="stylesheet"/> <link href="{{ url_for('static', filename='css/toastr-6.3.9.css') }}" rel="stylesheet"/>
<script src="/inc/toastr.js"></script> <script src="/inc/toastr.js"></script>

View File

@ -10,7 +10,7 @@
<link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet">
<link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet">
<script src="/inc/chart.min-4.3.0.js"></script> <script src="/inc/chart.min-4.3.0.js"></script>
<script src="/inc/smon.js"></script> <script src="/app/static/js/smon.js"></script>
<div class="row wrap1"> <div class="row wrap1">
{% for s in smon %} {% for s in smon %}
<div id="smon_name" class="col-md-8"> <div id="smon_name" class="col-md-8">

View File

@ -16,7 +16,7 @@
} }
</style> </style>
<link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet">
<script src="/inc/metrics.js"></script> <script src="/app/static/js/metrics.js"></script>
<script src="/inc/chart.min-4.3.0.js"></script> <script src="/inc/chart.min-4.3.0.js"></script>
<input type="hidden" id="service" value="{{service}}"> <input type="hidden" id="service" value="{{service}}">
{% if user_subscription['user_status'] == 0 %} {% if user_subscription['user_status'] == 0 %}

View File

@ -3,9 +3,9 @@
{% block h2 %}{{lang.menu_links.overview.h2}}{% endblock %} {% block h2 %}{{lang.menu_links.overview.h2}}{% endblock %}
{% block content %} {% block content %}
<link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet">
<script src="/inc/metrics.js"></script> <script src="/app/static/js/metrics.js"></script>
<script src="/inc/chart.min-4.3.0.js"></script> <script src="/inc/chart.min-4.3.0.js"></script>
<script src="/inc/overview.js"></script> <script src="/app/static/js/overview.js"></script>
<script> <script>
$("#secIntervals").css("display", "none"); $("#secIntervals").css("display", "none");
var ip = [] var ip = []

View File

@ -3,7 +3,7 @@
{% block h2 %}{{ lang.p_s_page.p_s_title }}{% endblock %} {% block h2 %}{{ lang.p_s_page.p_s_title }}{% endblock %}
{% block content %} {% block content %}
{% from 'include/input_macros.html' import input, checkbox, select %} {% from 'include/input_macros.html' import input, checkbox, select %}
<script src="/inc/overview.js"></script> <script src="/app/static/js/overview.js"></script>
<style> <style>
.alert-danger { .alert-danger {
width: 250px; width: 250px;

View File

@ -5,7 +5,7 @@
{% from 'include/input_macros.html' import input, checkbox, select %} {% from 'include/input_macros.html' import input, checkbox, select %}
<link href="{{ url_for('static', filename='css/table-6.3.9.css') }}" rel="stylesheet" type="text/css"> <link href="{{ url_for('static', filename='css/table-6.3.9.css') }}" rel="stylesheet" type="text/css">
<script type="text/javascript" charset="utf8" src="/inc/dataTables.min.js"></script> <script type="text/javascript" charset="utf8" src="/inc/dataTables.min.js"></script>
<script type="text/javascript" charset="utf8" src="/inc/runtimeapi.js"></script> <script type="text/javascript" charset="utf8" src="/app/static/js/runtimeapi.js"></script>
<div id="tabs"> <div id="tabs">
<ul> <ul>
<li><a href="#runtimeapi" title="Runtime API - Roxy-WI">Runtime API</a></li> <li><a href="#runtimeapi" title="Runtime API - Roxy-WI">Runtime API</a></li>

View File

@ -26,7 +26,7 @@
<script src="/inc/codemirror/addon/scroll/annotatescrollbar.js"></script> <script src="/inc/codemirror/addon/scroll/annotatescrollbar.js"></script>
<script src="/inc/codemirror/mode/haproxy.js"></script> <script src="/inc/codemirror/mode/haproxy.js"></script>
<script src="/inc/codemirror/keymap/sublime.js"></script> <script src="/inc/codemirror/keymap/sublime.js"></script>
<script src="/inc/configshow.js"></script> <script src="/app/static/js/configshow.js"></script>
<div class="left-space" style="margin-top: var(--indent);"> <div class="left-space" style="margin-top: var(--indent);">
<select autofocus required name="section" id="section"> <select autofocus required name="section" id="section">
<option disabled>------</option> <option disabled>------</option>

View File

@ -3,9 +3,9 @@
{% block h2 %}{{ lang.menu_links.hapservers.h2 }} {{ service_desc.service }}{% endblock %} {% block h2 %}{{ lang.menu_links.hapservers.h2 }} {{ service_desc.service }}{% endblock %}
{% block content %} {% block content %}
{% from 'include/input_macros.html' import input, checkbox, select, copy_to_clipboard %} {% from 'include/input_macros.html' import input, checkbox, select, copy_to_clipboard %}
<script src="/inc/overview.js"></script> <script src="/app/static/js/overview.js"></script>
<link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet">
<script src="/inc/metrics.js"></script> <script src="/app/static/js/metrics.js"></script>
<script src="/inc/chart.min-4.3.0.js"></script> <script src="/inc/chart.min-4.3.0.js"></script>
{% if servers|length == 0 %} {% include 'include/getstarted.html' %} {% endif %} {% if servers|length == 0 %} {% include 'include/getstarted.html' %} {% endif %}
<style> <style>

View File

@ -3,7 +3,7 @@
{% block h2 %}{{ lang.menu_links.monitoring.smon.agent }}{% endblock %} {% block h2 %}{{ lang.menu_links.monitoring.smon.agent }}{% endblock %}
{% block content %} {% block content %}
{% from 'include/input_macros.html' import input, select %} {% from 'include/input_macros.html' import input, select %}
<script src="/inc/smon.js"></script> <script src="/app/static/js/smon.js"></script>
<script src="/inc/jquery.timeago.js" type="text/javascript"></script> <script src="/inc/jquery.timeago.js" type="text/javascript"></script>
<link href="{{ url_for('static', filename='css/servers.css') }}" rel="stylesheet"/> <link href="{{ url_for('static', filename='css/servers.css') }}" rel="stylesheet"/>
<link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet"/> <link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet"/>

View File

@ -3,7 +3,7 @@
{% block h2 %}{{ lang.menu_links.monitoring.smon.dashboard }}{% endblock %} {% block h2 %}{{ lang.menu_links.monitoring.smon.dashboard }}{% endblock %}
{% from 'include/input_macros.html' import input, checkbox, select %} {% from 'include/input_macros.html' import input, checkbox, select %}
{% block content %} {% block content %}
<script src="/inc/smon.js"></script> <script src="/app/static/js/smon.js"></script>
<script src="/inc/users.js"></script> <script src="/inc/users.js"></script>
<script src="/inc/fontawesome.min.js"></script> <script src="/inc/fontawesome.min.js"></script>
<script src="/inc/jquery.timeago.js" type="text/javascript"></script> <script src="/inc/jquery.timeago.js" type="text/javascript"></script>

View File

@ -3,7 +3,7 @@
{% block h2 %}{{ lang.menu_links.monitoring.smon.status_page }}{% endblock %} {% block h2 %}{{ lang.menu_links.monitoring.smon.status_page }}{% endblock %}
{% block content %} {% block content %}
{% from 'include/input_macros.html' import input, select %} {% from 'include/input_macros.html' import input, select %}
<script src="/inc/smon.js"></script> <script src="/app/static/js/smon.js"></script>
<link href="{{ url_for('static', filename='css/servers.css') }}" rel="stylesheet"/> <link href="{{ url_for('static', filename='css/servers.css') }}" rel="stylesheet"/>
<link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet"/> <link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet"/>

View File

@ -31,7 +31,7 @@
<link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/smon.css') }}" rel="stylesheet">
<script src="/inc/jquery-3.6.0.min.js"></script> <script src="/inc/jquery-3.6.0.min.js"></script>
<script src="/inc/jquery-ui.min.js"></script> <script src="/inc/jquery-ui.min.js"></script>
<script src="/inc/smon.js"></script> <script src="/app/static/js/smon.js"></script>
<link href="{{ url_for('static', filename='css/toastr-6.3.9.css') }}" rel="stylesheet"/> <link href="{{ url_for('static', filename='css/toastr-6.3.9.css') }}" rel="stylesheet"/>
<script src="/inc/toastr.js"></script> <script src="/inc/toastr.js"></script>
</head> </head>

View File

@ -71,7 +71,7 @@
<script src="/inc/codemirror/mode/nginx.js"></script> <script src="/inc/codemirror/mode/nginx.js"></script>
<script src="/inc/codemirror/mode/haproxy.js"></script> <script src="/inc/codemirror/mode/haproxy.js"></script>
<script src="/inc/codemirror/keymap/sublime.js"></script> <script src="/inc/codemirror/keymap/sublime.js"></script>
<script src="/inc/configshow.js"></script> <script src="/app/static/js/configshow.js"></script>
<h4>{{lang.words.config|title()}} {{waf_rule_file}} {{lang.words.from|title()}} {{ serv }}</h4> <h4>{{lang.words.config|title()}} {{waf_rule_file}} {{lang.words.from|title()}} {{ serv }}</h4>
<form action="/app/waf/{{service}}/{{serv}}/rule/{{waf_rule_id}}/save" name="saveconfig" id="saveconfig" method="post"> <form action="/app/waf/{{service}}/{{serv}}/rule/{{waf_rule_id}}/save" name="saveconfig" id="saveconfig" method="post">
<input type="hidden" value="{{ serv }}" name="serv"> <input type="hidden" value="{{ serv }}" name="serv">
@ -177,8 +177,8 @@
</table> </table>
{% if service == 'haproxy' %} {% if service == 'haproxy' %}
<link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/chart.min.css') }}" rel="stylesheet">
<script src="/inc/overview.js"></script> <script src="/app/static/js/overview.js"></script>
<script src="/inc/metrics.js"></script> <script src="/app/static/js/metrics.js"></script>
<script src="/inc/chart.min-4.3.0.js"></script> <script src="/inc/chart.min-4.3.0.js"></script>
<div id="table_metrics"></div> <div id="table_metrics"></div>
<div class="metrics-time-range"> <div class="metrics-time-range">

View File

@ -182,7 +182,7 @@ if(localStorage.getItem('restart')) {
} else { } else {
$('#' + apply_div).html("You have made changes to the server: " + ip_for_restart + ". Changes will take effect only after restart. <a href='service' title='Overview'>Go to the HAProxy Overview page and restart</a><a href='#' title='close' id='apply_close' style='float: right'><b>X</b></a>"); $('#' + apply_div).html("You have made changes to the server: " + ip_for_restart + ". Changes will take effect only after restart. <a href='service' title='Overview'>Go to the HAProxy Overview page and restart</a><a href='#' title='close' id='apply_close' style='float: right'><b>X</b></a>");
} }
$.getScript('/inc/overview.js'); $.getScript('/app/static/js/overview.js');
} }
} }
}); });
@ -436,7 +436,7 @@ function showRemoteLogFiles() {
} else { } else {
toastr.clear(); toastr.clear();
$("#remote_log_files").html(data); $("#remote_log_files").html(data);
$.getScript('/inc/configshow.js'); $.getScript('/app/static/js/configshow.js');
} }
} }
} ); } );
@ -538,7 +538,7 @@ function showConfig() {
} else { } else {
toastr.clear(); toastr.clear();
$("#ajax").html(data); $("#ajax").html(data);
$.getScript('/inc/configshow.js'); $.getScript('/app/static/js/configshow.js');
window.history.pushState("Show config", "Show config", "/app/config/" + service + "/" + $("#serv").val() + "/show/" + config_file_name); window.history.pushState("Show config", "Show config", "/app/config/" + service + "/" + $("#serv").val() + "/show/" + config_file_name);
} }
} }
@ -607,7 +607,7 @@ function showUploadConfig() {
toastr.clear(); toastr.clear();
$("#ajax").html(data); $("#ajax").html(data);
window.history.pushState("Show config", "Show config", "/app/config/versions/" + service + "/" + serv + "/" + configver); window.history.pushState("Show config", "Show config", "/app/config/versions/" + service + "/" + serv + "/" + configver);
$.getScript('/inc/configshow.js'); $.getScript('/app/static/js/configshow.js');
} }
} }
} ); } );

View File

@ -35,12 +35,12 @@
<link href="/app/static/css/jquery-ui.structure.min.css" rel="stylesheet"> <link href="/app/static/css/jquery-ui.structure.min.css" rel="stylesheet">
<script src="/inc/jquery-3.6.0.min.js"></script> <script src="/inc/jquery-3.6.0.min.js"></script>
<script src="/inc/jquery-ui.min.js"></script> <script src="/inc/jquery-ui.min.js"></script>
<script src="/inc/nprogress.js"></script> <script src="/app/static/js/nprogress.js"></script>
<script defer src="/inc/fa-solid.min.js"></script> <script defer src="/inc/fa-solid.min.js"></script>
<script defer src="/inc/fontawesome.min.js"></script> <script defer src="/inc/fontawesome.min.js"></script>
<link href="/app/static/css/awesome-6.3.9.css" rel="stylesheet"> <link href="/app/static/css/awesome-6.3.9.css" rel="stylesheet">
<link href="/app/static/css/chart.min.css" rel="stylesheet"> <link href="/app/static/css/chart.min.css" rel="stylesheet">
<script src="/inc/metrics.js"></script> <script src="/app/static/js/metrics.js"></script>
<script src="/inc/chart.min-4.3.0.js"></script> <script src="/inc/chart.min-4.3.0.js"></script>
<link rel="stylesheet" href="/inc/codemirror/lib/codemirror.css"> <link rel="stylesheet" href="/inc/codemirror/lib/codemirror.css">
<script src="/inc/codemirror/lib/codemirror.js"></script> <script src="/inc/codemirror/lib/codemirror.js"></script>
@ -51,7 +51,7 @@
<script src="/inc/toastr.js"></script> <script src="/inc/toastr.js"></script>
<script defer src="/inc/ion.sound.min.js"></script> <script defer src="/inc/ion.sound.min.js"></script>
<link href="/app/static/css/select2.css" rel="stylesheet" /> <link href="/app/static/css/select2.css" rel="stylesheet" />
<script src="/inc/select2.js"></script> <script src="/app/static/js/select2.js"></script>
<script src="/inc/reconnecting-websocket.js"></script> <script src="/inc/reconnecting-websocket.js"></script>
<link href="/app/static/css/table-6.3.9.css" rel="stylesheet" type="text/css"> <link href="/app/static/css/table-6.3.9.css" rel="stylesheet" type="text/css">
<script type="text/javascript" charset="utf8" src="/inc/dataTables.min.js"></script> <script type="text/javascript" charset="utf8" src="/inc/dataTables.min.js"></script>