summaryrefslogtreecommitdiff
path: root/src/cuirass/templates.scm
diff options
context:
space:
mode:
authorTSholokhova <tanja201396@gmail.com>2018-08-05 16:55:16 +0200
committerClément Lassieur <clement@lassieur.org>2018-09-30 13:10:56 +0200
commitf51bd3f55427d65d7d28260ceb05b889a657e0ab (patch)
tree368a76752f00873f02e78b918e60c7e9114481da /src/cuirass/templates.scm
parent4e661552c3a0bebd9b584dcf72b9e949fb5582ef (diff)
downloadcuirass-f51bd3f55427d65d7d28260ceb05b889a657e0ab.tar
cuirass-f51bd3f55427d65d7d28260ceb05b889a657e0ab.tar.gz
templates: Allow to filter builds by status.
* src/cuirass/database.scm (db-get-builds): Add 'succeeded' and 'failed' status filters. (db-get-builds-min, db-get-builds-max): Add support for a new 'status' argument. * src/cuirass/http.scm (url-handler): Add a status argument for the '/eval/id' endpoint. * src/cuirass/templates.scm (evaluation-badges): Add links to the buttons. (build-eval-table): Add a 'status' argument. Co-authored-by: Clément Lassieur <clement@lassieur.org>
Diffstat (limited to 'src/cuirass/templates.scm')
-rw-r--r--src/cuirass/templates.scm47
1 files changed, 29 insertions, 18 deletions
diff --git a/src/cuirass/templates.scm b/src/cuirass/templates.scm
index 7ee579c..31c6081 100644
--- a/src/cuirass/templates.scm
+++ b/src/cuirass/templates.scm
@@ -113,11 +113,14 @@
(define (evaluation-badges evaluation)
(if (zero? (assq-ref evaluation #:in-progress))
- `((a (@ (href "#") (class "badge badge-success"))
+ `((a (@ (href "/eval/" ,(assq-ref evaluation #:id) "?status=succeeded")
+ (class "badge badge-success"))
,(assq-ref evaluation #:succeeded))
- (a (@ (href "#") (class "badge badge-danger"))
+ (a (@ (href "/eval/" ,(assq-ref evaluation #:id) "?status=failed")
+ (class "badge badge-danger"))
,(assq-ref evaluation #:failed))
- (a (@ (href "#") (class "badge badge-secondary"))
+ (a (@ (href "/eval/" ,(assq-ref evaluation #:id) "?status=pending")
+ (class "badge badge-secondary"))
,(assq-ref evaluation #:scheduled)))
'((em "In progress…"))))
@@ -158,9 +161,9 @@
(format #f "?border-high=~d" page-id-min))
(format #f "?border-low=~d" (1- id-min)))))))
-(define (build-eval-table builds build-min build-max)
- "Return HTML for the BUILDS table NAME. BUILD-MIN and BUILD-MAX are
- global minimal and maximal (stoptime, id) pairs."
+(define (build-eval-table builds build-min build-max status)
+ "Return HTML for the BUILDS table evaluation with given STATUS. BUILD-MIN
+and BUILD-MAX are global minimal and maximal (stoptime, rowid) pairs."
(define (table-header)
`(thead
(tr
@@ -217,19 +220,27 @@
(page-build-min (last build-time-ids))
(page-build-max (first build-time-ids)))
(pagination
- (format #f "?border-high-time=~d&border-high-id=~d"
- (build-stoptime build-max)
- (1+ (build-id build-max)))
+ (format
+ #f "?border-high-time=~d&border-high-id=~d~@[&status=~a~]"
+ (build-stoptime build-max)
+ (1+ (build-id build-max))
+ status)
(if (equal? page-build-max build-max)
""
- (format #f "?border-low-time=~d&border-low-id=~d"
- (build-stoptime page-build-max)
- (build-id page-build-max)))
+ (format
+ #f "?border-low-time=~d&border-low-id=~d~@[&status=~a~]"
+ (build-stoptime page-build-max)
+ (build-id page-build-max)
+ status))
(if (equal? page-build-min build-min)
""
- (format #f "?border-high-time=~d&border-high-id=~d"
- (build-stoptime page-build-min)
- (build-id page-build-min)))
- (format #f "?border-low-time=~d&border-low-id=~d"
- (build-stoptime build-min)
- (1- (build-id build-min))))))))
+ (format
+ #f "?border-high-time=~d&border-high-id=~d~@[&status=~a~]"
+ (build-stoptime page-build-min)
+ (build-id page-build-min)
+ status))
+ (format
+ #f "?border-low-time=~d&border-low-id=~d~@[&status=~a~]"
+ (build-stoptime build-min)
+ (1- (build-id build-min))
+ status))))))