Index: openacs-4/packages/new-portal/tcl/portal-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs-postgresql.xql,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/new-portal/tcl/portal-procs-postgresql.xql 12 Jul 2002 21:26:48 -0000 1.7
+++ openacs-4/packages/new-portal/tcl/portal-procs-postgresql.xql 13 Jul 2002 03:05:24 -0000 1.8
@@ -1,114 +1,143 @@
-postgresql7.1
+ postgresql7.1
-
-
-
- select portal__new (
- null,
- :name,
- :theme_id,
- :layout_id,
- :template_id,
- :default_page_name,
- 'portal',
- now(),
- null,
- null,
- :context_id
- );
-
-
-
+
+
+ select portal__new(
+ null,
+ :name,
+ :theme_id,
+ :layout_id,
+ :template_id,
+ :default_page_name,
+ 'portal',
+ now(),
+ null,
+ null,
+ :context_id
+ );
+
+
-
-
- begin
- portal__delete (:portal_id);
- end;
-
-
+
+
+ select portal__delete(:portal_id);
+
+
-
-
- update portal_element_map
- set region = :region,
- page_id = :page_id,
- sort_key = (select coalesce((select max(pem.sort_key) + 1
- from portal_element_map pem
- where pem.page_id = :page_id
- and region = :region),
- 1)
- from dual)
- where element_id = :element_id
-
-
+
+
+ update portal_element_map
+ set region = :region,
+ page_id = :page_id,
+ sort_key = (select coalesce((select max(pem.sort_key) + 1
+ from portal_element_map pem
+ where pem.page_id = :page_id
+ and region = :region),
+ 1)
+ from dual)
+ where element_id = :element_id
+
+
-
-
- update portal_element_map
- set page_id = :page_id,
- region = :region,
- sort_key = (select coalesce((select max(sort_key) + 1
- from portal_element_map
- where page_id = :page_id
- and region = :region),
- 1)
- from dual)
- where element_id = :element_id
-
-
+
+
+ update portal_element_map
+ set page_id = :page_id,
+ region = :region,
+ sort_key = (select coalesce((select max(sort_key) + 1
+ from portal_element_map
+ where page_id = :page_id
+ and region = :region),
+ 1)
+ from dual)
+ where element_id = :element_id
+
+
-
-
- insert into portal_element_map
- (element_id, name, pretty_name, page_id, datasource_id, region, sort_key)
- values
- (:new_element_id, :ds_name, :pretty_name, :page_id, :ds_id, :region,
- coalesce((select max(sort_key) + 1
- from portal_element_map
- where region = :region
- and page_id = :page_id), 1))
-
-
+
+
+ insert into portal_element_parameters
+ (parameter_id, element_id, config_required_p, configured_p, key, value)
+ select nextval('t_acs_object_id_seq'), :new_element_id, config_required_p, configured_p, key, value
+ from portal_element_parameters
+ where element_id = :template_element_id
+
+
-
-
- update portal_element_map
- set region = :target_region,
- sort_key = (select coalesce((select max(pem.sort_key) + 1
- from portal_element_map pem
- where page_id = :my_page_id
- and region = :target_region),
- 1)
- from dual)
- where element_id = :element_id
-
-
+
+
+ insert into portal_element_parameters
+ (parameter_id, element_id, config_required_p, configured_p, key, value)
+ select nextval('t_acs_object_id_seq'), :new_element_id, config_required_p, configured_p, key, value
+ from portal_datasource_def_params where datasource_id= :ds_id
+
+
-
-
- select portal_page__new (
- null,
- :pretty_name,
- :portal_id,
- :layout_id,
- 'portal_page',
- now(),
- null,
- null,
- null
- );
-
-
+
+
+ insert into portal_element_map
+ (element_id, name, pretty_name, page_id, datasource_id, region,
+ sort_key)
+ values
+ (:new_element_id, :ds_name, :pretty_name, :page_id, :ds_id, :region,
+ coalesce((select max(sort_key) + 1
+ from portal_element_map
+ where region = :region
+ and page_id = :page_id), 1))
+
+
-
-
- select portal_page__delete ( :page_id );
-
-
+
+
+ insert into portal_element_parameters
+ (parameter_id, element_id, configured_p, key, value)
+ select nextval('t_acs_object_id_seq'), :element_id, 't', :key, :value
+ from dual
+ where not exists (select parameter_id
+ from portal_element_parameters
+ where element_id = :element_id
+ and key = :key
+ and value= :value)
+
+
-
+
+
+ update portal_element_map
+ set region = :target_region,
+ sort_key = (select coalesce((select max(pem.sort_key) + 1
+ from portal_element_map pem
+ where page_id = :my_page_id
+ and region = :target_region),
+ 1)
+ from dual)
+ where element_id = :element_id
+
+
+
+
+ select portal_page__new(
+ null,
+ :pretty_name,
+ :portal_id,
+ :layout_id,
+ 'portal_page',
+ now(),
+ null,
+ null,
+ null
+ );
+
+
+
+
+
+ select portal_page__delete(:page_id);
+
+
+
+