Pavel Loginov 2020-02-02 17:19:21 +03:00 committed by GitHub
commit adc1fe033b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 79 additions and 26 deletions

View File

@ -236,7 +236,7 @@ try:
print("Can't read import config file") print("Can't read import config file")
funct.logging(serv, "add.py add new %s" % name) funct.logging(serv, "add.py add new %s" % name)
print('<div class="line3">') print('<div class="line3" style="position: absolute;top: 35px;left: 200px;">')
MASTERS = sql.is_master(serv) MASTERS = sql.is_master(serv)
for master in MASTERS: for master in MASTERS:
@ -245,7 +245,7 @@ try:
stderr = funct.upload_and_restart(serv, cfg, just_save="save") stderr = funct.upload_and_restart(serv, cfg, just_save="save")
if stderr: if stderr:
print('<div class="alert alert-danger">%s</div>' % stderr) print('<div class="alert alert-danger">%s</div><div id="close"><span title="Close" style="cursor: pointer; float: right;">X</span></div>' % stderr)
else: else:
print('<meta http-equiv="refresh" content="0; url=add.py?add=%s&conf=%s&serv=%s">' % (name, config_add, serv)) print('<meta http-equiv="refresh" content="0; url=add.py?add=%s&conf=%s&serv=%s">' % (name, config_add, serv))

View File

@ -360,9 +360,31 @@ def update_db_v_3_12_1(**kwargs):
con.close() con.close()
def update_db_v_3_13(**kwargs):
con, cur = get_cur()
sql = """
ALTER TABLE `servers` ADD COLUMN keepalived INTEGER NOT NULL DEFAULT 0;
"""
try:
cur.execute(sql)
con.commit()
except sqltool.Error as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'duplicate column name: keepalived' or e == " 1060 (42S21): Duplicate column name 'keepalived' ":
print('DB was update to 3.13.0')
else:
print("An error occurred:", e)
return False
else:
print("DB was update to 3.13.0")
return True
cur.close()
con.close()
def update_ver(**kwargs): def update_ver(**kwargs):
con, cur = get_cur() con, cur = get_cur()
sql = """update version set version = '3.12.2.1'; """ sql = """update version set version = '3.12.2.2'; """
try: try:
cur.execute(sql) cur.execute(sql)
con.commit() con.commit()
@ -383,6 +405,7 @@ def update_all():
update_db_v_3_8_1() update_db_v_3_8_1()
update_db_v_3_12() update_db_v_3_12()
update_db_v_3_12_1() update_db_v_3_12_1()
update_db_v_3_13()
update_ver() update_ver()
@ -397,6 +420,7 @@ def update_all_silent():
update_db_v_3_8_1(silent=1) update_db_v_3_8_1(silent=1)
update_db_v_3_12(silent=1) update_db_v_3_12(silent=1)
update_db_v_3_12_1(silent=1) update_db_v_3_12_1(silent=1)
update_db_v_3_13(silent=1)
update_ver() update_ver()

View File

