Index: openacs-4/packages/cms/tcl/form-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/tcl/form-procs.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/cms/tcl/form-procs.tcl 3 Jul 2001 18:19:12 -0000 1.3 +++ openacs-4/packages/cms/tcl/form-procs.tcl 4 Jul 2001 17:19:59 -0000 1.4 @@ -329,7 +329,7 @@ # if param_source is not 'literal' then # eval or query for the parameter value(s) - #RBM: FIXME! What should it be done with uplevel'd queries?? + #RBM: FIX ME! What should be done with uplevel'd queries?? if { ![string equal $param_source ""] } { if { [string equal $param_source "eval"] } { set source [eval $value] @@ -352,7 +352,7 @@ template::form get_values $form_name title description mime_type - + # FIX ME: check -postgresql version # create the basic revision db_exec_plsql new_content_revision { begin @@ -371,7 +371,10 @@ #ns_ora exec_plsql_bind $db $sql revision_id # query for extended attribute tables - set query " + + set last_table "" + set last_id_column "" + template::query get_extended_attributes rows multirow " select types.table_name, types.id_column, attr.attribute_name, attr.datatype @@ -382,9 +385,9 @@ from acs_object_types where - object_type ^= 'acs_object' + object_type <> 'acs_object' and - object_type ^= 'content_revision' + object_type <> 'content_revision' connect by prior supertype = object_type start with @@ -394,9 +397,6 @@ order by types.inherit_level desc" - set last_table "" - set last_id_column "" - template::query rows multirow $query -db $db for { set i 1 } { $i <= ${rows:rowcount} } { incr i } { upvar 0 "rows:${i}" row template::util::array_to_vars row @@ -441,22 +441,20 @@ # helper function for process_revision_form # PRE: the following variables must be set in the uplevel scope: # columns, values, last_table -proc content::process_revision_form_dml {} { +ad_proc content::process_revision_form_dml {} { uplevel { if { ! [string equal $last_table {}] } { lappend columns $last_id_column lappend values ":revision_id" - set sql " + db_dml insert_revision_form " insert into $last_table ( [join $columns ", "] ) values ( [join $values ", "] )" - - ns_ora dml $db $sql } } } @@ -468,46 +466,27 @@ # are NOT to be inserted # id_value is the revision_id -proc content::insert_element_data { +ad_proc content::insert_element_data { form_name content_type exclusion_list id_value \ {suffix ""} {extra_where ""} } { set sql_exclusion [template::util::tcl_to_sql_list $exclusion_list] set id_value_ref id_value - set query " - select - types.table_name, types.id_column, attr.attribute_name, - attr.datatype - from - acs_attributes attr, - ( select - object_type, table_name, id_column, level as inherit_level - from - acs_object_types - where - object_type not in ($sql_exclusion) - connect by - prior supertype = object_type - start with - object_type = :content_type) types - where - attr.object_type (+) = types.object_type" + set query [db_map ied_get_objects_tree] if { ![template::util::is_nil extra_where] } { - append query " and $extra_where" + append query [db_map ied_get_objects_tree_extra_where] } - - append query " - order by - types.inherit_level desc" + append query [db_map ied_get_objects_tree_order_by] + #ns_log notice "$query" set last_table "" set last_id_column "" - template::query rows multirow $query + template::query insert_element_data rows multirow $query for { set i 1 } { $i <= ${rows:rowcount} } { incr i } { upvar 0 "rows:${i}" row @@ -553,22 +532,20 @@ # helper function for process_revision_form # PRE: the following variables must be set in the uplevel scope: # columns, values, last_table, id_value_ref -proc content::process_insert_statement {} { +ad_proc content::process_insert_statement {} { uplevel { if { ! [string equal $last_table {}] } { lappend columns $last_id_column lappend values ":$id_value_ref" - set sql " + db_dml process_insert_statement " insert into $last_table ( [join $columns ", "] ) values ( [join $values ", "] )" - - ns_ora dml $db $sql } } } @@ -632,7 +609,7 @@ # @see add_revision -proc content::new_item { form_name { tmpfile "" } } { +ad_proc content::new_item { form_name { tmpfile "" } } { foreach param { item_id name locale parent_id content_type } {