From 350cde2324cf4bc9df6c4bcecf638b8208495b64 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Thu, 25 Apr 2013 17:03:10 -0400 Subject: Forum: Move asker into its own datatype --- forum/forum.ur | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'forum/forum.ur') diff --git a/forum/forum.ur b/forum/forum.ur index 9556068..2dbfcb0 100644 --- a/forum/forum.ur +++ b/forum/forum.ur @@ -21,30 +21,21 @@ functor Make(Template : sig end) = struct open Styles +open Asker table question : { Id : int, Title : string, Body : string, - Asker : option string (* 'None' if anonymous *) + Asker : asker } PRIMARY KEY Id sequence questionIdS -fun showAskerOpt (askerOpt : option string) : string = - case askerOpt of - None => "Anonymous" - | Some nam => nam - -fun readAskerOpt (text : string) : option string = - case text of - "Anonymous" => None - | nam => Some nam - (* Grabs real name out of MIT certificate. *) val getName = getenv (blessEnvVar "SSL_CLIENT_S_DN_CN") fun prettyPrintQuestion row : xbody = -

{[row.Question.Title]}: {[row.Question.Body]} (asked by {[showAskerOpt row.Question.Asker]})

+

{[row.Question.Title]}: {[row.Question.Body]} (asked by {[row.Question.Asker]})

fun main () : transaction page = @@ -61,7 +52,7 @@ fun main () : transaction page =