Index: openacs-4/packages/acs-templating/tcl/date-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/date-procs.tcl,v diff -u -r1.14.2.1 -r1.14.2.2 --- openacs-4/packages/acs-templating/tcl/date-procs.tcl 5 Mar 2003 14:57:37 -0000 1.14.2.1 +++ openacs-4/packages/acs-templating/tcl/date-procs.tcl 15 Apr 2003 15:44:18 -0000 1.14.2.2 @@ -400,7 +400,7 @@ Get the default ranges for all the numeric fields of a Date object } { switch $what { - year { return [list 2000 2010 1 ] } + year { return [list 2002 2012 1 ] } month { return [list 1 12 1] } day { return [list 1 31 1] } hours { return [list 0 23 1] } Index: openacs-4/packages/acs-templating/tcl/element-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/element-procs.tcl,v diff -u -r1.9.2.6 -r1.9.2.7 --- openacs-4/packages/acs-templating/tcl/element-procs.tcl 20 Mar 2003 16:39:39 -0000 1.9.2.6 +++ openacs-4/packages/acs-templating/tcl/element-procs.tcl 15 Apr 2003 15:44:18 -0000 1.9.2.7 @@ -99,6 +99,9 @@ 1 or 0, and message is to be displayed to the user when the validation step fails. + @option sign specify for a hidden widget that its value should be + signed + @option help_text Text displayed with the element @option help Display helpful hints (date widget only?) @@ -179,7 +182,23 @@ if { [llength $opts(values)] || ! [info exists opts(value)] } { set opts(value) [lindex $opts(values) 0] } + } + + if { [string equal $opts(widget) hidden] + && [info exists opts(sign)] + && $opts(sign) + } { + if {[info exists opts(value)] } { + set val $opts(value) + } else { + set val {} + } + template::element::create $opts(form_id) $opts(id):sig \ + -datatype text \ + -widget hidden \ + -value [ad_sign $val] } + } ad_proc -public template::element::set_properties { form_id element_id args } { @@ -199,6 +218,22 @@ template::util::get_opts $args + if { [string equal $opts(widget) hidden] + && [info exists opts(sign)] + && $opts(sign) + && [info exists opts(value)] } { + if { [template::element::exists $form_id $element_id:sig] } { + template::element::set_properties $form_id $element_id:sig \ + -value [ad_sign $opts(value)] + + } else { + template::element::create $opts(form_id) $opts(id):sig \ + -datatype text \ + -widget hidden \ + -value [ad_sign $opts(value)] + } + } + copy_value_to_values_if_defined } Index: openacs-4/packages/acs-templating/tcl/query-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/query-procs.tcl,v diff -u -r1.11.2.2 -r1.11.2.3 --- openacs-4/packages/acs-templating/tcl/query-procs.tcl 7 Mar 2003 00:45:28 -0000 1.11.2.2 +++ openacs-4/packages/acs-templating/tcl/query-procs.tcl 15 Apr 2003 15:44:18 -0000 1.11.2.3 @@ -696,7 +696,7 @@ size { upvar $multirow_level_up $name:rowcount rowcount if { [template::util::is_nil rowcount] } { - error "malformed multirow datasource - $name" + return 0 } return $rowcount } Index: openacs-4/packages/acs-templating/tcl/widget-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/widget-procs.tcl,v diff -u -r1.14.2.6 -r1.14.2.7 --- openacs-4/packages/acs-templating/tcl/widget-procs.tcl 20 Mar 2003 16:31:14 -0000 1.14.2.6 +++ openacs-4/packages/acs-templating/tcl/widget-procs.tcl 15 Apr 2003 15:44:18 -0000 1.14.2.7 @@ -55,7 +55,7 @@ # include an extra hidden element to indicate that the # value is being selected as opposed to entered - set output "<input type=\"hidden\" name=\"$element(id):select\" value=\"t\" />" + set output "\n<input type=\"hidden\" name=\"$element(id):select\" value=\"t\" />" append output [select element $tag_attributes] } @@ -130,9 +130,9 @@ upvar $element_reference element if { [info exists element(value)] } { - return $element(value) + return "$element(value)[input hidden element $tag_attributes]" } else { - return "" + return [input hidden element $tag_attributes] } } @@ -304,16 +304,20 @@ append output ">\n" foreach option $options_list { - + set label [lindex $option 0] set value [lindex $option 1] - - append output " <option value=\"[template::util::quote_html $value]\" " - + + if {![string equal $label $value]} { + append output " <option value=\"[template::util::quote_html $value]\"" + } else { + append output " <option" + } + if { [info exists values($value)] } { - append output "selected=\"selected\"" + append output " selected=\"selected\"" } - + append output ">$label</option>\n" }