Index: openacs-4/packages/acs-tcl/tcl/form-processing-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/form-processing-procs.tcl,v diff -u -N -r1.62 -r1.63 --- openacs-4/packages/acs-tcl/tcl/form-processing-procs.tcl 15 Sep 2009 22:58:32 -0000 1.62 +++ openacs-4/packages/acs-tcl/tcl/form-processing-procs.tcl 10 Mar 2010 00:44:03 -0000 1.63 @@ -794,6 +794,7 @@ return -code error "element $element_name: a form can only declare one key" } set af_key_name($form_name) $element_name + set af_type(${form_name}__$element_name) integer if { $af_element_parameters($element_name:key) ne "" } { if { [info exists af_sequence_name($form_name)] } { return -code error "element $element_name: duplicate sequence" @@ -802,6 +803,7 @@ } lappend form_command "-datatype" "integer" "-widget" "hidden" template::element create $form_name __key_signature -datatype text -widget hidden -value "" + template::element create $form_name __key -datatype text -widget hidden -value $element_name template::element create $form_name __new_p -datatype integer -widget hidden -value 0 } @@ -869,17 +871,17 @@ foreach element_name $af_element_names($form_name) { if { [llength $element_name] == 1 } { if { [info exists af_from_sql(${form_name}__$element_name)] } { - if { [empty_string_p [info commands "::template::util::$af_type(${form_name}__$element_name)::acquire"]] } { + if { [info commands "::template::util::$af_type(${form_name}__$element_name)::acquire"] eq "" } { return -code error "\"from_sql\" not valid for type \"$af_type(${form_name}__$element_name)\"" } } if { [info exists af_to_sql(${form_name}__$element_name)] } { - if { [empty_string_p [info commands "::template::util::$af_type(${form_name}__$element_name)::get_property"]] } { + if { [info commands ::template::util::$af_type(${form_name}__$element_name)::get_property] eq "" } { return -code error "\"to_sql\" not valid for type \"$af_type(${form_name}__$element_name)\"" } } if { [info exists af_to_html(${form_name}__$element_name)] } { - if { [empty_string_p [info commands "::template::util::$af_type(${form_name}__$element_name)::get_property"]] } { + if { [empty_string_p [info commands ::template::util::$af_type(${form_name}__$element_name)::get_property]] } { return -code error "\"to_html\" not valid for type \"$af_type(${form_name}__$element_name)\"" } } @@ -969,6 +971,8 @@ if { [info exists af_from_sql(${form_name}__$element_name)] } { set values($element_name) [template::util::$af_type(${form_name}__$element_name)::acquire \ $af_from_sql(${form_name}__$element_name) $values($element_name)] + } elseif { [info commands ::template::data::from_sql::$af_type(${form_name}__$element_name)] ne "" } { + set values($element_name) [template::data::from_sql::$af_type(${form_name}__$element_name) $values($element_name)] } } }