Pavel Loginov 2021-02-04 01:25:37 +06:00
parent f87ec83348
commit 7c575fe0f8
5 changed files with 141 additions and 55 deletions

View File

@ -1497,8 +1497,12 @@ if form.getvalue('get_ldap_email'):
ldap_search_field = sql.get_setting('ldap_search_field') ldap_search_field = sql.get_setting('ldap_search_field')
ldap_class_search = sql.get_setting('ldap_class_search') ldap_class_search = sql.get_setting('ldap_class_search')
ldap_user_attribute = sql.get_setting('ldap_user_attribute') ldap_user_attribute = sql.get_setting('ldap_user_attribute')
ldap_type = sql.get_setting('ldap_type')
ldap_proto = 'ldap' if ldap_type == "0" else 'ldaps'
l = ldap.initialize('{}://{}:{}/'.format(ldap_proto, server, port))
l = ldap.initialize(server + ':' + port)
try: try:
l.protocol_version = ldap.VERSION3 l.protocol_version = ldap.VERSION3
l.set_option(ldap.OPT_REFERRALS, 0) l.set_option(ldap.OPT_REFERRALS, 0)
@ -1666,6 +1670,7 @@ if form.getvalue('serverdel') is not None:
sys.exit() sys.exit()
if sql.delete_server(serverdel): if sql.delete_server(serverdel):
sql.delete_waf_server(serverdel) sql.delete_waf_server(serverdel)
sql.delete_port_scanner_settings(serverdel)
print("Ok") print("Ok")
funct.logging(hostname, ' has been deleted server with ', haproxywi=1, login=1) funct.logging(hostname, ' has been deleted server with ', haproxywi=1, login=1)
@ -2294,4 +2299,7 @@ if form.getvalue('show_versions'):
env = Environment(loader=FileSystemLoader('templates')) env = Environment(loader=FileSystemLoader('templates'))
template = env.get_template('ajax/check_version.html') template = env.get_template('ajax/check_version.html')
template = template.render(versions=funct.versions()) template = template.render(versions=funct.versions())
print(template) print(template)
if form.getvalue('get_group_name_by_id'):
print(sql.get_group_name_by_id(form.getvalue('get_group_name_by_id')))

View File

@ -511,6 +511,21 @@ def select_groups(**kwargs):
con.close() con.close()
def get_group_name_by_id(group_id):
con, cur = get_cur()
sql = """select name from groups where id = '%s' """ % group_id
try:
cur.execute(sql)
except sqltool.Error as e:
funct.out_error(e)
else:
for name in cur.fetchone():
return name
cur.close()
con.close()
def select_server_by_name(name): def select_server_by_name(name):
con, cur = get_cur() con, cur = get_cur()
sql = """select ip from servers where hostname='%s' """ % name sql = """select ip from servers where hostname='%s' """ % name
@ -570,9 +585,9 @@ def write_user_uuid(login, user_uuid):
funct.out_error(e) funct.out_error(e)
for id in cur.fetchall(): for id in cur.fetchall():
if mysql_enable == '1': if mysql_enable == '1':
sql = """ insert into uuid (user_id, uuid, exp) values('%s', '%s', now()+ INTERVAL '%s' day) """ % (id[0], user_uuid, session_ttl) sql = """ insert into uuid (user_id, uuid, exp) values('%s', '%s', now()+ INTERVAL '%s' day) """ % (id[0], user_uuid, session_ttl)
else: else:
sql = """ insert into uuid (user_id, uuid, exp) values('%s', '%s', datetime('now', '+%s days')) """ % (id[0], user_uuid, session_ttl) sql = """ insert into uuid (user_id, uuid, exp) values('%s', '%s', datetime('now', '+%s days')) """ % (id[0], user_uuid, session_ttl)
try: try:
cur.execute(sql) cur.execute(sql)
con.commit() con.commit()
@ -2378,7 +2393,6 @@ def is_cloud():
else: else:
for cl_uuid in cur.fetchall(): for cl_uuid in cur.fetchall():
cloud_uuid = cl_uuid[0] cloud_uuid = cl_uuid[0]
cur.close() cur.close()
con.close() con.close()
return cloud_uuid return cloud_uuid

View File

