[Fencommits] fenserve: make addCategory a redirect

Benja Fallenstein benja.fallenstein at gmail.com
Wed May 23 16:12:09 EEST 2007


Wed May 23 16:12:03 EEST 2007  Benja Fallenstein <benja.fallenstein at gmail.com>
  * make addCategory a redirect
diff -rN -u old-fenserve/fendata/Main.hs new-fenserve/fendata/Main.hs
--- old-fenserve/fendata/Main.hs	2007-05-23 16:12:09.000000000 +0300
+++ new-fenserve/fendata/Main.hs	2007-05-23 16:12:09.000000000 +0300
@@ -9,7 +9,7 @@
 import qualified Data.Map as Map
 import Data.Set (Set)
 import qualified Data.Set as Set
-import Data.Char (toUpper)
+import Data.Char (toUpper, toLower)
 
 import qualified System.IO.Unsafe
 import qualified Control.Exception
@@ -228,7 +228,7 @@
         field name = name ++ "<br>\n"
     respond $ "<h2>Categories</h2>"
            ++ "<p>Add category: "
-           ++ "<form method=post action=addcat>"
+           ++ "<form method=post action=addCategory>"
            ++ "<input type=text name=name>"
            ++ "</form>"
            ++ concatMap category (Map.toList $ stateSchema state) 
@@ -266,10 +266,8 @@
     put $ state { stateSchema = Map.insert cat (fs ++ [name]) (stateSchema state) }
     view
 
-addCategory cat = do
-    state <- get
-    put $ state { stateSchema = Map.insert cat [] $ stateSchema state}
-    run showTable ()
+addCategory (c:cs) s = ("table",
+    s { stateSchema = Map.insert (toLower c : cs) [] $ stateSchema s})
 
 expand s (Call n args) = case readFun s n of 
     Fun _ _ body -> Just $
@@ -397,7 +395,7 @@
         . concatFor (Map.toList fields) $ \(f:fs,v) ->
             "<b>" ++ (toUpper f : fs) ++ ":</b> " ++ v ++ "<br>",
     s) where new = ("<p><form action='newItem' method=post>" ++) .
-                   (++"<a href='addcat'>[Add category]</a></form>") .
+                   (++"<a href='addCategory'>[Add category]</a></form>") .
                    concatFor (Map.keys $ stateSchema s) $ \cat ->
                        "<button style='cursor: pointer; background: none; border: none; font: inherit; margin: 0; padding: 0' name=cat value='"++cat++"'>[New "++cat++"]</button>"++mdot
                  
@@ -452,11 +450,11 @@
                
                , h [""] GET  $ ok $ \() () -> view
                , h ["addfield"] POST $ ok $ \() (cid,name) -> addField cid name
-               , h ["addcat"]   GET  $ ok $ \() () -> respond $
+               , h ["addCategory"]   GET  $ ok $ \() () -> respond $
                      "<h2>Add category</h2>\
                      \<form method=post>Name: <input name=name>\
                      \<input type=submit value='Submit'></form>"
-               , h ["addcat"]   POST $ ok $ \() name -> addCategory name
+               , h ["addCategory"]   POST $ seeOther $ \() -> runRedirect addCategory
                , h ["addpotion"] POST $ seeOther $ \() -> runRedirect addPotion
                ]
 




More information about the Fencommits mailing list