summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2017-07-27 20:08:01 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2017-07-27 20:08:01 -0400
commit53dbce6998e78ddcb05693c7efdca101075941b0 (patch)
tree47a23272286ae461fcaa4c3fe89c22bbf9015359
parent34196bdad72334f9d8f809d6c9f564667f6011d4 (diff)
Fix last fix, to handle checkboxes properly
-rw-r--r--src/cjr_print.sml7
-rw-r--r--tests/slashform.ur3
2 files changed, 8 insertions, 2 deletions
diff --git a/src/cjr_print.sml b/src/cjr_print.sml
index 8fafc59f..1fdb45d9 100644
--- a/src/cjr_print.sml
+++ b/src/cjr_print.sml
@@ -482,6 +482,11 @@ fun isFile (t : typ) =
TFfi ("Basis", "file") => true
| _ => false
+fun isString (t : typ) =
+ case #1 t of
+ TFfi ("Basis", "string") => true
+ | _ => false
+
fun p_sql_type t = string (Settings.p_sql_ctype t)
fun getPargs (e, _) =
@@ -2955,7 +2960,7 @@ fun p_file env (ds, ps) =
space,
string "=",
space,
- if includesFile then
+ if includesFile andalso isString t then
string "request"
else
unurlify true env t,
diff --git a/tests/slashform.ur b/tests/slashform.ur
index d5993a36..63591886 100644
--- a/tests/slashform.ur
+++ b/tests/slashform.ur
@@ -1,8 +1,9 @@
-fun handler f = return <xml>{[f.F1]} {[f.F2]}</xml>
+fun handler f = return <xml>{[f.F1]} {[f.F2]} {[f.F3]}</xml>
val main = return <xml><body><form>
<textbox{#F1}/>
<textarea{#F2}/>
+ <checkbox{#F3}/>
<upload{#File}/>
<submit action={handler}/>
</form></body></xml>