Index: openacs-4/packages/ecommerce/ecommerce.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/ecommerce.info,v diff -u -r1.12 -r1.13 --- openacs-4/packages/ecommerce/ecommerce.info 6 Jan 2002 07:32:18 -0000 1.12 +++ openacs-4/packages/ecommerce/ecommerce.info 6 Jan 2002 22:53:15 -0000 1.13 @@ -43,8 +43,8 @@ - - + + @@ -55,7 +55,7 @@ - + Index: openacs-4/packages/ecommerce/sql/postgresql/ec-product-sc-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/sql/postgresql/ec-product-sc-create.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/ecommerce/sql/postgresql/ec-product-sc-create.sql 6 Jan 2002 22:44:04 -0000 1.1 @@ -0,0 +1,55 @@ +select acs_sc_impl__new( + 'FtsContentProvider', -- impl_contract_name + 'Ecommerce Product', -- impl_name + 'ecommerce' -- impl_owner_name +); + +select acs_sc_impl_alias__new( + 'FtsContentProvider', -- impl_contract_name + 'Ecommerce Product', -- impl_name + 'datasource', -- impl_operation_name + 'ec_products__datasource', -- impl_alias + 'TCL' -- impl_pl +); + +select acs_sc_impl_alias__new( + 'FtsContentProvider', -- impl_contract_name + 'Ecommerce Product', -- impl_name + 'url', -- impl_operation_name + 'ec_products__url', -- impl_alias + 'TCL' -- impl_pl +); + + +create function ec_products__itrg () +returns opaque as ' +begin + perform search_observer__enqueue(new.product_id,''INSERT''); + return new; +end;' language 'plpgsql'; + +create function ec_products__dtrg () +returns opaque as ' +begin + perform search_observer__enqueue(old.product_id,''DELETE''); + return old; +end;' language 'plpgsql'; + +create function ec_products__utrg () +returns opaque as ' +begin + perform search_observer__enqueue(old.product_id,''UPDATE''); + return old; +end;' language 'plpgsql'; + + +create trigger ec_products__itrg after insert on ec_products +for each row execute procedure ec_products__itrg (); + +create trigger ec_products__dtrg after delete on ec_products +for each row execute procedure ec_products__dtrg (); + +create trigger ec_products__utrg after update on ec_products +for each row execute procedure ec_products__utrg (); + + Index: openacs-4/packages/ecommerce/sql/postgresql/ec-product-sc-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/sql/postgresql/ec-product-sc-drop.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/ecommerce/sql/postgresql/ec-product-sc-drop.sql 6 Jan 2002 22:44:04 -0000 1.1 @@ -0,0 +1,13 @@ +select acs_sc_impl__delete( + 'FtsContentProvider', -- impl_contract_name + 'ec_product' -- impl_name +); + +drop trigger ec_products__utrg on ec_products; +drop trigger ec_products__dtrg on ec_products; +drop trigger ec_products__itrg on ec_products; + +drop function ec_products__utrg (); +drop function ec_products__dtrg (); +drop function ec_products__itrg (); + Index: openacs-4/packages/ecommerce/tcl/ec-product-sc-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ec-product-sc-procs.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/ecommerce/tcl/ec-product-sc-procs.tcl 6 Jan 2002 22:50:31 -0000 1.1 @@ -0,0 +1,40 @@ +ad_proc ec_products__datasource { + object_id +} { + @author Gilbert Wong + @author Bart Teeuwisse (bart.teeuwisse@7-sisters.com) +} { + db_0or1row ec_products_datasource { + select e.product_id as object_id, + e.product_name as title, + e.detailed_description as content, + 'text/plain' as mime, + search_keywords as keywords, + 'text' as storage_type + from ec_products e + where e.product_id = :object_id + } -column_array datasource + + return [array get datasource] +} + + +ad_proc ec_products__url { + object_id +} { + @author Gilbert Wong +} { + + set package_id [apm_package_id_from_key ecommerce] + db_1row get_url_stub " + select site_node__url(node_id) as url_stub + from site_nodes + where object_id=:package_id + " + + set url "${url_stub}/product?product_id=$object_id" + + return $url +} + +