Fixes in tasks

This commit is contained in:
Antonio de la Rosa 2022-02-12 15:55:01 +01:00
parent f09510683c
commit 82ce82c091
3 changed files with 75 additions and 5 deletions

68
admin/tasks.py Normal file
View file

@ -0,0 +1,68 @@
from settings import config
from flask import g, url_for, request, session, make_response
from paramecio2.libraries.generate_admin_class import GenerateAdminClass
from paramecio2.libraries.i18n import I18n
from paramecio2.modules.admin import admin_app, t as admin_t
from paramecio2.libraries.db.coreforms import SelectForm
from paramecio2.libraries.mtemplates import PTemplate, env_theme
from paramecio2.libraries import datetime
from paramecio2.libraries.urls import make_media_url
from paramecio2.libraries.db.webmodel import WebModel
from paramecio2.libraries.lists import AjaxList
from paramecio2.libraries.db.extraforms.fileform import FileForm
from paramecio2.libraries.formsutils import show_form
from modules.pastafari2.libraries.task import Task as SSHTask
from modules.pastafari2.libraries.configtask import config_task
from modules.pastafari2.models.tasks import Task, LogTask
from modules.pastafari2.models.pastafari2 import ServerGroup
@admin_app.route('/pastafari2/tasks/', methods=['GET', 'POST'])
def pastafari2_tasks():
t=admin_t
db=g.connection
tasks=Task(db)
url=url_for('admin_app.pastafari2_tasks')
admin=GenerateAdminClass(tasks, url, t)
admin.list.raw_query=False
#request.args['order']=request.args.get('order', '1')
admin.list.order='1'
admin.list.fields_showed=['id', 'name_task', 'description_task', 'path', 'is_parent', 'server']
admin.list.arr_extra_options=[tasks_options]
admin.no_insert=True
admin.no_delete=True
form_admin=admin.show()
if type(form_admin).__name__=='str':
return t.load_template('content.phtml', title=I18n.lang('admin', 'tasks_edit', 'Tasks edit'), contents=form_admin, path_module='admin_app.pastafari2_tasks')
else:
return form_admin
return ""
def tasks_options(url, row_id, row):
if row['is_parent']:
return ['<a target="_blank" href="'+url_for('admin_app.pastafari2_multiprogress', task_id=row_id)+'">'+I18n.lang('pastafari2', 'view_task_log', 'View task log')+'</a>']
else:
return ['<a target="_blank" href="'+url_for('admin_app.pastafari2_progress', task_id=row_id)+'">'+I18n.lang('pastafari2', 'view_task_log', 'View task log')+'</a>']

View file

@ -57,23 +57,24 @@ class Task(WebModel):
logtask.safe_query()
parent_id=None
yes_parent=False
yes_parent=0
"""
if type(server).__name__=='list':
server_list=server
server=None
yes_parent=True
"""
if self.insert({'name_task': name_task,'description_task': description_task, 'url_return': url, 'server': server, 'where_sql_server': where_sql_server, 'data': data , 'user': user, 'password': password, 'path': path, 'where_sql_server' : where_sql_server, 'ssh_key_priv': ssh_key_priv, 'ssh_key_password': ssh_key_password}):
if where_sql_server!='':
yes_parent=1
if self.insert({'name_task': name_task,'description_task': description_task, 'url_return': url, 'server': server, 'where_sql_server': where_sql_server, 'data': data , 'user': user, 'password': password, 'path': path, 'where_sql_server' : where_sql_server, 'ssh_key_priv': ssh_key_priv, 'ssh_key_password': ssh_key_password, 'is_parent': yes_parent}):
task_id=self.insert_id()
parent_id=task_id
self.task_id=task_id
arr_ids=[]
if where_sql_server!='':
yes_parent=True
"""
if yes_parent:
for server in server_list:

View file

@ -8,3 +8,4 @@ config_admin.append([I18n.lang('pastafari2', 'pastafari_admin', 'Pastafari admin
config_admin.append([I18n.lang('pastafari2', 'settings', 'Settings'), 'modules.pastafari2.admin.dashboard', 'admin_app.pastafari2_settings', 'fa-code'])
config_admin.append([I18n.lang('pastafari2', 'servers', 'Servers'), 'modules.pastafari2.admin.dashboard', 'admin_app.pastafari2_dashboard', 'fa-linux'])
config_admin.append([I18n.lang('pastafari2', 'groups', 'Groups'), 'modules.pastafari2.admin.groups', 'admin_app.pastafari2_groups', 'fa-object-group'])
config_admin.append([I18n.lang('pastafari2', 'tasks', 'Tasks'), 'modules.pastafari2.admin.tasks', 'admin_app.pastafari2_tasks', 'fa-tasks'])