Added delete user support.
This commit is contained in:
parent
88e2428a71
commit
980193c347
5 changed files with 191 additions and 3 deletions
|
|
@ -890,7 +890,7 @@ def pastafari2_get_server_users(server_id):
|
|||
|
||||
with db.query('select * from systemuser WHERE server_id=%s', [server_id]) as cursor:
|
||||
for user in cursor:
|
||||
rows.append({'username': '<a href="#" class="change_password">'+user['username']+'</a>', 'options': ''})
|
||||
rows.append({'username': '<a href="#" class="change_password">'+user['username']+'</a>', 'options': '<a href="'+url_for('admin_app.pastafari2_delete_user', server_id=server_id, username=user['username'])+'">'+_('Delete')+'</a>'})
|
||||
|
||||
|
||||
arr_return={'fields': fields, 'rows': rows, 'html_pages': ''}
|
||||
|
|
@ -1067,3 +1067,71 @@ def pastafari2_change_user_password(server_id):
|
|||
return {'error': error, 'error_form': error_form, 'task_id': task_id}
|
||||
|
||||
|
||||
@admin_app.route('/pastafari2/delete_user/')
|
||||
def pastafari2_delete_user():
|
||||
|
||||
db=g.connection
|
||||
|
||||
server=ServerDbTask(db)
|
||||
|
||||
server_id=request.args.get('server_id', '0')
|
||||
|
||||
user=SystemUser(db)
|
||||
|
||||
arr_server=server.select_a_row(server_id)
|
||||
|
||||
username=request.args.get('username')
|
||||
|
||||
arr_user=user.set_conditions('WHERE username=%s AND server_id=%s', [username, server_id]).select_a_row_where()
|
||||
|
||||
if arr_server and arr_user:
|
||||
|
||||
return t.load_template('delete_user.phtml', title=_('Delete user'), path_module='admin_app.pastafari2_dashboard', server_id=server_id, server=arr_server, username=username, user_id=arr_user['id'])
|
||||
|
||||
else:
|
||||
|
||||
return ""
|
||||
|
||||
@admin_app.route('/pastafari2/delete_user_db/<int:server_id>', methods=['POST'])
|
||||
def pastafari2_delete_user_db(server_id):
|
||||
|
||||
db=g.connection
|
||||
|
||||
error=0
|
||||
|
||||
server=ServerDbTask(db)
|
||||
|
||||
user=SystemUser(db)
|
||||
|
||||
arr_server=server.set_conditions('WHERE id=%s', [server_id]).select_a_row_where([], True)
|
||||
|
||||
user_id=request.form.get('user_id', '0')
|
||||
|
||||
arr_user=user.set_conditions('WHERE id=%s AND server_id=%s', [user_id, server_id]).select_a_row_where([], True)
|
||||
|
||||
error_form={}
|
||||
|
||||
#server.set_conditions('WHERE id=%s', [server_id]).delete()
|
||||
|
||||
if arr_server and arr_user:
|
||||
#user.set_conditions('WHERE id=%s',[arr_user['id']]).delete()
|
||||
sshtask=Task(db)
|
||||
|
||||
ssh_key_priv=config_task.ssh_private_key
|
||||
|
||||
if not sshtask.run_task(arr_server['ip'], 'modules.pastafari2.tasks.system.delete_user', 'Delete user', 'Delete', 'Task for delete a unix user', {'user_id': user_id, 'username': arr_user['username']}, config_task.remote_user, '', '', url_for('admin_app.pastafari2_dashboard', server_id=server_id), ssh_key_priv=ssh_key_priv, ssh_key_password='', send_task=True, ssh_port=arr_server['ssh_port']):
|
||||
|
||||
error=1
|
||||
|
||||
task_id=sshtask.task_id
|
||||
|
||||
if task_id:
|
||||
|
||||
log=check_task_status(_('User deleted'), db, task_id)
|
||||
|
||||
error=log['error']
|
||||
|
||||
error_form['#user_delete_error']=log['message']
|
||||
|
||||
return {'error': error, 'error_form': error_form, 'task_id': task_id}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue