From 97092955fb27c6aab94f5c9de6c26c2c5fa9e89c Mon Sep 17 00:00:00 2001 From: Andreas <andreasv@fsmpi.rwth-aachen.de> Date: Thu, 8 Jun 2017 08:55:24 +0200 Subject: [PATCH] added option to clear all failed jobs --- jobs.py | 8 ++++++++ templates/jobs_overview.html | 8 +++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/jobs.py b/jobs.py index 0341017..12f7ce9 100644 --- a/jobs.py +++ b/jobs.py @@ -34,6 +34,14 @@ def jobs_overview(): jobs = query('SELECT * FROM jobs WHERE (type like ?) AND (worker like ? OR (worker IS NULL AND ? = "%")) AND (state like ?) ORDER BY `time_created` DESC LIMIT ? OFFSET ?', filter['type'], filter['worker'], filter['worker'], filter['state'], pagesize, page*pagesize) return render_template('jobs_overview.html',worker=worker,jobs=jobs, filter_values=filter_values, filter=filter, page=page, pagesize=pagesize, pagecount=pagecount) +@app.route('/internal/jobs/action/<action>') +@mod_required +@csrf_protect +def jobs_action(action): + if action == 'clear_failed': + query('UPDATE jobs SET state="deleted" WHERE state="failed"') + return redirect(request.values.get('ref', url_for('jobs_overview'))) + def jobs_api_token_required(func): @wraps(func) def decorator(*args, **kwargs): diff --git a/templates/jobs_overview.html b/templates/jobs_overview.html index 161aa6c..835bcbe 100644 --- a/templates/jobs_overview.html +++ b/templates/jobs_overview.html @@ -34,9 +34,11 @@ </div> <div class="panel panel-default"> <div class="panel-heading"> - <h1 class="panel-title"> - Jobs - </h1> + <h1 class="panel-title"> + Jobs + <a class="btn btn-default">Job(s) erzeugen</a> + <a class="btn btn-default" href="{{url_for('jobs_action', action='clear_failed', ref=request.url)}}" >Alle fehlgeschlagenen Jobs löschen</a> + </h1> </div> <div class="panel-collapse collapse in"> <div class="panel-body"> -- GitLab