Added support for users
This commit is contained in:
parent
646f0bb721
commit
88e2428a71
4 changed files with 220 additions and 2 deletions
|
|
@ -16,6 +16,7 @@ from paramecio2.libraries.formsutils import show_form, check_form
|
|||
from modules.pastafari2.libraries.task import Task as SSHTask
|
||||
from modules.pastafari2.models.tasks import Task, LogTask
|
||||
from modules.pastafari2.libraries.configtask import config_task
|
||||
from modules.pastafari2.libraries.check_task import check_task_status
|
||||
from modules.pastafari2.models.pastafari2 import ServerGroup, ServerDbTask, UpdateServerScripts, SystemUser
|
||||
from paramecio2.libraries.config_admin import config_admin
|
||||
#from modules.pastafari2.settings.config_admin import pastafari_admin_i18n, pastafari_admin_i18n, pastafari_settings_i18n, pastafari_servers_i18n, pastafari_groups_i18n, pastafari_tasks_log_i18n, num_element_admin
|
||||
|
|
@ -889,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': user['username'], 'options': ''})
|
||||
rows.append({'username': '<a href="#" class="change_password">'+user['username']+'</a>', 'options': ''})
|
||||
|
||||
|
||||
arr_return={'fields': fields, 'rows': rows, 'html_pages': ''}
|
||||
|
|
@ -1010,3 +1011,59 @@ def pastafari2_add_user_task():
|
|||
|
||||
return {'error': error, 'txt_error': txt_error, 'error_form': error_form, 'task_id': task_id, 'log': arr_log}
|
||||
|
||||
|
||||
@admin_app.route('/pastafari2/change_user_password/<int:server_id>', methods=['POST'])
|
||||
def pastafari2_change_user_password(server_id):
|
||||
|
||||
#server_id=request.args.get('webserver_id', '0')
|
||||
|
||||
error=0
|
||||
|
||||
error_form={}
|
||||
|
||||
task_id=0
|
||||
|
||||
db=g.connection
|
||||
|
||||
serverdb=ServerDbTask(db)
|
||||
|
||||
arr_server=serverdb.select_a_row(server_id, [], True)
|
||||
|
||||
if arr_server:
|
||||
|
||||
ssh_pub_key=request.form.get('ssh_pub_key', '')
|
||||
|
||||
user=request.form.get('user', '')
|
||||
|
||||
if user=='':
|
||||
error_form['#user_error']=_('Error: you need an user')
|
||||
error=1
|
||||
|
||||
if ssh_pub_key=='':
|
||||
error_form['#ssh_pub_key_error']=_('Error: you need a ssh public key')
|
||||
error=1
|
||||
|
||||
sshtask=Task(db)
|
||||
|
||||
ssh_key_priv=config_task.ssh_private_key
|
||||
|
||||
if not sshtask.run_task(arr_server['ip'], 'modules.pastafari2.tasks.system.change_password_user', 'Change user password', 'Change user password', 'Task for change unix user password', {'user': user, 'ssh_pub_key': ssh_pub_key}, 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(_('SSH key changed'), db, task_id)
|
||||
|
||||
error=log['error']
|
||||
|
||||
error_form['#ssh_pub_key_error']=log['message']
|
||||
|
||||
else:
|
||||
error=1
|
||||
|
||||
return {'error': error, 'error_form': error_form, 'task_id': task_id}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue