Index: openacs-4/packages/categories/categories.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/categories.info,v diff -u -N -r1.12 -r1.13 --- openacs-4/packages/categories/categories.info 28 Aug 2007 16:30:03 -0000 1.12 +++ openacs-4/packages/categories/categories.info 16 Sep 2007 10:35:35 -0000 1.13 @@ -8,15 +8,15 @@ f categories - + timo@timohentschel.de Manage categories in category trees and let users map objects to categories. 2006-02-12 Datamodel for category trees with supporting API and management pages. Provides a widget for general categorization of arbitrary objects and tracks which package instances use which category trees. Also supports localization. 0 - + Index: openacs-4/packages/categories/sql/oracle/category-tree-package.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/oracle/category-tree-package.sql,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/categories/sql/oracle/category-tree-package.sql 6 Feb 2005 18:42:19 -0000 1.7 +++ openacs-4/packages/categories/sql/oracle/category-tree-package.sql 16 Sep 2007 10:35:35 -0000 1.8 @@ -57,7 +57,8 @@ tree_id in category_trees.tree_id%TYPE, subtree_category_id in categories.category_id%TYPE default null, assign_single_p in category_tree_map.assign_single_p%TYPE default 'f', - require_category_p in category_tree_map.require_category_p%TYPE default 'f' + require_category_p in category_tree_map.require_category_p%TYPE default 'f', + require_category_p in category_tree_map.widget%TYPE ); PROCEDURE unmap ( @@ -266,7 +267,8 @@ tree_id in category_trees.tree_id%TYPE, subtree_category_id in categories.category_id%TYPE default null, assign_single_p in category_tree_map.assign_single_p%TYPE default 'f', - require_category_p in category_tree_map.require_category_p%TYPE default 'f' + require_category_p in category_tree_map.require_category_p%TYPE default 'f', + widget in category_tree_map.widget%TYPE ) is v_map_count integer; BEGIN @@ -278,9 +280,9 @@ if v_map_count = 0 then insert into category_tree_map - (tree_id, subtree_category_id, object_id, assign_single_p, require_category_p) + (tree_id, subtree_category_id, object_id, assign_single_p, require_category_p,widget) values (map.tree_id, map.subtree_category_id, map.object_id, - map.assign_single_p, map.require_category_p); + map.assign_single_p, map.require_category_p,map.widget); end if; END map; Index: openacs-4/packages/categories/sql/oracle/upgrade/upgrade-1.1.2d1-1.1.2d2.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/oracle/upgrade/upgrade-1.1.2d1-1.1.2d2.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/categories/sql/oracle/upgrade/upgrade-1.1.2d1-1.1.2d2.sql 16 Sep 2007 10:37:02 -0000 1.1 @@ -0,0 +1,9 @@ +alter table category_tree_map add ( + widget varchar2(20) +); + +comment on column category_tree_map.widget is ' + What widget do we want to use for this cateogry? +'; + +@@../category-tree-package.sql Index: openacs-4/packages/categories/sql/postgresql/categories-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/categories-create.sql,v diff -u -N -r1.9 -r1.10 --- openacs-4/packages/categories/sql/postgresql/categories-create.sql 9 Aug 2006 00:25:53 -0000 1.9 +++ openacs-4/packages/categories/sql/postgresql/categories-create.sql 16 Sep 2007 10:35:35 -0000 1.10 @@ -172,6 +172,7 @@ require_category_p char(1) default 'f' constraint cat_tree_map_categ_p_ck check (require_category_p in ('t','f')), + widget varchar(20), primary key (object_id, tree_id) ); Index: openacs-4/packages/categories/sql/postgresql/category-tree-package.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/category-tree-package.sql,v diff -u -N -r1.9 -r1.10 --- openacs-4/packages/categories/sql/postgresql/category-tree-package.sql 31 Jul 2006 20:31:11 -0000 1.9 +++ openacs-4/packages/categories/sql/postgresql/category-tree-package.sql 16 Sep 2007 10:35:35 -0000 1.10 @@ -243,7 +243,8 @@ integer, -- tree_id integer, -- subtree_category_id char, -- assign_single_p - char -- require_category_p + char, -- require_category_p + varchar -- widget ) returns integer as ' declare @@ -252,6 +253,7 @@ p_subtree_category_id alias for $3; p_assign_single_p alias for $4; p_require_category_p alias for $5; + p_widget alias for $6; v_map_count integer; begin @@ -264,9 +266,9 @@ if v_map_count = 0 then insert into category_tree_map (tree_id, subtree_category_id, object_id, - assign_single_p, require_category_p) + assign_single_p, require_category_p, widget) values (p_tree_id, p_subtree_category_id, p_object_id, - p_assign_single_p, p_require_category_p); + p_assign_single_p, p_require_category_p, p_widget); end if; return 0; end; Index: openacs-4/packages/categories/sql/postgresql/upgrade/upgrade-1.1.2d1-1.1.2d2.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/upgrade/upgrade-1.1.2d1-1.1.2d2.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/categories/sql/postgresql/upgrade/upgrade-1.1.2d1-1.1.2d2.sql 16 Sep 2007 10:37:02 -0000 1.1 @@ -0,0 +1,39 @@ +alter table category_tree_map add column widget varchar(20); + +drop function category_tree__map ( integer, integer, integer, char, char ); + +create or replace function category_tree__map ( + integer, -- object_id + integer, -- tree_id + integer, -- subtree_category_id + char, -- assign_single_p + char, -- require_category_p + varchar -- widget +) +returns integer as ' +declare + p_object_id alias for $1; + p_tree_id alias for $2; + p_subtree_category_id alias for $3; + p_assign_single_p alias for $4; + p_require_category_p alias for $5; + p_widget alias for $6; + + v_map_count integer; +begin + select count(*) + into v_map_count + from category_tree_map + where object_id = p_object_id + and tree_id = p_tree_id; + + if v_map_count = 0 then + insert into category_tree_map + (tree_id, subtree_category_id, object_id, + assign_single_p, require_category_p, widget) + values (p_tree_id, p_subtree_category_id, p_object_id, + p_assign_single_p, p_require_category_p, p_widget); + end if; + return 0; +end; +' language 'plpgsql';