aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/web/revision
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-07-03 20:33:16 +0100
committerChristopher Baines <mail@cbaines.net>2020-07-03 20:33:16 +0100
commit4b1dc76f186439cbc2b2c8d8238814b242b68417 (patch)
tree49a3b0ae4cdc1f82f47349a43b529f27587c689e /guix-data-service/web/revision
parent69d3c83986233daa7bab7beb382a79274f9fe7af (diff)
downloaddata-service-4b1dc76f186439cbc2b2c8d8238814b242b68417.tar
data-service-4b1dc76f186439cbc2b2c8d8238814b242b68417.tar.gz
Improve the revision builds page
Allow specifying how many results to show, and say how many results are being shown.
Diffstat (limited to 'guix-data-service/web/revision')
-rw-r--r--guix-data-service/web/revision/controller.scm22
-rw-r--r--guix-data-service/web/revision/html.scm8
2 files changed, 23 insertions, 7 deletions
diff --git a/guix-data-service/web/revision/controller.scm b/guix-data-service/web/revision/controller.scm
index 5ef3451..ceb8d1d 100644
--- a/guix-data-service/web/revision/controller.scm
+++ b/guix-data-service/web/revision/controller.scm
@@ -282,12 +282,18 @@
(('GET "revision" commit-hash "builds")
(if (guix-commit-exists? conn commit-hash)
(let ((parsed-query-parameters
- (parse-query-parameters
- request
- `((build_status ,parse-build-status #:multi-value)
- (build_server ,(parse-build-server conn) #:multi-value)
- (system ,parse-system #:default "x86_64-linux")
- (target ,parse-target #:default "")))))
+ (guard-against-mutually-exclusive-query-parameters
+ (parse-query-parameters
+ request
+ `((build_status ,parse-build-status #:multi-value)
+ (build_server ,(parse-build-server conn) #:multi-value)
+ (system ,parse-system #:default "x86_64-linux")
+ (target ,parse-target #:default "")
+ (limit_results ,parse-result-limit
+ #:no-default-when (all_results)
+ #:default 50)
+ (all_results ,parse-checkbox-value)))
+ '((limit_results all_results)))))
(render-revision-builds mime-types
conn
@@ -1057,7 +1063,9 @@
'build_server)
#:revision-commit commit-hash
#:system system
- #:target target))))))
+ #:target target
+ #:limit (assq-ref query-parameters
+ 'limit_results)))))))
(define* (render-revision-lint-warnings mime-types
conn
diff --git a/guix-data-service/web/revision/html.scm b/guix-data-service/web/revision/html.scm
index 6aa3218..543fba8 100644
--- a/guix-data-service/web/revision/html.scm
+++ b/guix-data-service/web/revision/html.scm
@@ -1908,6 +1908,13 @@ figure {
#:allow-selecting-multiple-options #f
#:help-text "Only include derivations that are build for this system."
#:font-family "monospace")
+ ,(form-horizontal-control
+ "Limit results" query-parameters
+ #:help-text "The maximum number of results to return.")
+ ,(form-horizontal-control
+ "All results" query-parameters
+ #:type "checkbox"
+ #:help-text "Return all results")
(div (@ (class "form-group form-group-lg"))
(div (@ (class "col-sm-offset-2 col-sm-10"))
(button (@ (type "submit")
@@ -1915,6 +1922,7 @@ figure {
"Update results")))))))
(div
(@ (class "row"))
+ (p "Showing " ,(length builds) " results")
(div
(@ (class "col-sm-12"))
(table