@ -917,10 +917,10 @@ if form.getvalue('bwlists_create'):
list = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')+"/"+form.getvalue('group')+"/"+color+"/"+list_name list = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')+"/"+form.getvalue('group')+"/"+color+"/"+list_name
try: try:
open(list, 'a').close() open(list, 'a').close()
print('<div class="alert alert-success" style="margin:0">'+form.getvalue('color')+' list was created</div>') print('<div class="alert alert-success" style="margin-left:14px">'+form.getvalue('color')+' list was created</div>')
funct.logging(server[1], 'has created '+color+' list '+list_name, haproxywi=1, login=1) funct.logging(server[1], 'has created '+color+' list '+list_name, haproxywi=1, login=1)
except IOError as e: except IOError as e:
print('<div class="alert alert-danger" style="margin:0">Cat\'n create new '+form.getvalue('color')+' list. %s </div>' % e) print('<div class="alert alert-danger" style="margin-left:14px">Cat\'n create new '+form.getvalue('color')+' list. %s </div>' % e)
if form.getvalue('bwlists_save'): if form.getvalue('bwlists_save'):
@ -931,7 +931,7 @@ if form.getvalue('bwlists_save'):
with open(list, "w") as file: with open(list, "w") as file:
file.write(form.getvalue('bwlists_content')) file.write(form.getvalue('bwlists_content'))
except IOError as e: except IOError as e:
print('<div class="alert alert-danger" style="margin:0">Cat\'n save '+color+' list. %s </div>' % e) print('<div class="alert alert-danger" style="margin-left:14px">Cat\'n save '+color+' list. %s </div>' % e)
servers = sql.get_dick_permit() servers = sql.get_dick_permit()
path = sql.get_setting('haproxy_dir')+"/"+color path = sql.get_setting('haproxy_dir')+"/"+color
@ -943,7 +943,7 @@ if form.getvalue('bwlists_save'):
if error: if error:
print('<div class="alert alert-danger">Upload fail: %s</div>' % error) print('<div class="alert alert-danger">Upload fail: %s</div>' % error)
else: else:
print('<div class="alert alert-success" style="margin:10px">Edited '+color+' list was uploaded to '+server[1]+'</div>') print('<div class="alert alert-success" style="margin:10px; margin-left:14px">Edited '+color+' list was uploaded to '+server[1]+'</div>')
funct.logging(server[1], 'has edited '+color+' list '+bwlists_save, haproxywi=1, login=1) funct.logging(server[1], 'has edited '+color+' list '+bwlists_save, haproxywi=1, login=1)
if form.getvalue('bwlists_restart') == 'restart': if form.getvalue('bwlists_restart') == 'restart':
funct.ssh_command(server[2], ["sudo " + sql.get_setting('restart_command')]) funct.ssh_command(server[2], ["sudo " + sql.get_setting('restart_command')])
@ -1101,7 +1101,6 @@ if form.getvalue('newserver') is not None:
if form.getvalue('updateserver') is not None: if form.getvalue('updateserver') is not None:
name = form.getvalue('updateserver') name = form.getvalue('updateserver')
ip = form.getvalue('ip')
group = form.getvalue('servergroup') group = form.getvalue('servergroup')
typeip = form.getvalue('typeip') typeip = form.getvalue('typeip')
enable = form.getvalue('enable') enable = form.getvalue('enable')
@ -1113,10 +1112,10 @@ if form.getvalue('updateserver') is not None:
port = form.getvalue('port') port = form.getvalue('port')
desc = form.getvalue('desc') desc = form.getvalue('desc')
active = form.getvalue('active') active = form.getvalue('active')
if name is None or ip is None or port is None: if name is None or port is None:
print(error_mess) print(error_mess)
else: else:
sql.update_server(name, ip, group, typeip, enable, master, id, cred, alert, metrics, port, desc, active) sql.update_server(name, group, typeip, enable, master, id, cred, alert, metrics, port, desc, active)
funct.logging('the server '+name, ' has updated ', haproxywi=1, login=1) funct.logging('the server '+name, ' has updated ', haproxywi=1, login=1)

View File

