From a1ed3d00ef2f2befc0b36270d504b02143527938 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 23 Oct 2014 02:45:32 +0300 Subject: [PATCH] Package list --- Application.hs | 1 + Handler/PackageList.hs | 13 +++++++++++++ config/routes | 1 + stackage-server.cabal | 1 + templates/package-list.hamlet | 5 +++++ 5 files changed, 21 insertions(+) create mode 100644 Handler/PackageList.hs create mode 100644 templates/package-list.hamlet diff --git a/Application.hs b/Application.hs index 3e09450..3a4617b 100644 --- a/Application.hs +++ b/Application.hs @@ -54,6 +54,7 @@ import Handler.Progress import Handler.System import Handler.Haddock import Handler.Package +import Handler.PackageList -- This line actually creates our YesodDispatch instance. It is the second half -- of the call to mkYesodData which occurs in Foundation.hs. Please see the diff --git a/Handler/PackageList.hs b/Handler/PackageList.hs new file mode 100644 index 0000000..16fdac2 --- /dev/null +++ b/Handler/PackageList.hs @@ -0,0 +1,13 @@ +module Handler.PackageList where + +import Import +import qualified Database.Esqueleto as E + +getPackageListR :: Handler Html +getPackageListR = do + names <- fmap (map E.unValue) $ runDB $ E.selectDistinct $ E.from $ \u -> do + E.orderBy [E.asc $ u E.^. UploadedName] + return $ u E.^. UploadedName + defaultLayout $ do + setTitle "Package list" + $(widgetFile "package-list") diff --git a/config/routes b/config/routes index b0b0637..e86a67a 100644 --- a/config/routes +++ b/config/routes @@ -25,3 +25,4 @@ /system SystemR GET /haddock/#PackageSetIdent/*Texts HaddockR GET /package/#PackageName PackageR GET +/package PackageListR GET diff --git a/stackage-server.cabal b/stackage-server.cabal index ac93940..d9f853c 100644 --- a/stackage-server.cabal +++ b/stackage-server.cabal @@ -43,6 +43,7 @@ library Handler.System Handler.Haddock Handler.Package + Handler.PackageList if flag(dev) || flag(library-only) cpp-options: -DDEVELOPMENT diff --git a/templates/package-list.hamlet b/templates/package-list.hamlet new file mode 100644 index 0000000..cca76d8 --- /dev/null +++ b/templates/package-list.hamlet @@ -0,0 +1,5 @@ +
+