Index: openacs-4/packages/acs-object-management/tcl/form-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-object-management/tcl/form-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/acs-object-management/tcl/form-procs.tcl 27 Nov 2009 00:38:50 -0000 1.1 +++ openacs-4/packages/acs-object-management/tcl/form-procs.tcl 11 Dec 2009 00:19:09 -0000 1.2 @@ -21,7 +21,7 @@ } { set form_part [list [list ${object_view}_id:key(acs_object_id_seq)]] lappend form_part [list object_view:text(hidden) [list value $object_view]] - foreach attribute_id [db_list get_attribute_ids {}] { + foreach attribute_id [object_view::get_attribute_ids -object_view $object_view] { lappend form_part [form::element -object_view $object_view -attribute_id $attribute_id] } return $form_part @@ -30,14 +30,20 @@ ad_proc form::get_attributes { -object_view:required -array:required + -form } { + + if { ![info exists form] } { + set form $object_view + } + upvar $array local - foreach attribute_id [db_list get_attribute_ids {}] { + foreach attribute_id [object_view::get_attribute_ids -object_view $object_view] { object_view::attribute::get \ -object_view $object_view \ -attribute_id $attribute_id \ -array attr - set value [template::element::get_value $object_view $attr(view_attribute)] + set value [template::element::get_value $form $attr(view_attribute)] if { [llength [info procs ::template::data::to_sql::${attr(datatype)}]] } { set value [template::data::to_sql::${attr(datatype)} $value] } else {