from settings import config from flask import g, url_for, request, session, make_response, abort from paramecio2.libraries.generate_admin_class import GenerateAdminClass from paramecio2.libraries.i18n import I18n, PGetText 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 pgettext=PGetText(__file__+'/../') _=pgettext.gettext @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 admin.list.order='1' admin.list.fields_showed=['id', 'name_task', 'description_task', 'path', 'is_parent', 'server', 'hostname', 'parent_id'] 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=_('Tasks log'), contents=form_admin, path_module='admin_app.pastafari2_tasks') else: return form_admin abort(404) @admin_app.route('/pastafari2/task_log/', methods=['GET', 'POST']) def pastafari2_task_log(task_id): t=admin_t db=g.connection logtask=LogTask(db) url=url_for('admin_app.pastafari2_task_log', task_id=task_id) logtask.set_conditions('WHERE task_id=%s', task_id) admin=GenerateAdminClass(logtask, url, t) admin.list.raw_query=False #request.args['order']=request.args.get('order', '1') admin.list.order='1' admin.list.fields_showed=['id', 'path', 'server', 'progress', 'message', 'error', 'status', 'data'] admin.list.arr_extra_options=[tasks_no_options] admin.list.limit_pages=100 admin.no_insert=True admin.no_delete=True form_admin=admin.show() if type(form_admin).__name__=='str': return t.load_template('logtask.phtml', title=_('Task log'), contents=form_admin, path_module='admin_app.pastafari2_tasks') else: return form_admin abort(404) def tasks_options(url, row_id, row): if row['is_parent']: return [''+_('View task log')+''] else: return [''+_('View task log')+'', ''+_('View raw task log')+''] def tasks_no_options(url, row_id, row): return ['No options']