From c9384e4cf91ab3280fc30c93033465fb3f7b7153 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 2 Oct 2015 17:03:20 -0400 Subject: [PATCH] UI for /jsonp/update API --- src/site.rkt | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/site.rkt b/src/site.rkt index 0838b30..491e561 100644 --- a/src/site.rkt +++ b/src/site.rkt @@ -75,6 +75,7 @@ [("search") search-page] [("package" (string-arg)) package-page] [("package" (string-arg) "edit") edit-package-page] + [("update-my-packages") update-my-packages-page] [("not-found") not-found-page] [("create") edit-package-page] [("login") login-page] @@ -195,12 +196,15 @@ (format "author:~a" (session-email session)))))) ,(glyphicon 'user) " My packages")) - (li ((class "divider")) - (li (a ((href - ,(login-or-register-url - requested-url - (named-url logout-page)))) - ,(glyphicon 'log-out) " Log out")))))))])) + (li ((class "divider"))) + (li (a ((href ,(named-url update-my-packages-page))) + ,(glyphicon 'refresh) " Rescan all my packages")) + (li ((class "divider"))) + (li (a ((href + ,(login-or-register-url + requested-url + (named-url logout-page)))) + ,(glyphicon 'log-out) " Log out"))))))])) (current-session session) (bootstrap-cookies (if session @@ -1244,6 +1248,20 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(define (update-my-packages-page request) + (authentication-wrap/require-login + #:request request + (jsonp-rpc! "/jsonp/update" '()) + (bootstrap-response "Refresh All My Packages" + `(div + (p "All packages where you are listed as an author are now being rescanned.") + (p "The results will be available after the next index refresh, which is " + "scheduled for " ,(utc->string (/ (next-fetch-deadline) 1000)))) + `(ul (li (a ((href ,(main-page-url))) + "Return to the package index")))))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (define (search-page request) (parameterize ((bootstrap-active-navigation nav-search) (bootstrap-page-scripts '("/searchbox.js")))