@ -188,11 +188,10 @@ def delete_server(id):
cur.close() cur.close()
con.close() con.close()
def update_server(hostname, ip, group, typeip, enable, master, id, cred, alert, metrics, port, desc, active): def update_server(hostname, group, typeip, enable, master, id, cred, alert, metrics, port, desc, active):
con, cur = get_cur() con, cur = get_cur()
sql = """ update servers set sql = """ update servers set
hostname = '%s', hostname = '%s',
ip = '%s',
groups = '%s', groups = '%s',
type_ip = '%s', type_ip = '%s',
enable = '%s', enable = '%s',
@ -203,7 +202,7 @@ def update_server(hostname, ip, group, typeip, enable, master, id, cred, alert,
port = '%s', port = '%s',
`desc` = '%s', `desc` = '%s',
active = '%s' active = '%s'
where id = '%s'""" % (hostname, ip, group, typeip, enable, master, cred, alert, metrics, port, desc, active, id) where id = '%s'""" % (hostname, group, typeip, enable, master, cred, alert, metrics, port, desc, active, id)
try: try:
cur.execute(sql) cur.execute(sql)
con.commit() con.commit()
@ -444,11 +443,11 @@ def get_user_name_by_uuid(uuid):
cur.close() cur.close()
con.close() con.close()
def get_user_role_by_uuid(uuid): def get_user_role_by_uuid(uuid):
con, cur = get_cur() con, cur = get_cur()
sql = """ select role.id from user left join uuid as uuid on user.id = uuid.user_id left join role on role.name = user.role where uuid.uuid = '%s' """ % uuid
try: try:
cur.execute(sql) cur.execute("select role.id from user left join uuid as uuid on user.id = uuid.user_id left join role on role.name = user.role where uuid.uuid = ?", (uuid,))
except sqltool.Error as e: except sqltool.Error as e:
out_error(e) out_error(e)
else: else:
@ -1451,6 +1450,7 @@ def select_alert(**kwargs):
cur.close() cur.close()
con.close() con.close()
def select_keep_alive(**kwargs): def select_keep_alive(**kwargs):
con, cur = get_cur() con, cur = get_cur()
sql = """select ip from servers where active = 1 """ sql = """select ip from servers where active = 1 """
@ -1464,6 +1464,35 @@ def select_keep_alive(**kwargs):
con.close() con.close()
def select_keealived(serv, **kwargs):
con, cur = get_cur()
sql = """select keepalived from `servers` where ip='%s' """ % serv
try:
cur.execute(sql)
except sqltool.Error as e:
out_error(e)
else:
for value in cur.fetchone():
return value
cur.close()
con.close()
def update_keepalived(serv):
con, cur = get_cur()
sql = """update `servers` set `keepalived` = '1' where ip = '%s' """ % serv
try:
cur.execute(sql)
con.commit()
return True
except sqltool.Error as e:
out_error(e)
con.rollback()
return False
cur.close()
con.close()
def check_token_exists(token): def check_token_exists(token):
try: try:
import http.cookies import http.cookies

View File

@ -162,7 +162,7 @@
<input type="text" id="hostname-{{server.0}}" value="{{server.1}}" class="form-control"> <input type="text" id="hostname-{{server.0}}" value="{{server.1}}" class="form-control">
</td> </td>
<td> <td>
<input type="text" id="ip-{{server.0}}" value="{{server.2}}" size="14" class="form-control"> <span id="ip-{{server.0}}" style="margin-right: 6px;">{{server.2}}</span>
</td> </td>
<td> <td>
<input type="text" id="port-{{server.0}}" value="{{server.10}}" size="1" class="form-control"> <input type="text" id="port-{{server.0}}" value="{{server.10}}" size="1" class="form-control">

View File

@ -4,7 +4,7 @@
<input type="text" id="hostname-{{server.0}}" value="{{server.1}}" class="form-control"> <input type="text" id="hostname-{{server.0}}" value="{{server.1}}" class="form-control">
</td> </td>
<td> <td>
<input type="text" id="ip-{{server.0}}" value="{{server.2}}" size="14" class="form-control"> <span id="ip-{{server.0}}" style="margin-right: 6px;">{{server.2}}</span>
{% if page == "servers.py" %} {% if page == "servers.py" %}
<input type="hidden" id="servergroup-{{server.0}}" name="servergroup-{{server.0}}" value="" > <input type="hidden" id="servergroup-{{server.0}}" name="servergroup-{{server.0}}" value="" >
{% endif %} {% endif %}

View File

@ -91,7 +91,7 @@
<input type="text" id="hostname-{{server.0}}" value="{{server.1}}" class="form-control"> <input type="text" id="hostname-{{server.0}}" value="{{server.1}}" class="form-control">
</td> </td>
<td> <td>
<input type="text" id="ip-{{server.0}}" value="{{server.2}}" size="14" class="form-control"> <span id="ip-{{server.0}}" style="margin-right: 6px;">{{server.2}}</span>
<input type="hidden" id="servergroup-{{server.0}}" name="servergroup-{{server.0}}" value="{{ group }}" > <input type="hidden" id="servergroup-{{server.0}}" name="servergroup-{{server.0}}" value="{{ group }}" >
</td> </td>
<td> <td>

View File

@ -919,7 +919,8 @@ function resetProxySettings() {
$('[name=port]').val(''); $('[name=port]').val('');
$('[name=server_port]').val(''); $('[name=server_port]').val('');
$('input:checkbox').prop( "checked", false ); $('input:checkbox').prop( "checked", false );
$('[name=ssl-check').prop( "checked", true ); $('[name=ssl-check]').prop( "checked", true );
$('[name=check-servers]').prop( "checked", true );
$('input:checkbox').checkboxradio("refresh"); $('input:checkbox').checkboxradio("refresh");
$('.advance-show').fadeIn(); $('.advance-show').fadeIn();
$('.advance').fadeOut(); $('.advance').fadeOut();

View File

@ -750,6 +750,7 @@ label {
height: 153px; height: 153px;
width: 365px; width: 365px;
padding: 20px; padding: 20px;
padding-top: 10px;
padding-left: 15px; padding-left: 15px;
padding-right: 15px; padding-right: 15px;
margin: 20px; margin: 20px;
@ -810,7 +811,7 @@ label {
margin-top: px; margin-top: px;
margin-bottom: 0px; margin-bottom: 0px;
margin-top: 0px; margin-top: 0px;
height: 192px; height: 183px;
} }
.haproxy-info { .haproxy-info {
display: inline-block; display: inline-block;
@ -857,10 +858,6 @@ label {
#logo_span { #logo_span {
margin-left: 17%; margin-left: 17%;
} }
#create {
margin-top: 20px;
}
} }
@media (max-width: 1900px) { @media (max-width: 1900px) {
#logo_span { #logo_span {
@ -874,6 +871,7 @@ label {
.ajax-server, .div-backends { .ajax-server, .div-backends {
clear: both !important; clear: both !important;
margin-left: 20px !important; margin-left: 20px !important;
margin-bottom: 20px !important;
width: 88% !important; width: 88% !important;
} }
.div-server { .div-server {
@ -901,6 +899,9 @@ label {
.form-control { .form-control {
width: 120px; width: 120px;
} }
#create {
margin-top: 20px;
}
} }
@media (max-width: 1080px) { @media (max-width: 1080px) {
#logo_span { #logo_span {

View File

@ -1187,7 +1187,6 @@ function updateServer(id) {
url: "options.py", url: "options.py",
data: { data: {
updateserver: $('#hostname-'+id).val(), updateserver: $('#hostname-'+id).val(),
ip: $('#ip-'+id).val(),
port: $('#port-'+id).val(), port: $('#port-'+id).val(),
servergroup: servergroup, servergroup: servergroup,
typeip: typeip, typeip: typeip,