diff --git a/Handler/Haddock.hs b/Handler/Haddock.hs index 29c537f..799ff17 100644 --- a/Handler/Haddock.hs +++ b/Handler/Haddock.hs @@ -23,15 +23,17 @@ form = renderDivs $ areq fileField "tarball containing docs" { fsName = Just "tarball" } Nothing -getUploadHaddockR, putUploadHaddockR :: SnapSlug -> Handler Html +getUploadHaddockR, putUploadHaddockR :: Text -> Handler Html getUploadHaddockR slug0 = do uid <- requireAuthIdOrToken Entity sid Stackage {..} <- runDB $ do -- Provide fallback for old URLs - ment <- getBy $ UniqueSnapshot slug0 + ment <- getBy $ UniqueStackage $ PackageSetIdent slug0 case ment of Just ent -> return ent - Nothing -> getBy404 $ UniqueStackage $ PackageSetIdent $ toPathPiece slug0 + Nothing -> do + slug <- maybe notFound return $ fromPathPiece slug0 + getBy404 $ UniqueSnapshot slug let ident = stackageIdent slug = stackageSlug unless (uid == stackageUser) $ permissionDenied "You do not control this snapshot" diff --git a/config/routes b/config/routes index 39ac0db..69aa115 100644 --- a/config/routes +++ b/config/routes @@ -10,7 +10,7 @@ /email/#EmailId EmailR DELETE /reset-token ResetTokenR POST /upload UploadStackageR GET PUT -/upload-haddock/#SnapSlug UploadHaddockR GET PUT +/upload-haddock/#Text UploadHaddockR GET PUT /stackage/#PackageSetIdent/*Texts OldStackageR GET diff --git a/templates/stackage-home.hamlet b/templates/stackage-home.hamlet index 6bb68af..3007ef2 100644 --- a/templates/stackage-home.hamlet +++ b/templates/stackage-home.hamlet @@ -24,7 +24,7 @@ $newline never $if isOwner

You are the owner of this snapshot. You can # - upload haddocks# + upload haddocks# .

diff --git a/templates/upload-haddock.hamlet b/templates/upload-haddock.hamlet
index b3b57ee..4c48b46 100644
--- a/templates/upload-haddock.hamlet
+++ b/templates/upload-haddock.hamlet
@@ -7,7 +7,7 @@
     $if stackageHasHaddocks
         
You have already uploaded Haddocks. Uploading against will delete the old contents. -
+ ^{widget}