Index: openacs-4/packages/new-portal/tcl/portal-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs-oracle.xql,v diff -u -N -r1.18 -r1.19 --- openacs-4/packages/new-portal/tcl/portal-procs-oracle.xql 12 Jul 2002 21:26:48 -0000 1.18 +++ openacs-4/packages/new-portal/tcl/portal-procs-oracle.xql 13 Jul 2002 03:05:24 -0000 1.19 @@ -1,109 +1,140 @@ -oracle8.1.6 + oracle8.1.6 - - + + + begin + :1 := portal.new ( + name => :name, + layout_id => :layout_id, + template_id => :template_id, + default_page_name => :default_page_name, + theme_id => :theme_id, + context_id => :context_id + ); + end; + + - begin - :1 := portal.new ( - name => :name, - layout_id => :layout_id, - template_id => :template_id, - default_page_name => :default_page_name, - theme_id => :theme_id, - context_id => :context_id - ); - end; + + + begin + portal.delete(portal_id => :portal_id); + end; + + - - + + + update portal_element_map + set region = :region, + page_id = :page_id, + sort_key = (select nvl((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 + + - - - begin - portal.delete (portal_id => :portal_id); - end; - - + + + update portal_element_map + set page_id = :page_id, + region = :region, + sort_key = (select nvl((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 region = :region, - page_id = :page_id, - sort_key = (select nvl((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 - - + + + insert into portal_element_parameters + (parameter_id, element_id, config_required_p, configured_p, key, value) + select acs_object_id_seq.nextval, :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 page_id = :page_id, - region = :region, - sort_key = (select nvl((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_parameters + (parameter_id, element_id, config_required_p, configured_p, key, value) + select acs_object_id_seq.nextval, :new_element_id, config_required_p, configured_p, key, value + from portal_datasource_def_params where datasource_id= :ds_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, - nvl((select max(sort_key) + 1 - from portal_element_map - where region = :region - and page_id = :page_id), 1)) - - + + + 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, + nvl((select max(sort_key) + 1 + from portal_element_map + where region = :region + and page_id = :page_id), 1)) + + - - - update portal_element_map - set region = :target_region, - sort_key = (select nvl((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, configured_p, key, value) + select acs_object_id_seq.nextval, :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) + + - - - begin - :1 := portal_page.new ( - pretty_name => :pretty_name, - portal_id => :portal_id, - layout_id => :layout_id - ); - end; - - + + + update portal_element_map + set region = :target_region, + sort_key = (select nvl((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 + + - - - begin - portal_page.delete ( page_id => :page_id ); - end; - - + + + begin + :1 := portal_page.new( + pretty_name => :pretty_name, + portal_id => :portal_id, + layout_id => :layout_id + ); + end; + + - + + + begin + portal_page.delete(page_id => :page_id); + end; + + +