Index: openacs-4/contrib/packages/bcms/tcl/bcms-folder-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/bcms/tcl/bcms-folder-procs-postgresql.xql,v
diff -u -r1.3 -r1.4
--- openacs-4/contrib/packages/bcms/tcl/bcms-folder-procs-postgresql.xql 5 Oct 2003 12:28:03 -0000 1.3
+++ openacs-4/contrib/packages/bcms/tcl/bcms-folder-procs-postgresql.xql 13 Oct 2003 17:07:26 -0000 1.4
@@ -48,13 +48,6 @@
-
-
-
- select content_folder__new(:name, :folder_label, :description, :parent_id)
-
-
-
select content_folder__delete(:folder_id)
Index: openacs-4/contrib/packages/bcms/tcl/bcms-folder-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/bcms/tcl/bcms-folder-procs.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/contrib/packages/bcms/tcl/bcms-folder-procs.tcl 9 Oct 2003 09:57:17 -0000 1.7
+++ openacs-4/contrib/packages/bcms/tcl/bcms-folder-procs.tcl 13 Oct 2003 17:07:27 -0000 1.8
@@ -39,6 +39,9 @@
{-folder_label:required}
{-parent_id:required}
{-description ""}
+ {-package_id ""}
+ {-context_id ""}
+ {-folder_id ""}
} {
creates a new folder in cr_folders
@@ -50,7 +53,29 @@
@return the folder_id that was created
} {
- set folder_id [db_exec_plsql create_folder "SQL"]
+ if { [empty_string_p $context_id] } {
+ set context_id $parent_id
+ }
+
+ set extra_vars [ns_set create]
+ ns_set put $extra_vars label $folder_label
+ oacs_util::vars_to_ns_set \
+ -ns_set $extra_vars \
+ -var_list { name parent_id description context_id folder_id }
+
+ db_transaction {
+ set folder_id [package_instantiate_object \
+ -extra_vars $extra_vars \
+ -package_name "content_folder" \
+ "content_folder"]
+
+ # For some reason, this is not included in the PL/SQL call
+ if { ![empty_string_p $package_id] } {
+ db_dml update_package_id {
+ update cr_folders set package_id = :package_id where folder_id = :folder_id
+ }
+ }
+ }
ns_log notice "bcms::folder::create_folder created folder $folder_id"
return $folder_id
}