Update
pull/145/head
Pavel Loginov 2019-09-14 11:13:45 +03:00
parent f9e54af897
commit 3c4f5282c6
29 changed files with 358 additions and 45 deletions

2
.github/FUNDING.yml vendored
View File

@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://www.paypal.me/haproxywi']
custom: ['https://paypal.me/loginovpavel']

View File

@ -27,6 +27,11 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
template = template.render(title = "Add",
role = sql.get_user_role_by_uuid(user_id.value),
@ -35,6 +40,7 @@ template = template.render(title = "Add",
add = form.getvalue('add'),
conf_add = form.getvalue('conf'),
group = user_group,
current_ver = current_ver,
token = token)
print(template)

View File

@ -27,6 +27,11 @@ try:
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')
white_dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')+"/"+user_group+"/white"
black_dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')+"/"+user_group+"/black"
@ -49,5 +54,6 @@ template = template.render(h2 = 1,
white_lists = white_lists,
black_lists = black_lists,
group = user_group,
current_ver = current_ver,
token = token)
print(template)

View File

@ -28,6 +28,11 @@ try:
role = sql.get_user_role_by_uuid(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
hap_configs_dir = funct.get_config_var('configs', 'haproxy_save_configs_dir')
@ -98,5 +103,6 @@ template = template.render(h2 = 1, title = "Working with HAProxy configs",
stderr = stderr,
error = error,
note = 1,
current_ver = current_ver,
token = token)
print(template)

View File

@ -27,6 +27,11 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
if serv is not None and form.getvalue('config') is not None:
configver = form.getvalue('configver')
@ -66,5 +71,6 @@ template = template.render(h2 = 1, title = "Old Versions HAProxy config",
onclick = "showUploadConfig()",
note = 1,
token = token,
current_ver = current_ver,
view = view)
print(template)

View File

@ -121,13 +121,14 @@ def create_table(**kwargs):
CREATE TABLE IF NOT EXISTS `telegram` (`id` integer primary key autoincrement, `token` VARCHAR ( 64 ), `chanel_name` INTEGER NOT NULL DEFAULT 1, `groups` INTEGER NOT NULL DEFAULT 1);
CREATE TABLE IF NOT EXISTS `metrics` (`serv` varchar(64), curr_con INTEGER, cur_ssl_con INTEGER, sess_rate INTEGER, max_sess_rate INTEGER,`date` timestamp default '0000-00-00 00:00:00');
CREATE TABLE IF NOT EXISTS `settings` (`param` varchar(64) UNIQUE, value varchar(64), section varchar(64), `desc` varchar(100));
CREATE TABLE IF NOT EXISTS `version` (`version` varchar(64));
"""
try:
cur.executescript(sql)
except sqltool.Error as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'column email is not unique' or e == "1060 (42S21): column email is not unique' ":
print('Updating... go to version 3.0<br />')
print('Updating... go to version 3.0')
else:
print("An error occurred:", e)
return False
@ -172,14 +173,22 @@ def update_db_v_31(**kwargs):
"INSERT INTO settings (param, value, section, `desc`) values('cert_path', '/etc/ssl/certs/', 'haproxy', 'Path to SSL dir');",
"INSERT INTO settings (param, value, section, `desc`) values('firewall_enable', '0', 'haproxy', 'If enable this option Haproxy-wi will be configure firewalld based on config port');",
"INSERT INTO settings (param, value, section, `desc`) values('lists_path', 'lists', 'main', 'Path to black/white lists');",
"INSERT INTO settings (param, value, section, `desc`) values('apache_log_path', '/var/log/httpd/', 'logs', 'Path to Apache logs');" ]
"INSERT INTO settings (param, value, section, `desc`) values('apache_log_path', '/var/log/httpd/', 'logs', 'Path to Apache logs');"
"INSERT INTO settings (param, value, section, `desc`) values('ldap_enable', '0', 'ldap', 'If 1 ldap enabled');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_server', '', 'ldap', 'IP address ldap server');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_port', '389', 'ldap', 'Default port is 389 or 636');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_user', '', 'ldap', 'Login for connect to LDAP server. Enter: user@domain.com');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_password', '', 'ldap', 'Password for connect to LDAP server');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_base', '', 'ldap', 'Base domain. Example: dc=domain, dc=com');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_domain', '', 'ldap', 'Domain for login, that after @, like user@domain.com, without user@');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_search_field', 'mail', 'ldap', 'Field where user e-mail saved'" ]
try:
for i in sql:
cur.execute(i)
con.commit()
except sqltool.Error as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'duplicate column name: desc' or e == "1060 (42S21): Duplicate column name 'desc' ":
if e.args[0] == 'column param is not unique' or e == "1060 (42S21): column param is not unique ":
print('Updating... go to version 3.2')
else:
print("An error occurred:", e)
@ -199,7 +208,7 @@ def update_db_v_3_2(**kwargs):
except sqltool.Error as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'duplicate column name: server_id' or e == "1060 (42S21): Duplicate column name 'server_id' ":
print('DB was updated')
print('Updating... go to version 3.2')
else:
print("An error occurred:", e.args[0])
return False
@ -258,44 +267,17 @@ def update_db_v_3_2_8(**kwargs):
except sqltool.Error as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'duplicate column name: desc' or e == " 1060 (42S21): Duplicate column name 'desc' ":
print('DB was update<br />')
print('Updating... go to version 3.3')
else:
print("An error occurred:", e)
return False
else:
print("DB was update to 3.2.8<br />")
print("DB was update to 3.2.8")
return True
cur.close()
con.close()
def update_db_v_3_3(**kwargs):
con, cur = get_cur()
sql = [ "INSERT INTO settings (param, value, section, `desc`) values('ldap_enable', '0', 'ldap', 'If 1 ldap enabled');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_server', '', 'ldap', 'IP address ldap server');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_port', '389', 'ldap', 'Default port is 389 or 636');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_user', '', 'ldap', 'Login for connect to LDAP server. Enter: user@domain.com');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_password', '', 'ldap', 'Password for connect to LDAP server');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_base', '', 'ldap', 'Base domain. Example: dc=domain, dc=com');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_domain', '', 'ldap', 'Domain for login, that after @, like user@domain.com, without user@');",
"INSERT INTO settings (param, value, section, `desc`) values('ldap_search_field', 'mail', 'ldap', 'Field where user e-mail saved');"]
try:
for i in sql:
cur.execute(i)
con.commit()
except sqltool.Error as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'duplicate column name: desc' or e == "1060 (42S21): Duplicate column name 'desc' ":
print('Updating... go to version 3.2')
else:
print("An error occurred:", e)
return False
else:
pass
return True
cur.close()
con.close()
def update_db_v_3_31(**kwargs):
con, cur = get_cur()
sql = """
@ -312,7 +294,7 @@ def update_db_v_3_31(**kwargs):
print("An error occurred:", e)
return False
else:
print("DB was update to 3.3<br />")
print("DB was update to 3.3")
return True
cur.close()
con.close()
@ -334,7 +316,7 @@ def update_db_v_3_4(**kwargs):
print("An error occurred:", e)
return False
else:
print("Updating... go to version 3.4.1<br />")
print("Updating... go to version 3.4.1")
return True
cur.close()
con.close()
@ -350,17 +332,60 @@ def update_db_v_3_4_1(**kwargs):
con.commit()
except sqltool.Error as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'duplicate column name: active' or e == " 1060 (42S21): Duplicate column name 'active' ":
print('Updating... go to version 3.4.1')
if e.args[0] == 'duplicate column name: activeuser' or e == " 1060 (42S21): Duplicate column name 'activeuser' ":
print('Updating... go to version 3.4.5.2')
else:
print("An error occurred:", e)
return False
else:
print("DB was update to 3.4.1<br />")
print("Updating... go to version 3.4.5.2")
return True
cur.close()
con.close()
def update_db_v_3_4_5_2(**kwargs):
con, cur = get_cur()
sql = """CREATE TABLE IF NOT EXISTS `version` (`version` varchar(64)); """
try:
cur.execute(sql)
con.commit()
except sqltool.Error as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'duplicate column name: version' or e == "1060 (42S21): Duplicate column name 'version' ":
print('Updating... go to version 2.6')
else:
print("DB was update to 3.4.5.2")
return False
else:
return True
cur.close()
con.close()
def update_db_v_3_4_5_22(**kwargs):
con, cur = get_cur()
sql = """insert into version ('version') values ('3.4.5.2'); """
try:
cur.execute(sql)
con.commit()
except sqltool.Error as e:
print('Cannot insert version')
cur.close()
con.close()
def update_ver(**kwargs):
con, cur = get_cur()
sql = """update version set version = '3.4.5.2'; """
try:
cur.execute(sql)
con.commit()
except sqltool.Error as e:
print('Cannot update version')
cur.close()
con.close()
def update_all():
update_db_v_31()
@ -368,10 +393,14 @@ def update_all():
update_db_v_3_21()
update_db_v_3_2_3()
update_db_v_3_2_8()
update_db_v_3_3()
update_db_v_3_31()
update_db_v_3_4()
update_db_v_3_4_1()
update_db_v_3_4_5_2()
if funct.check_ver() is None:
update_db_v_3_4_5_22()
update_ver()
def update_all_silent():
update_db_v_31(silent=1)
@ -379,10 +408,14 @@ def update_all_silent():
update_db_v_3_21(silent=1)
update_db_v_3_2_3(silent=1)
update_db_v_3_2_8(silent=1)
update_db_v_3_3(silent=1)
update_db_v_3_31(silent=1)
update_db_v_3_4(silent=1)
update_db_v_3_4_1(silent=1)
update_db_v_3_4_5_2(silent=1)
if funct.check_ver() is None:
update_db_v_3_4_5_22()
update_ver()
if __name__ == "__main__":
create_table()

View File

@ -27,6 +27,11 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
form = cgi.FieldStorage()
serv = form.getvalue('serv')
@ -58,5 +63,6 @@ output_from_parsed_template = template.render(h2 = 1, title = "Delete old versio
open = form.getvalue('open'),
Select = form.getvalue('del'),
file = file,
current_ver = current_ver,
token = token)
print(output_from_parsed_template)

View File

@ -24,6 +24,11 @@ try:
servbackend = ""
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
output_from_parsed_template = template.render(h2 = 1,
title = "Runtime API",
@ -34,5 +39,6 @@ output_from_parsed_template = template.render(h2 = 1,
selects = servers,
token = token,
serv = serv,
current_ver = current_ver,
servbackend = servbackend)
print(output_from_parsed_template)

View File

@ -292,6 +292,14 @@ def waf_install(serv, **kwargs):
stderr = ssh_command(serv, commands, print_out="1")
if stderr is None:
sql.insert_waf_metrics_enable(serv, "0")
def update_haproxy_wi():
cmd = 'sudo -S yum -y update haproxy-wi'
output, stderr = subprocess_execute(cmd)
print(output)
print(stderr)
def check_haproxy_version(serv):
import sql
@ -497,4 +505,28 @@ def get_files(dir = get_config_var('configs', 'haproxy_save_configs_dir'), forma
return files
def get_key(item):
return item[0]
return item[0]
def check_ver():
import sql
return sql.get_ver()
def check_new_version():
import urllib.request
import ssl
import sql
proxy = sql.get_setting('proxy')
context = ssl._create_unverified_context()
if proxy:
proxyDict = { "https" : proxy }
response = urllib.request.urlopen('https://haproxy-wi.org/update.py?last_ver=1', context=context, proxies=proxyDict)
else:
response = urllib.request.urlopen('https://haproxy-wi.org/update.py?last_ver=1', context=context)
res = response.read().decode(encoding='UTF-8')
return res

View File

@ -22,11 +22,17 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
output_from_parsed_template = template.render(h2 = 1, title = "Configure HA",
role = sql.get_user_role_by_uuid(user_id.value),
user = user,
serv = serv,
selects = servers,
current_ver = current_ver,
token = token)
print(output_from_parsed_template)

View File

@ -19,12 +19,18 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
output_from_parsed_template = template.render(h2 = 1, title = "Installation HAProxy",
role = sql.get_user_role_by_uuid(user_id.value),
user = user,
select_id = "haproxyaddserv",
selects = servers,
current_ver = current_ver,
token = token)
print(output_from_parsed_template)

View File

@ -31,6 +31,11 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
if serv is not None:
cfg = kp_save_configs_dir+ serv + '-' + funct.get_data('config') + '.conf'
@ -87,5 +92,6 @@ output_from_parsed_template = template.render(h2 = 1, title = "Edit Runnig Keepa
stderr = stderr,
error = error,
keepalived = 1,
current_ver = current_ver,
token = token)
print(output_from_parsed_template)

View File

@ -27,6 +27,11 @@ try:
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')
white_dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')+"/"+user_group+"/white"
black_dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')+"/"+user_group+"/black"
@ -49,5 +54,6 @@ template = template.render(h2 = 1,
white_lists = white_lists,
black_lists = black_lists,
group = user_group,
current_ver = current_ver,
token = token)
print(template)

View File

@ -113,6 +113,11 @@ except:
user = ""
pass
try:
current_ver = funct.check_ver()
except:
pass
if form.getvalue('logout'):
try:
sql.delete_uuid(user_id.value)
@ -161,5 +166,6 @@ output_from_parsed_template = template.render(h2 = 1, title = "Login page. Enter
error_log = error_log,
error = error,
ref = ref,
current_ver = current_ver,
db_create = db_create)
print(output_from_parsed_template)

View File

@ -30,6 +30,11 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
output_from_parsed_template = template.render(h2 = 1,
autorefresh = 1,
@ -42,6 +47,7 @@ output_from_parsed_template = template.render(h2 = 1,
serv = form.getvalue('serv'),
rows = rows,
grep = grep,
current_ver = current_ver,
token = token)
print(output_from_parsed_template)

View File

@ -18,6 +18,11 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
template = template.render(h2 = 1, title = "Metrics",
autorefresh = 1,
@ -25,5 +30,6 @@ template = template.render(h2 = 1, title = "Metrics",
user = user,
onclick = "metricsShow()",
table_stat = sql.select_table_metrics(user_id.value),
current_ver = current_ver,
token = token)
print(template)

View File

@ -402,6 +402,10 @@ if form.getvalue('haproxyaddserv'):
if form.getvalue('installwaf'):
funct.waf_install(form.getvalue('installwaf'))
if form.getvalue('update_haproxy_wi'):
funct.update_haproxy_wi()
if form.getvalue('metrics_waf'):
sql.update_waf_metrics_enable(form.getvalue('metrics_waf'), form.getvalue('enable'))

View File

@ -30,6 +30,11 @@ try:
metrics_worker, stderr = funct.subprocess_execute(cmd)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
template = template.render(h2 = 1,
autorefresh = 1,
@ -43,5 +48,6 @@ template = template.render(h2 = 1,
checker_master = ''.join(checker_master),
checker_worker = ''.join(checker_worker),
error = stderr,
current_ver = current_ver,
token = token)
print(template)

View File

@ -22,6 +22,11 @@ try:
ldap_enable = sql.get_setting('ldap_enable')
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
output_from_parsed_template = template.render(title = "Servers manage",
role = sql.get_user_role_by_uuid(user_id.value),
@ -35,5 +40,6 @@ output_from_parsed_template = template.render(title = "Servers manage",
sshs = sql.select_ssh(),
telegrams = sql.get_user_telegram_by_uuid(user_id.value),
token = token,
current_ver = current_ver,
ldap_enable = ldap_enable)
print(output_from_parsed_template)

View File

@ -21,10 +21,16 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
template = template.render(h2 = 1, title = "Settings",
role = sql.get_user_role_by_uuid(user_id.value),
user = user,
settings = settings,
current_ver = current_ver,
token = token)
print(template)

View File

@ -1088,6 +1088,20 @@ def update_setting(param, val):
cur.close()
con.close()
def get_ver():
con, cur = create_db.get_cur()
sql = """ select * from version; """
try:
cur.execute(sql)
except sqltool.Error as e:
out_error(e)
else:
for ver in cur.fetchall():
return ver[0]
cur.close()
con.close()
def show_update_telegram(token, page):
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates/ajax'))

View File

@ -108,6 +108,7 @@
<li><a href=/app/users.py#ssh title="Manage SSH credentials" class="admin head-submenu">SSH credentials</a></li>
<li><a href=/app/settings.py title="HAproxy-WI settings" class="settings head-submenu">Settings</a></li>
<li><a href=/app/viewlogs.py title="View internal logs" class="logs head-submenu">Internal logs</a></li>
<li><a href=/app/update.py title="View internal logs" class="logs head-submenu">Update</a></li>
</ul>
</li>
{% endif %}
@ -115,7 +116,7 @@
</ul>
</nav>
<div class="copyright-menu">
<a href="https://github.com/aidaho12/haproxy-wi/" title="Github repo" target="_blank" style="color: #fff">HAproxy-WI v3.4.5.1</a>
<a href="https://github.com/aidaho12/haproxy-wi/" title="Github repo" target="_blank" style="color: #fff">HAproxy-WI</a> <span id="show-updates-button">v{{current_ver}}</span>
<br>
<a href="https://www.patreon.com/haproxy_wi" title="Donate" target="_blank" style="color: #fff; margin-left: 30px; color: red;" class="patreon"> Donate</a>
</div>
@ -215,6 +216,12 @@
{% block content %}{% endblock %}
<div id="ajax-compare"></div>
<div id="ajax"></div>
</div>
</div>
<div id="show-updates" style="display: none;">
<div>
There is a new version HAProxy-WI
</div>
</div>
</body>
</html>

30
app/templates/update.html Normal file
View File

@ -0,0 +1,30 @@
{% extends "base.html" %}
{% block content %}
<script src="/inc/users.js"></script>
<table class="overview">
<tr class="overviewHead">
<td class="padding10 first-collumn" >Currnet version</td>
<td class="padding10 first-collumn" style="width: 350px;">Last version</td>
<td></td>
</tr>
<tr>
<td class="padding10 first-collumn">
<b>{{current_ver}}</b>
</td>
<td class="padding10 first-collumn" style="width: 350px;">
<b>{{new_ver}}</b>
</td>
<td>
{% if current_ver_without_dots < new_ver_without_dots and current_ver_without_dots != new_ver_without_dots and new_ver != "Sorry cannot get current version" %}
<a class="ui-button ui-widget ui-corner-all" id="install" title="Install HAProxy">Update</a>
{% endif %}
</td>
</table>
<div class="add-note addName" style="width: inherit;">
<b style="font-size: 20px; display: block; padding-bottom: 10px;">Note:</b>
For update you have to use HAProxy-WI repository. If do not use repositiry then use update.sh script in HAProxy-WI home directory <br />
<br />
Read more about update in <a href="https://haproxy-wi.org/updates.py" title="Doc" target="_blank">docs</a>
</div>
<div id="ajax"></div>
{% endblock %}

43
app/update.py Normal file
View File

@ -0,0 +1,43 @@
#!/usr/bin/env python3
import http.cookies
import os
import funct, sql
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates/'))
template = env.get_template('update.html')
print('Content-type: text/html\n')
funct.check_login()
funct.page_for_admin(level = 2)
try:
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
user_id = cookie.get('uuid')
user = sql.get_user_name_by_uuid(user_id.value)
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
current_ver_without_dots = current_ver.split('.')
current_ver_without_dots = ''.join(current_ver_without_dots)
except:
current_ver = "Sorry cannot get current version"
try:
new_ver = funct.check_new_version()
new_ver_without_dots = new_ver.split('.')
new_ver_without_dots = ''.join(new_ver_without_dots)
except:
new_ver = "Sorry cannot get new version"
output_from_parsed_template = template.render(h2 = 1, title = "Check updates",
role = sql.get_user_role_by_uuid(user_id.value),
user = user,
current_ver = current_ver,
current_ver_without_dots = current_ver_without_dots,
new_ver = new_ver,
new_ver_without_dots = new_ver_without_dots,
token = token)
print(output_from_parsed_template)

View File

@ -26,6 +26,11 @@ try:
ldap_enable = sql.get_setting('ldap_enable')
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
output_from_parsed_template = template.render(title = "Admin area: users manage",
role = sql.get_user_role_by_uuid(user_id.value),
@ -38,5 +43,6 @@ output_from_parsed_template = template.render(title = "Admin area: users manage"
sshs = sql.select_ssh(),
telegrams = sql.select_telegram(),
token = token,
current_ver = current_ver,
ldap_enable = ldap_enable)
print(output_from_parsed_template)

View File

@ -48,6 +48,11 @@ try:
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
def get_files():
file = []
for files in glob.glob(os.path.join(log_path,'*.log*')):
@ -68,5 +73,6 @@ output_from_parsed_template = template.render(h2 = 1,
selects = selects,
rows = rows,
grep = grep,
current_ver = current_ver,
token = token)
print(output_from_parsed_template)

View File

@ -28,6 +28,11 @@ try:
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
output_from_parsed_template = template.render(h2 = 1,
autorefresh = 1,
title = "HAProxy statistics",
@ -37,6 +42,7 @@ output_from_parsed_template = template.render(h2 = 1,
select_id = "serv",
selects = servers,
serv = serv,
current_ver = current_ver,
token = token)
print(output_from_parsed_template)

View File

@ -19,11 +19,17 @@ try:
token = sql.get_token(user_id.value)
except:
pass
try:
current_ver = funct.check_ver()
except:
pass
template = template.render(h2 = 1, title = "Web application firewall",
autorefresh = 1,
role = sql.get_user_role_by_uuid(user_id.value),
user = user,
table_stat = sql.select_table_metrics(user_id.value),
current_ver = current_ver,
token = token)
print(template)

View File

@ -124,6 +124,37 @@ $( function() {
}
} );
});
$('#update_haproxy_wi').click(function() {
$("#ajax").html('')
$("#ajax").html('<div class="alert alert-warning">Please don\'t close and don\'t represh page. Wait until the work is completed. This may take some time </div>');
$.ajax( {
url: "options.py",
data: {
update_haproxy_wi: 1,
token: $('#token').val()
},
type: "GET",
success: function( data ) {
data = data.replace(/\s+/g,' ');
if (data.indexOf('error') != '-1' || data.indexOf('Failed') != '-1') {
$("#ajax").html('<div class="alert alert-danger">'+data+'</data>');
} else if (data.indexOf('success') != '-1'){
$('.alert-danger').remove();
$('.alert-warning').remove();
$("#ajax").html('<div class="alert alert-success">'+data+'</data>');
} else if (data.indexOf('but not installed') != '-1') {
$('.alert-danger').remove();
$('.alert-warning').remove();
$("#ajax").html('<div class="alert alert-warning">You have settings for HAProxy-WI repository, but installed HAProxy-WI without repository. Please reinstall with yum or use update.sh</data>');
} else if (data.indexOf('No Match for argument') != '-1') {
$('.alert-danger').remove();
$('.alert-warning').remove();
$("#ajax").html('<div class="alert alert-warning">It is seems like you do not have HAProxy-WI repository settings. Please read docs for<a href="https://haproxy-wi.org/updates.py">detail</a></data>');
}
}
} );
});
$('#add-group').click(function() {
$('#error').remove();
$('.alert-danger').remove();
@ -294,7 +325,6 @@ $( function() {
$('#add-server-button').click(function() {
addServerDialog.dialog('open');
});
$('#add-ssh-button').click(function() {
if ($('#ssh-add-table').css('display', 'none')) {
$('#ssh-add-table').show("blind", "fast");