@ -803,41 +803,6 @@ $( function() {
$("#label_select_all").text("Select all"); $("#label_select_all").text("Select all");
} }
}); });
$('#changeCurrentGroup').click(function() {
$.ajax( {
url: "options.py",
data: {
getcurrentusergroup: 1,
token: $('#token').val()
},
type: "POST",
success: function( data ) {
if (data.indexOf('danger') != '-1') {
$("#ajax").html(data);
} else {
$('.alert-danger').remove();
$('#current-user-groups-form').html(data);
$( "select" ).selectmenu();
$( "#current-user-groups-dialog" ).dialog({
resizable: false,
height: "auto",
width: 290,
modal: true,
title: "Change a new current group",
buttons: {
"Change": function() {
$( this ).dialog( "close" );
changeCurrentGroupF();
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
}
}
} );
});
$('#auth').submit(function() { $('#auth').submit(function() {
let searchParams = new URLSearchParams(window.location.search) let searchParams = new URLSearchParams(window.location.search)
if(searchParams.has('ref')) { if(searchParams.has('ref')) {
@ -886,19 +851,9 @@ $( function() {
} ); } );
var showUpdates = $( "#show-updates" ).dialog({ var showUpdates = $( "#show-updates" ).dialog({
autoOpen: false, autoOpen: false,
resizable: false,
height: "auto",
width: 600, width: 600,
modal: true, modal: true,
title: 'There is a new version HAProxy-WI.', title: 'There is a new version HAProxy-WI',
show: {
effect: "fade",
duration: 200
},
hide: {
effect: "fade",
duration: 200
},
buttons: { buttons: {
Close: function() { Close: function() {
$( this ).dialog( "close" ); $( this ).dialog( "close" );
@ -908,7 +863,39 @@ $( function() {
}); });
$('#show-updates-button').click(function() { $('#show-updates-button').click(function() {
showUpdates.dialog('open'); showUpdates.dialog('open');
});
var showUserSettings = $( "#show-user-settings" ).dialog({
autoOpen: false,
width: 600,
modal: true,
title: 'User settings',
buttons: {
Save: function() {
saveUserSettings();
$( this ).dialog( "close" );
},
"Change group": function(){
showCurrentGroup(this);
$( this ).dialog( "close" );
},
Close: function() {
$( this ).dialog( "close" );
clearTips();
}
}
});
$('#show-user-settings-button').click(function() {
if (sessionStorage.getItem('disabled_alert') == '1') {
$('#disable_alert_for_tab').prop('checked', true);
$( "input[type=checkbox]" ).checkboxradio('refresh');
}
if (localStorage.getItem('disabled_alert') == '1') {
$('#disable_alert_for_all').prop('checked', true);
$( "input[type=checkbox]" ).checkboxradio('refresh');
}
showUserSettings.dialog('open');
}); });
var location = window.location.href; var location = window.location.href;
var cur_url = '/app/' + location.split('/').pop(); var cur_url = '/app/' + location.split('/').pop();
@ -1037,6 +1024,52 @@ $( function() {
} }
} }
}); });
function saveUserSettings(){
if ($('#disable_alert_for_tab').is(':checked')) {
sessionStorage.setItem('disabled_alert', '1');
} else {
sessionStorage.removeItem('disabled_alert');
}
if ($('#disable_alert_for_all').is(':checked')) {
localStorage.setItem('disabled_alert', '1');
} else {
localStorage.removeItem('disabled_alert');
}
}
function showCurrentGroup(dialog_id) {
$.ajax( {
url: "options.py",
data: {
getcurrentusergroup: 1,
token: $('#token').val()
},
type: "POST",
success: function( data ) {
if (data.indexOf('danger') != '-1') {
$("#ajax").html(data);
} else {
$('.alert-danger').remove();
$('#current-user-groups-form').html(data);
$( "select" ).selectmenu();
$( "#current-user-groups-dialog" ).dialog({
width: 290,
modal: true,
title: "Change a new current group",
buttons: {
"Change": function() {
$( this ).dialog( "close" );
changeCurrentGroupF();
},
Cancel: function() {
$( this ).dialog( "close" );
$( dialog_id ).dialog("open" );
}
}
});
}
}
} );
}
function sleep(ms) { function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms)); return new Promise(resolve => setTimeout(resolve, ms));
} }
@ -1227,7 +1260,8 @@ async function waitConsumer() {
cur_url = cur_url.split('?'); cur_url = cur_url.split('?');
if (cur_url[0] != 'servers.py#installproxy' && cur_url[0] != 'servers.py#installmon' && if (cur_url[0] != 'servers.py#installproxy' && cur_url[0] != 'servers.py#installmon' &&
cur_url[0] != 'users.py#installmon' && cur_url[0] != 'ha.py' && cur_url[0] != 'users.py#updatehapwi' && cur_url[0] != 'users.py#installmon' && cur_url[0] != 'ha.py' && cur_url[0] != 'users.py#updatehapwi' &&
cur_url[0] != 'add.py?service=nginx#ssl' && cur_url[0] != 'add.py#ssl' && cur_url[0] != 'servers.py#geolite2') { cur_url[0] != 'add.py?service=nginx#ssl' && cur_url[0] != 'add.py#ssl' && cur_url[0] != 'servers.py#geolite2'
&& cur_url[0] != 'login.py' && sessionStorage.getItem('disabled_alert') === null && localStorage.getItem('disabled_alert') === null) {
NProgress.configure({showSpinner: false}); NProgress.configure({showSpinner: false});
$.ajax({ $.ajax({
url: "options.py", url: "options.py",

View File

@ -427,6 +427,9 @@ pre {
padding: 15px; padding: 15px;
width: 30%; width: 30%;
} }
.padding-top20 {
padding-top: 20px;
}
.first-collumn { .first-collumn {
padding-left: 15px; padding-left: 15px;
width: 20%; width: 20%;
@ -1123,11 +1126,15 @@ label {
.tooltip { .tooltip {
font-size: 12px; font-size: 12px;
padding-bottom: 10px; padding-bottom: 10px;
color: #9d9d9d;
} }
.tooltipTop { .tooltipTop {
margin-bottom: -20px; margin-bottom: -20px;
padding-top: 10px; padding-top: 10px;
color: #9d9d9d; }
.tooltipTd {
margin-bottom: -10px;
padding: 0;
} }
#stats_filter { #stats_filter {
margin-left: 5px; margin-left: 5px;

View File

@ -1013,12 +1013,14 @@ function addCreds(dialog_id) {
if (data.indexOf('error:') != '-1') { if (data.indexOf('error:') != '-1') {
toastr.error(data); toastr.error(data);
} else { } else {
var group_name = getGroupNameById($('#new-sshgroup').val());
console.log(group_name)
var getId = new RegExp('ssh-table-[0-9]+'); var getId = new RegExp('ssh-table-[0-9]+');
var id = data.match(getId) + ''; var id = data.match(getId) + '';
id = id.split('-').pop(); id = id.split('-').pop();
common_ajax_action_after_success(dialog_id, 'ssh-table-'+id, 'ssh_enable_table', data); common_ajax_action_after_success(dialog_id, 'ssh-table-'+id, 'ssh_enable_table', data);
$('select:regex(id, credentials)').append('<option value=' + id + '>' + $('#new-ssh-add').val() + '</option>').selectmenu("refresh"); $('select:regex(id, credentials)').append('<option value=' + id + '>' + $('#new-ssh-add').val() + '</option>').selectmenu("refresh");
$('select:regex(id, ssh-key-name)').append('<option value=' + $('#new-ssh-add').val() + '>' + $('#new-ssh-add').val() + '</option>').selectmenu("refresh"); $('select:regex(id, ssh-key-name)').append('<option value=' + $('#new-ssh-add').val() + '_'+group_name+'>' + $('#new-ssh-add').val() + '_'+group_name+'</option>').selectmenu("refresh");
$("input[type=submit], button").button(); $("input[type=submit], button").button();
$("input[type=checkbox]").checkboxradio(); $("input[type=checkbox]").checkboxradio();
$("select").selectmenu(); $("select").selectmenu();
@ -1027,6 +1029,27 @@ function addCreds(dialog_id) {
}); });
} }
} }
function getGroupNameById(group_id) {
var group_name = ''
$.ajax({
url: "options.py",
async: false,
data: {
get_group_name_by_id: group_id,
token: $('#token').val()
},
type: "POST",
success: function (data) {
if (data.indexOf('error:') != '-1') {
toastr.error(data);
} else {
console.log(data);
group_name = data;
}
}
});
return group_name;
}
function addTelegram(dialog_id) { function addTelegram(dialog_id) {
var valid = true; var valid = true;
toastr.clear(); toastr.clear();