From 72c898e2b52d6e523acd16495f41f8c3983afe92 Mon Sep 17 00:00:00 2001 From: Daniel Ehrenberg <littledan@Macintosh-103.local> Date: Tue, 10 Feb 2009 19:05:08 -0600 Subject: [PATCH] Code for letting you test the todo list --- extra/webapps/todo/todo.factor | 52 +++++++++++++++++++++++++++++++++- extra/webapps/todo/todo.xml | 11 +++++++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/extra/webapps/todo/todo.factor b/extra/webapps/todo/todo.factor index e1f6c8735a..6ef60c198f 100755 --- a/extra/webapps/todo/todo.factor +++ b/extra/webapps/todo/todo.factor @@ -106,7 +106,8 @@ todo "TODO" : <todo-list> ( -- responder ) todo-list new-dispatcher - <list-action> "" add-responder + <list-action> "list" add-responder + URL" /list" <redirect-responder> "" add-responder <view-action> "view" add-responder <new-action> "new" add-responder <edit-action> "edit" add-responder @@ -115,3 +116,52 @@ todo "TODO" { todo-list "todo" } >>template <protected> "view your todo list" >>description ; + +USING: furnace.auth.features.registration +furnace.auth.features.edit-profile +furnace.auth.features.deactivate-user +db.sqlite +furnace.alloy +io.servers.connection +io.sockets.secure ; + +: <login-config> ( responder -- responder' ) + "Todo list" <login-realm> + "Todo list" >>name + allow-registration + allow-edit-profile + allow-deactivation ; + +: todo-db ( -- db ) "resource:todo.db" <sqlite-db> ; + +: init-todo-db ( -- ) + todo-db [ + init-furnace-tables + todo ensure-table + ] with-db ; + +: <todo-secure-config> ( -- config ) + ! This is only suitable for testing! + <secure-config> + "resource:basis/openssl/test/dh1024.pem" >>dh-file + "resource:basis/openssl/test/server.pem" >>key-file + "password" >>password ; + +: <todo-app> ( -- responder ) + init-todo-db + <todo-list> + <login-config> + todo-db <alloy> ; + +: <todo-website-server> ( -- threaded-server ) + <http-server> + <todo-secure-config> >>secure-config + 8080 >>insecure + 8431 >>secure ; + +: run-todo ( -- ) + <todo-app> main-responder set-global + todo-db start-expiring + <todo-website-server> start-server ; + +MAIN: run-todo diff --git a/extra/webapps/todo/todo.xml b/extra/webapps/todo/todo.xml index f7500cdad2..00ed63560c 100644 --- a/extra/webapps/todo/todo.xml +++ b/extra/webapps/todo/todo.xml @@ -2,7 +2,14 @@ <t:chloe xmlns:t="http://factorcode.org/chloe/1.0"> +<html> + <t:style t:include="resource:extra/webapps/todo/todo.css" /> + <t:style t:include="resource:extra/websites/concatenative/page.css" /> + + <head><t:write-title/><t:write-style/></head> + + <body> <div class="navbar"> <t:a t:href="$todo-list/list">List Items</t:a> @@ -19,4 +26,8 @@ <t:call-next-template /> + </body> + +</html> + </t:chloe>