packages feed

informative 0.1.0.7 → 0.1.0.8

raw patch · 4 files changed

+46/−46 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Web.Informative: getArticleIdR :: Int -> WikiHandler Html
+ Web.Informative: getArticleIdR :: Text -> WikiHandler Html
- Web.Informative: getEditR :: Int -> WikiHandler Html
+ Web.Informative: getEditR :: Text -> WikiHandler Html
- Web.Informative: getInsertR :: Int -> WikiHandler Html
+ Web.Informative: getInsertR :: Text -> WikiHandler Html
- Web.Informative: getPrependR :: Int -> WikiHandler Html
+ Web.Informative: getPrependR :: Text -> WikiHandler Html
- Web.Informative: postDeleteR :: Int -> WikiHandler Html
+ Web.Informative: postDeleteR :: Text -> WikiHandler Html
- Web.Informative: postDownR :: Int -> WikiHandler Html
+ Web.Informative: postDownR :: Text -> WikiHandler Html
- Web.Informative: postEditR :: Int -> WikiHandler Html
+ Web.Informative: postEditR :: Text -> WikiHandler Html
- Web.Informative: postInsertR :: Int -> WikiHandler Html
+ Web.Informative: postInsertR :: Text -> WikiHandler Html
- Web.Informative: postPrependR :: Int -> WikiHandler Html
+ Web.Informative: postPrependR :: Text -> WikiHandler Html
- Web.Informative: postUpR :: Int -> WikiHandler Html
+ Web.Informative: postUpR :: Text -> WikiHandler Html
- Web.Informative: renderShowArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> AuthResult -> Maybe Html -> [(Int, (Int64, Either Html [[Html]], TextKind))] -> [(Int64, Text, UTCTime)] -> Text -> HandlerT Informative (HandlerT master IO) Html
+ Web.Informative: renderShowArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> AuthResult -> Maybe Html -> [(Int, (Text, Either Html [[Html]], TextKind))] -> [(Text, Text, UTCTime)] -> Text -> HandlerT Informative (HandlerT master IO) Html

Files

