diff options
author | TSholokhova <tanja201396@gmail.com> | 2018-08-05 16:55:16 +0200 |
---|---|---|
committer | Clément Lassieur <clement@lassieur.org> | 2018-09-30 13:10:56 +0200 |
commit | f51bd3f55427d65d7d28260ceb05b889a657e0ab (patch) | |
tree | 368a76752f00873f02e78b918e60c7e9114481da /src/cuirass/templates.scm | |
parent | 4e661552c3a0bebd9b584dcf72b9e949fb5582ef (diff) | |
download | cuirass-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.scm | 47 |
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)))))) |