mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-02-22 07:37:53 +01:00
Fix warnings in Handler.Package
This commit is contained in:
parent
f67a22da79
commit
66559c0d9d
@ -19,7 +19,7 @@ import qualified Data.Text as T
|
|||||||
import qualified Data.Text.Encoding as T
|
import qualified Data.Text.Encoding as T
|
||||||
import qualified Data.Text.Lazy as LT
|
import qualified Data.Text.Lazy as LT
|
||||||
|
|
||||||
import Database.Esqueleto ((^.), (&&.), Value (Value))
|
import Database.Esqueleto ((^.))
|
||||||
import qualified Database.Esqueleto as E
|
import qualified Database.Esqueleto as E
|
||||||
import qualified Database.Persist as P
|
import qualified Database.Persist as P
|
||||||
import Formatting
|
import Formatting
|
||||||
@ -39,7 +39,6 @@ packagePage mversion pname = do
|
|||||||
let pname' = toPathPiece pname
|
let pname' = toPathPiece pname
|
||||||
(deprecated, inFavourOf) <- getDeprecated pname'
|
(deprecated, inFavourOf) <- getDeprecated pname'
|
||||||
latests <- getLatests pname'
|
latests <- getLatests pname'
|
||||||
render <- getUrlRender
|
|
||||||
muid <- maybeAuthId
|
muid <- maybeAuthId
|
||||||
(nLikes, liked) <- runDB $ do
|
(nLikes, liked) <- runDB $ do
|
||||||
nLikes <- count [LikePackage ==. pname]
|
nLikes <- count [LikePackage ==. pname]
|
||||||
@ -212,10 +211,6 @@ parseChunk chunk =
|
|||||||
renderEmail :: EmailAddress -> Text
|
renderEmail :: EmailAddress -> Text
|
||||||
renderEmail = T.decodeUtf8 . toByteString
|
renderEmail = T.decodeUtf8 . toByteString
|
||||||
|
|
||||||
-- | Format a number with commas nicely.
|
|
||||||
formatNum :: Int -> Text
|
|
||||||
formatNum = sformat commas
|
|
||||||
|
|
||||||
postPackageLikeR :: PackageName -> Handler ()
|
postPackageLikeR :: PackageName -> Handler ()
|
||||||
postPackageLikeR packageName = maybeAuthId >>= \muid -> case muid of
|
postPackageLikeR packageName = maybeAuthId >>= \muid -> case muid of
|
||||||
Nothing -> return ()
|
Nothing -> return ()
|
||||||
@ -258,31 +253,10 @@ postPackageUntagR packageName =
|
|||||||
Nothing -> error "Need a slug"
|
Nothing -> error "Need a slug"
|
||||||
|
|
||||||
getPackageSnapshotsR :: PackageName -> Handler Html
|
getPackageSnapshotsR :: PackageName -> Handler Html
|
||||||
getPackageSnapshotsR pn = error "getPackageSnapshotsR"
|
getPackageSnapshotsR pn =
|
||||||
{-
|
do snapshots <- getSnapshotsForPackage $ toPathPiece pn
|
||||||
do let haddocksLink ident version =
|
|
||||||
HaddockR ident [concat [toPathPiece pn, "-", toPathPiece version]]
|
|
||||||
snapshots <- (runDB .
|
|
||||||
fmap (map reformat) .
|
|
||||||
E.select . E.from)
|
|
||||||
(\(p,s) ->
|
|
||||||
do E.where_ $
|
|
||||||
(p ^. PackageStackage E.==. s ^. StackageId) &&.
|
|
||||||
(p ^. PackageName' E.==. E.val pn)
|
|
||||||
E.orderBy [E.desc $ s ^. StackageUploaded]
|
|
||||||
return
|
|
||||||
(p ^. PackageVersion
|
|
||||||
,s ^. StackageTitle
|
|
||||||
,s ^. StackageSlug
|
|
||||||
,s ^. StackageHasHaddocks))
|
|
||||||
defaultLayout
|
defaultLayout
|
||||||
(do setTitle ("Packages for " >> toHtml pn)
|
(do setTitle ("Packages for " >> toHtml pn)
|
||||||
$(combineStylesheets 'StaticR
|
$(combineStylesheets 'StaticR
|
||||||
[css_font_awesome_min_css])
|
[css_font_awesome_min_css])
|
||||||
$(widgetFile "package-snapshots"))
|
$(widgetFile "package-snapshots"))
|
||||||
where reformat (Value version,Value title,Value ident,Value hasHaddocks) =
|
|
||||||
(version
|
|
||||||
,fromMaybe title (stripPrefix "Stackage build for " title)
|
|
||||||
,ident
|
|
||||||
,hasHaddocks)
|
|
||||||
-}
|
|
||||||
|
|||||||
@ -26,6 +26,7 @@ module Stackage.Database
|
|||||||
, Package (..)
|
, Package (..)
|
||||||
, getPackage
|
, getPackage
|
||||||
, prettyName
|
, prettyName
|
||||||
|
, getSnapshotsForPackage
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Database.Sqlite (SqliteException)
|
import Database.Sqlite (SqliteException)
|
||||||
@ -573,3 +574,17 @@ getRevDeps pname = run $ do
|
|||||||
|
|
||||||
getPackage :: GetStackageDatabase m => Text -> m (Maybe (Entity Package))
|
getPackage :: GetStackageDatabase m => Text -> m (Maybe (Entity Package))
|
||||||
getPackage = run . getBy . UniquePackage
|
getPackage = run . getBy . UniquePackage
|
||||||
|
|
||||||
|
getSnapshotsForPackage
|
||||||
|
:: GetStackageDatabase m
|
||||||
|
=> Text
|
||||||
|
-> m [(Snapshot, Text)] -- version
|
||||||
|
getSnapshotsForPackage pname = run $ do
|
||||||
|
pid <- getPackageId pname
|
||||||
|
sps <- selectList [SnapshotPackagePackage ==. pid] []
|
||||||
|
fmap catMaybes $ forM sps $ \(Entity _ sp) -> do
|
||||||
|
let sid = snapshotPackageSnapshot sp
|
||||||
|
ms <- get sid
|
||||||
|
return $ case ms of
|
||||||
|
Nothing -> Nothing
|
||||||
|
Just s -> Just (s, snapshotPackageVersion sp)
|
||||||
|
|||||||
@ -10,13 +10,9 @@ $newline never
|
|||||||
Package
|
Package
|
||||||
<th>
|
<th>
|
||||||
Snapshot
|
Snapshot
|
||||||
$forall (version, title, slug, hasHaddocks) <- snapshots
|
$forall (snapshot, version) <- snapshots
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
|
||||||
$if hasHaddocks
|
|
||||||
<a href=@{haddocksLink slug version}>
|
|
||||||
Docs
|
|
||||||
<td>
|
<td>
|
||||||
#{version}
|
#{version}
|
||||||
<td>
|
<td>
|
||||||
<a href=@{SnapshotR slug StackageHomeR}>#{fromMaybe title $ stripSuffix ", exclusive" title}
|
<a href=@{SnapshotR (snapshotName snapshot) $ StackageSdistR $ PNVName pn}>#{snapshotTitle snapshot}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user