Web/Informative.hs view
@@ -87,7 +87,7 @@ toClassname = filter isAlphaNum . T.unpack remCR = filter (/=chr 13) -renderShowArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> AuthResult -> Maybe Html -> [(Int,(Int64,Either Html [[Html]],TextKind))] -> [(Int64,T.Text,UTCTime)] -> T.Text -> HandlerT Informative (HandlerT master IO) Html+renderShowArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> AuthResult -> Maybe Html -> [(Int,(T.Text,Either Html [[Html]],TextKind))] -> [(T.Text,T.Text,UTCTime)] -> T.Text -> HandlerT Informative (HandlerT master IO) Html renderShowArticle suggs loggedIn authR toParent mayEdit mmsg sects edits page = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod@@ -106,22 +106,22 @@     toWidget $(hamletFile "informative-edit.htm")     toWidget $(cassiusFile "informative.css") -getArticleIdR :: Int -> WikiHandler Html+getArticleIdR :: T.Text -> WikiHandler Html getArticleIdR pageid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod   (edits,sects',page,suggs) <- lift $ runDB $ do-    let Right pid = keyFromValues [PersistInt64 $ fromIntegral pageid] :: Either T.Text WikipageId+    let pid = read $ T.unpack pageid     wp <- get pid     (sects,page) <- case wp of-      Nothing -> return ([(-1,Left $ convFmt LaTeX "\\section{404 Not Found} We're sorry, but that article doesn't exist in our database.", Error)],"none")+      Nothing -> return ([("/new/",Left $ convFmt LaTeX "\\section{404 Not Found} We're sorry, but that article doesn't exist in our database.", Error)],"none")       Just p -> do         rels <- selectList [WikirelPage ==. pid] [Asc WikirelIndex]-        sects <- forM rels $ \(Entity k r) -> let [PersistInt64 rid] = keyToValues k in liftM (rid,) $ get $ wikirelSection r+        sects <- forM rels $ \(Entity k r) -> liftM (T.pack $ show k,) $ get $ wikirelSection r         let s' = map (\(rid,Just  s) -> (rid,convSect (wikisectionKind s) (wikisectionFormat s) (wikisectionContent s), wikisectionKind s)) sects         return (s', wikipageTitle p)     hs <- selectList [WikipageTitle ==. page, WikipageSegment ==. seg] [Desc WikipageTimestamp, LimitTo 10]-    let es = map (\(Entity k p) -> (let [PersistInt64 pid] = keyToValues k in pid, wikipageEditor p, wikipageTimestamp p)) hs+    let es = map (\(Entity k p) -> (T.pack $ show k, wikipageEditor p, wikipageTimestamp p)) hs     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]     return (es,sects,page,suggs)   toParent <- getRouteToParent@@ -140,12 +140,12 @@     wp <- selectList [WikipageTitle ==. page, WikipageSegment ==. seg] [Desc WikipageTimestamp, LimitTo 10]     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]     case wp of-      [] -> return ([], [(-1,Left $ convFmt LaTeX "\\section{404 Not Found} We're sorry, but that article doesn't exist in our database.", Error)],suggs)+      [] -> return ([], [("/new/",Left $ convFmt LaTeX "\\section{404 Not Found} We're sorry, but that article doesn't exist in our database.", Error)],suggs)       hs@((Entity pid p):_) -> do         rels <- selectList [WikirelPage ==. pid] [Asc WikirelIndex]-        sects <- forM rels $ \(Entity k r) -> let [PersistInt64 rid] = keyToValues k in liftM (rid,) $ get $ wikirelSection r+        sects <- forM rels $ \(Entity k r) -> liftM (T.pack $ show k,) $ get $ wikirelSection r         let s' = map (\(rid,Just  s) -> (rid,convSect (wikisectionKind s) (wikisectionFormat s) (wikisectionContent s), wikisectionKind s)) sects-            es = map (\(Entity k p) -> (let [PersistInt64 pid] = keyToValues k in pid, wikipageEditor p, wikipageTimestamp p)) hs+            es = map (\(Entity k p) -> (T.pack $ show k, wikipageEditor p, wikipageTimestamp p)) hs         return (es, s',suggs)   toParent <- getRouteToParent   mayEdit <- lift $ isAuthorized (toParent $ ArticleR page) True@@ -174,13 +174,13 @@         formats = [("Markdown",Markdown),("MediaWiki",MediaWiki),("ReStructuredText",ReStructuredText),("LaTeX",LaTeX),("Textile",Textile),("Source code",Source "" 1),("Plain text",Plain)]         kinds = map (T.pack . show &&& id) [minBound..maxBound] -getEditR :: Int -> WikiHandler Html+getEditR :: T.Text -> WikiHandler Html getEditR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod   (msect, mprec, kind, fmt, suggs, page) <- lift $ runDB $ do     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]-    rel <- let Right k = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId in get k+    rel <- get $ read $ T.unpack rid     case rel of       Nothing -> return (Nothing, Nothing, Error, Plain, suggs, "none")       Just rel -> do@@ -199,13 +199,13 @@   submitR <- return $ toParent $ EditR rid   renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page -getInsertR :: Int -> WikiHandler Html+getInsertR :: T.Text -> WikiHandler Html getInsertR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod   (suggs, page) <- lift $ runDB $ do     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]-    rel <- let Right k = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId in get k+    rel <-  get $ read $ T.unpack rid     case rel of       Nothing -> return (suggs, "none")       Just rel -> do@@ -224,13 +224,13 @@   kind <- return Article   renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page -getPrependR :: Int -> WikiHandler Html+getPrependR :: T.Text -> WikiHandler Html getPrependR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod   (suggs, page) <- lift $ runDB $ do     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]-    rel <- let Right k = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId in get k+    rel <- get $ read $ T.unpack rid     case rel of       Nothing -> return (suggs, "none")       Just rel -> do@@ -268,11 +268,11 @@   kind <- return Article   renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page -postEditR :: Int -> WikiHandler Html+postEditR :: T.Text -> WikiHandler Html postEditR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod-  let Right rid' = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId+  let rid' = read $ T.unpack rid   (msect, mprec, kind, fmt, suggs, page) <- lift $ runDB $ do     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]     rel <- get rid'@@ -319,11 +319,11 @@       form <- lift $ widgetToPageContent widget       renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page -postInsertR :: Int -> WikiHandler Html+postInsertR :: T.Text -> WikiHandler Html postInsertR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod-  let Right rid' = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId+  let rid' = read $ T.unpack rid   (suggs, page) <- lift $ runDB $ do     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]     rel <- get rid'@@ -374,11 +374,11 @@       form <- lift $ widgetToPageContent widget       renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page  -postPrependR :: Int -> WikiHandler Html+postPrependR :: T.Text -> WikiHandler Html postPrependR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod-  let Right rid' = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId+  let rid' = read $ T.unpack rid   (suggs, page) <- lift $ runDB $ do     suggs <- selectList [WikisuggSegment ==. seg] [Asc WikisuggIndex]     rel <- get rid'@@ -451,7 +451,7 @@   case (exists,result,action) of     (False,FormSuccess (SectionData k f lg ln (Textarea c)),"save") -> do       lift $ runDB $ do-        Right sid <- insertBy $ Wikisection c (source f lg ln) k+        sid <- insert $ Wikisection c (source f lg ln) k         Right pid <- insertBy $ Wikipage page seg user now         insertBy $ Wikirel pid sid 1       setMessage $ toHtml ("Page has been created." :: T.Text)@@ -467,14 +467,14 @@       form <- lift $ widgetToPageContent widget       renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page  -postDownR :: Int -> WikiHandler Html+postDownR :: T.Text -> WikiHandler Html postDownR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod   user <- lift getUserName   now <- liftIO getCurrentTime   toParent <- getRouteToParent-  let Right rid' = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId+  let rid' = read $ T.unpack rid   page <- lift $ runDB $ do     rel <- get rid'     case rel of@@ -495,14 +495,14 @@             return $ wikipageTitle page   lift $ redirect $ toParent $ ArticleR page -postUpR :: Int -> WikiHandler Html+postUpR :: T.Text -> WikiHandler Html postUpR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod   user <- lift getUserName   now <- liftIO getCurrentTime   toParent <- getRouteToParent-  let Right rid' = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId+  let rid' = read $ T.unpack rid   page <- lift $ runDB $ do     rel <- get rid'     case rel of@@ -523,14 +523,14 @@             return $ wikipageTitle page   lift $ redirect $ toParent $ ArticleR page -postDeleteR :: Int -> WikiHandler Html+postDeleteR :: T.Text -> WikiHandler Html postDeleteR rid = do   seg <- liftM getSegment getYesod   pref <- liftM getPrefix getYesod   user <- lift getUserName   now <- liftIO getCurrentTime   toParent <- getRouteToParent-  let Right rid' = keyFromValues [PersistInt64 $ fromIntegral rid] :: Either T.Text WikirelId+  let rid' = read $ T.unpack rid   page <- lift $ runDB $ do     rel <- get rid'     case rel of
Web/Informative/Data.hs view
@@ -9,13 +9,13 @@  mkYesodSubData "Informative" [parseRoutes|  /article/#Text ArticleR GET- /articleid/#Int ArticleIdR GET- /edit/#Int EditR GET POST- /insert/#Int InsertR GET POST- /prepend/#Int PrependR GET POST- /down/#Int DownR POST- /up/#Int UpR POST- /delete/#Int DeleteR POST+ /articleid/#Text ArticleIdR GET+ /edit/#Text EditR GET POST+ /insert/#Text InsertR GET POST+ /prepend/#Text PrependR GET POST+ /down/#Text DownR POST+ /up/#Text UpR POST+ /delete/#Text DeleteR POST  /create/#Text CreateR GET POST |] 
informative.cabal view
@@ -10,7 +10,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.1.0.7+version:             0.1.0.8  -- A short (one-line) description of the package. synopsis:            A yesod subsite serving a wiki.
informative.htm view
@@ -17,9 +17,9 @@       #{msg}   $if not (null sects)     $with (idx, (rid, sect, kind)) <- head sects-      $if ((mayEdit == Authorized) && (rid >= 0))+      $if ((mayEdit == Authorized) && (rid /= "/new/"))         <div .edit>-          <a href=@{toParent $ PrependR $ fromIntegral rid}>insert+          <a href=@{toParent $ PrependR rid}>insert   $forall (idx, (rid, sect, kind)) <- sects     $case (sect, kind)       $of (Left c, Article)@@ -51,22 +51,22 @@               <tr>                 $forall c <- cols                   <td>#{c}-    $if ((mayEdit == Authorized) && (rid < 0))+    $if ((mayEdit == Authorized) && (rid == "/new/"))       <div .edit>         <a href=@{toParent $ CreateR page}>create-    $if ((mayEdit == Authorized) && (rid >= 0))+    $if ((mayEdit == Authorized) && (rid /= "/new/"))       <div .edit>         $if idx > 1-          <form method=post action=@{toParent $ UpR $ fromIntegral rid}>+          <form method=post action=@{toParent $ UpR  rid}>             <button .linkbutton>up         $if idx < length sects-          <form method=post action=@{toParent $ DownR $ fromIntegral rid}>+          <form method=post action=@{toParent $ DownR rid}>             <button .linkbutton>down         $if length sects > 1-          <form method=post action=@{toParent $ DeleteR $ fromIntegral rid}>+          <form method=post action=@{toParent $ DeleteR rid}>             <button .linkbutton>delete-        <a href=@{toParent $ InsertR $ fromIntegral rid}>insert-        <a href=@{toParent $ EditR $ fromIntegral rid}>edit+        <a href=@{toParent $ InsertR rid}>insert+        <a href=@{toParent $ EditR rid}>edit   <div .table>     <table>       <thead>@@ -88,6 +88,6 @@         $forall (i, editor, stamp) <- tail edits           <tr>             <td>-              <a href=@{toParent $ ArticleIdR $ fromIntegral i}>#{page}+              <a href=@{toParent $ ArticleIdR i}>#{page}             <td>#{editor}             <td>#{formatTime defaultTimeLocale "%Y-%m-%d %H:%M:%S %Z" stamp}