From 3c4174548b561c4813ad1f4df4d59104a81885d3 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Mon, 22 Apr 2013 13:42:45 -0400 Subject: Forum: Record who asked each question --- forum/forum.ur | 23 +++++++++++++++++++++-- forum/lib.urp | 2 ++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/forum/forum.ur b/forum/forum.ur index df53603..9556068 100644 --- a/forum/forum.ur +++ b/forum/forum.ur @@ -29,13 +29,27 @@ table question : { Id : int, } 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 {[row.Question.Asker]})

+

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

fun main () : transaction page = newestQuestions <- queryX (SELECT * FROM question) prettyPrintQuestion; + askerOpt <- getName; return ( Template.generic (Some "Forum")
@@ -45,6 +59,11 @@ fun main () : transaction page =