Bufs
pull/98/head
Aidaho12 2018-11-09 14:42:36 +06:00
parent 5183c56cae
commit a6219ef87a
5 changed files with 42 additions and 20 deletions

View File

@ -277,7 +277,9 @@ def update_db_v_3_3(**kwargs):
"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_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)

View File

@ -625,6 +625,8 @@ if form.getvalue('get_ldap_email'):
user = sql.get_setting('ldap_user')
password = sql.get_setting('ldap_password')
ldap_base = sql.get_setting('ldap_base')
domain = sql.get_setting('ldap_domain')
ldap_search_field = sql.get_setting('ldap_search_field')
l = ldap.initialize("ldap://"+server+':'+port)
try:
@ -634,12 +636,12 @@ if form.getvalue('get_ldap_email'):
bind = l.simple_bind_s(user, password)
criteria = "(&(objectClass=user)(sAMAccountName="+username+"))"
attributes = ['mail']
attributes = [ldap_search_field]
result = l.search_s(ldap_base, ldap.SCOPE_SUBTREE, criteria, attributes)
results = [entry for dn, entry in result if isinstance(entry, dict)]
try:
print('["'+results[0]['mail'][0].decode("utf-8")+'","'+user.split('@')[1]+'"]')
print('["'+results[0][ldap_search_field][0].decode("utf-8")+'","'+domain+'"]')
except:
print('error: user not found')
finally:

View File

@ -33,7 +33,13 @@
{% for user in users %}
<tr id="user-{{user.0}}" class="{{ loop.cycle('odd', 'even') }}">
<td class="padding10 first-collumn"><input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control"></td>
<td><input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control"></td>
<td>
{% if user.6 == 1%}
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control" readonly>
{% else %}
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
{% endif %}
</td>
<td><input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control"></td>
<td>
<select id="role-{{user.0}}" name="role-{{user.0}}">

View File

@ -4,8 +4,12 @@
<input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control">
</td>
<td>
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
</td>
{% if user.6 == 1%}
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control" readonly>
{% else %}
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
{% endif %}
</td>
<td>
<input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control">
</td>
@ -21,19 +25,21 @@
{% endfor %}
</select>
</td>
{% if page != "servers.py" and page != "servers.py#users" %}
<td>
<select id="usergroup-{{user.0}}" name="usergroup-{{user.0}}">
<option disabled selected>Choose group</option>
{% for group in groups %}
{% if user.5 == group.0|string() %}
<option value="{{ group.0 }}" selected>{{ group.1 }}</option>
{% else %}
<option value="{{ group.0 }}">{{ group.1 }}</option>
{% endif %}
{% endfor %}
</select>
</td>
{% if page != "servers.py" %}
{% if page != "servers.py#users" %}
<td>
<select id="usergroup-{{user.0}}" name="usergroup-{{user.0}}">
<option disabled selected>Choose group</option>
{% for group in groups %}
{% if user.5 == group.0|string() %}
<option value="{{ group.0 }}" selected>{{ group.1 }}</option>
{% else %}
<option value="{{ group.0 }}">{{ group.1 }}</option>
{% endif %}
{% endfor %}
</select>
</td>
{% endif %}
{% endif %}
<td><a class="delete" onclick="removeUser({{user.0}})" style="cursor: pointer;"></a></td>
</tr>

View File

@ -36,7 +36,13 @@
<input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control">
<input type="hidden" id="usergroup-{{user.0}}" name="usergroup-{{user.0}}" value="{{ group }}">
</td>
<td><input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control"></td>
<td>
{% if user.6 == 1%}
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control" readonly>
{% else %}
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
{% endif %}
</td>
<td><input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control"></td>
<td>
<select id="role-{{user.0}}" name="role-{{user.0}}">