From b4d3f1807f7a5a4c59f5b72d7b3877d9eba76ff1 Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Mon, 25 Apr 2022 01:25:03 +0200 Subject: [PATCH] Fixes in pastafari --- admin/dashboard.py | 46 ++++++++++++++++++++-------- templates/admin/dash_pastafari.phtml | 17 ++++++++++ templates/admin/maketask.phtml | 36 ++++++++++++++++++++++ 3 files changed, 87 insertions(+), 12 deletions(-) create mode 100644 templates/admin/maketask.phtml diff --git a/admin/dashboard.py b/admin/dashboard.py index a0233b6..026089f 100644 --- a/admin/dashboard.py +++ b/admin/dashboard.py @@ -501,11 +501,14 @@ def pastafari2_make_task(): db=g.connection ids=json.loads(request.form.get('ids', '[]')) + + json_ids=json.dumps(ids) + arr_ids=[] - task_file=request.form.get('task', '') + task_path=request.form.get('task', '') - task_file=task_file.replace('/', '.') + task_file=task_path.replace('/', '.') task_file=task_file.replace('.py', '') @@ -518,6 +521,14 @@ def pastafari2_make_task(): send_task=request.args.get('send_task', '') + error=0 + txt_error='' + error_form={} + + task=Task(db) + + task_id=0 + #if not os.path.isfile(task) if send_task=='': @@ -526,13 +537,28 @@ def pastafari2_make_task(): if hasattr(task_first, 'form'): - url_exec=url_for('.pastafari2_make_task', ids=ids, task_file=task_file, send_task=1) + url_exec=url_for('.pastafari2_make_task', send_task=1) - return t.load_template('maketask.phtml', form=task_first.form(t, yes_error=False, pass_values=False), url_exec=url_exec) + return t.load_template('maketask.phtml', title=I18n.lang('pastafari2', 'make_task', 'Make task'), form=task_first.form(t, yes_error=False, pass_values=False), url_exec=url_exec, ids=json_ids, task_file=task_path) - error=0 - txt_error='' - error_form={} + elif send_task!='': + + if hasattr(task_first, 'form'): + + #Check form + + if not task_first.check_form(request.form): + + error=1 + txt_error=I18n.lang('pastafari2', 'error_fields_required', 'Errors: fields required') + + for k,v in task_first.arr_form.items(): + if task_first.arr_form[k].error: + error_form['#'+k+'_error']=task_first.arr_form[k].txt_error + + return {'error': error, 'txt_error': txt_error, 'error_form': error_form, 'task_id': task_id} + + pass #print(ids) for v in ids: @@ -542,11 +568,7 @@ def pastafari2_make_task(): #print(where_sql) - task=Task(db) - - task_id=0 - - path_task='modules.pastafari2.tasks.system.updates' + path_task=task_file #Load task, check if have question diff --git a/templates/admin/dash_pastafari.phtml b/templates/admin/dash_pastafari.phtml index ee1d992..c74c968 100644 --- a/templates/admin/dash_pastafari.phtml +++ b/templates/admin/dash_pastafari.phtml @@ -159,6 +159,23 @@ $(document).ready(function () { return false; } + else { + + //Make a normal submit to url_task for make_task form + + var form=$("
", { 'action': url_task, 'method': 'POST'}); + + form.append( $('', {'type': 'hidden', 'name': 'ids', 'value': JSON.stringify(server_ids)}) ) + + form.append( $('', {'type': 'hidden', 'name': 'task', 'value': task}) ) + + $("body").append(form); + + form.submit(); + + return false; + + } } $('#layer_loading').show(); diff --git a/templates/admin/maketask.phtml b/templates/admin/maketask.phtml new file mode 100644 index 0000000..bc9c338 --- /dev/null +++ b/templates/admin/maketask.phtml @@ -0,0 +1,36 @@ +<%inherit file="dashboard.phtml"/> +<%block name="content"> + +${form|n} + + +${csrf_token()|n} +

+
+ +<%block name="jscript_block"> + + + +