From 51c2768d6822cd9cb31a01ca10523e30c4abef91 Mon Sep 17 00:00:00 2001
From: Andreas <andreasv@fsmpi.rwth-aachen.de>
Date: Sun, 23 Apr 2017 03:00:53 +0200
Subject: [PATCH] fixed pagination for jobs

---
 jobs.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/jobs.py b/jobs.py
index 59c50d0..0341017 100644
--- a/jobs.py
+++ b/jobs.py
@@ -15,7 +15,6 @@ def jobs_overview():
 		pagesize = min(500, int(request.args['pagesize']))
 	else:
 		pagesize = 50
-	pagecount = math.ceil(query('SELECT count(id) as count FROM jobs')[0]['count']/pagesize)
 
 	worker = query('SELECT * FROM worker ORDER BY last_ping DESC')
 
@@ -31,6 +30,7 @@ def jobs_overview():
 			'state': request.args.get('state','failed'),
 			'worker': request.args.get('worker','%') }
 
+	pagecount = math.ceil(query('SELECT count(id) as count  FROM jobs WHERE (type like ?) AND (worker like ? OR (worker IS NULL AND ? = "%")) AND (state like ?)', filter['type'], filter['worker'], filter['worker'], filter['state'])[0]['count']/pagesize)
 	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)
 
-- 
GitLab