From 9c234514826187eb228a256f6a9c2e314e91f5d0 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 20 May 2019 08:17:56 +0100 Subject: Handle the 404 case when viewing store items --- guix-data-service/web/controller.scm | 6 +++++- guix-data-service/web/view/html.scm | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm index 79f2848..8482272 100644 --- a/guix-data-service/web/controller.scm +++ b/guix-data-service/web/controller.scm @@ -507,7 +507,11 @@ (let ((derivation (select-derivation-by-output-filename conn filename))) (match derivation (() - #f) + (render-html + #:sxml (general-not-found + "Store item not found" + "No derivation found producing this output") + #:code 404)) (derivations (render-html #:sxml (view-store-item filename diff --git a/guix-data-service/web/view/html.scm b/guix-data-service/web/view/html.scm index 0a9aabb..cec4c19 100644 --- a/guix-data-service/web/view/html.scm +++ b/guix-data-service/web/view/html.scm @@ -29,6 +29,7 @@ #:use-module (texinfo html) #:use-module (json) #:export (index + general-not-found unknown-revision view-statistics view-revision-package-and-version @@ -1389,6 +1390,15 @@ (take data 2)) (vlist->list target-packages-vhash)))))))))))) +(define (general-not-found header-text body) + (layout + #:body + `(,(header) + (div + (@ (class "container")) + (h1 ,header-text) + (p ,body))))) + (define (unknown-revision commit-hash job) (layout #:body -- cgit v1.2.3