Index: openacs-4/contrib/packages/project-manager/project-manager.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/Attic/project-manager.info,v diff -u -N -r1.16.2.45 -r1.16.2.46 --- openacs-4/contrib/packages/project-manager/project-manager.info 23 Sep 2005 21:36:06 -0000 1.16.2.45 +++ openacs-4/contrib/packages/project-manager/project-manager.info 26 Sep 2005 17:11:40 -0000 1.16.2.46 @@ -7,14 +7,14 @@ f f - + Jade Rubick Project management tool for OpenACS - 2005-09-23 + 2005-09-26 Integrated Bakery Resources Track tasks, estimates and actual progress for a project. See the <a href="http://openacs.org/projects/dotwrk/project_management/">project page</a> for more information. - + Index: openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-functions-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/sql/postgresql/Attic/project-manager-functions-create.sql,v diff -u -N -r1.13.2.8 -r1.13.2.9 --- openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-functions-create.sql 4 May 2005 06:13:53 -0000 1.13.2.8 +++ openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-functions-create.sql 26 Sep 2005 17:11:41 -0000 1.13.2.9 @@ -539,63 +539,82 @@ return v_revision_id; end;' language 'plpgsql'; +select define_function_args('pm_task__new_task_item', 'project_id, title, description, html_p, end_date, percent_complete, estimated_hours_work, estimated_hours_work_min, estimated_hours_work_max, status_id, process_instance_id, creation_date, creation_user, creation_ip, package_id, priority'); -select define_function_args('pm_task__new_task_revision', 'task_id, project_id, title, description, mime_type, end_date, percent_complete, estimated_hours_work, estimated_hours_work_min, estimated_hours_work_max, actual_hours_worked, creation_date, creation_user, creation_ip, package_id, priority'); - -create or replace function pm_task__new_task_revision ( - integer, -- task_id (the item_id) +create or replace function pm_task__new_task_item ( integer, -- project_id varchar, -- title varchar, -- description - varchar, -- mime_type + varchar, -- html_p timestamptz, -- end_date numeric, -- percent_complete numeric, -- estimated_hours_work numeric, -- estimated_hours_work_min - numeric, -- estimated_hours_work_max - numeric, -- actual_hours_worked + numeric, -- estimated_hours_work_max, integer, -- status_id + integer, -- process_instance_id timestamptz, -- creation_date integer, -- creation_user varchar, -- creation_ip - integer, -- package_id + integer, -- package_id integer -- priority -) returns integer +) returns integer as ' declare - p_task_id alias for $1; - p_project_id alias for $2; - p_title alias for $3; - p_description alias for $4; - p_mime_type alias for $5; - p_end_date alias for $6; - p_percent_complete alias for $7; - p_estimated_hours_work alias for $8; - p_estimated_hours_work_min alias for $9; - p_estimated_hours_work_max alias for $10; - p_actual_hours_worked alias for $11; - p_status_id alias for $12; - p_creation_date alias for $13; - p_creation_user alias for $14; - p_creation_ip alias for $15; - p_package_id alias for $16; - p_priority alias for $17; + p_project_id alias for $1; + p_title alias for $2; + p_description alias for $3; + p_mime_type alias for $4; + p_end_date alias for $5; + p_percent_complete alias for $6; + p_estimated_hours_work alias for $7; + p_estimated_hours_work_min alias for $8; + p_estimated_hours_work_max alias for $9; + p_status_id alias for $10; + p_process_instance_id alias for $11; + p_creation_date alias for $12; + p_creation_user alias for $13; + p_creation_ip alias for $14; + p_package_id alias for $15; + p_priority alias for $16; + + v_item_id cr_items.item_id%TYPE; v_revision_id cr_revisions.revision_id%TYPE; v_id cr_items.item_id%TYPE; + v_task_number integer; begin select acs_object_id_seq.nextval into v_id from dual; -- We want to put the task under the project item - update cr_items set parent_id = p_project_id where item_id = p_task_id; + -- create the task_number + + v_item_id := content_item__new ( + v_id::varchar, -- name + p_project_id, -- parent_id + v_id, -- item_id + null, -- locale + now(), -- creation_date + p_creation_user, -- creation_user + p_package_id, -- context_id + p_creation_ip, -- creation_ip + ''content_item'', -- item_subtype + ''pm_task'', -- content_type + p_title, -- title + p_description, -- description + p_mime_type, -- mime_type + null, -- nls_language + null -- data + ); + v_revision_id := content_revision__new ( p_title, -- title p_description, -- description now(), -- publish_date p_mime_type, -- mime_type NULL, -- nls_language NULL, -- data - p_task_id, -- item_id + v_item_id, -- item_id NULL, -- revision_id now(), -- creation_date p_creation_user, -- creation_user @@ -604,12 +623,17 @@ PERFORM content_item__set_live_revision (v_revision_id); + insert into pm_tasks ( + task_id, task_number, status, process_instance) + values ( + v_item_id, v_task_number, p_status_id, p_process_instance_id); + insert into pm_tasks_revisions ( task_revision_id, end_date, percent_complete, estimated_hours_work, estimated_hours_work_min, estimated_hours_work_max, actual_hours_worked, priority) values ( - v_revision_id, p_end_date, p_percent_complete, p_estimated_hours_work, p_estimated_hours_work_min, p_estimated_hours_work_max, p_actual_hours_worked, p_priority); + v_revision_id, p_end_date, p_percent_complete, p_estimated_hours_work, p_estimated_hours_work_min, p_estimated_hours_work_max, ''0'', p_priority); - update pm_tasks set status = p_status_id where task_id = p_task_id; + update acs_objects set context_id = p_project_id where object_id = v_item_id; PERFORM acs_permission__grant_permission( v_revision_id, @@ -620,7 +644,6 @@ return v_revision_id; end;' language 'plpgsql'; - -- The delete function deletes a record and all related overhead. select define_function_args('pm_task__delete_task_item', 'task_id'); Index: openacs-4/contrib/packages/project-manager/sql/postgresql/upgrade/upgrade-3.0b4-3.0.1d1.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/sql/postgresql/upgrade/Attic/upgrade-3.0b4-3.0.1d1.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/contrib/packages/project-manager/sql/postgresql/upgrade/upgrade-3.0b4-3.0.1d1.sql 26 Sep 2005 17:11:41 -0000 1.1.2.1 @@ -0,0 +1,115 @@ +-- +-- This script originally appeared in the upgrade from 2.73d1 - 2.80d1 +-- but was not copied into the functions create script. Place it here +-- so that people who installed can upgrade into a working version. +-- +-- @author (alexk@bread.com) +-- @creation-date 2005-09-26 +-- @arch-tag: 217924c5-4114-44ba-8777-8803a3c2a343 +-- @cvs-id $Id: upgrade-3.0b4-3.0.1d1.sql,v 1.1.2.1 2005/09/26 17:11:41 alexk Exp $ +-- + +select define_function_args('pm_task__new_task_item', 'project_id, title, description, html_p, end_date, percent_complete, estimated_hours_work, estimated_hours_work_min, estimated_hours_work_max, status_id, process_instance_id, creation_date, creation_user, creation_ip, package_id, priority'); + +create or replace function pm_task__new_task_item ( + integer, -- project_id + varchar, -- title + varchar, -- description + varchar, -- html_p + timestamptz, -- end_date + numeric, -- percent_complete + numeric, -- estimated_hours_work + numeric, -- estimated_hours_work_min + numeric, -- estimated_hours_work_max, + integer, -- status_id + integer, -- process_instance_id + timestamptz, -- creation_date + integer, -- creation_user + varchar, -- creation_ip + integer, -- package_id + integer -- priority +) returns integer +as ' +declare + p_project_id alias for $1; + p_title alias for $2; + p_description alias for $3; + p_mime_type alias for $4; + p_end_date alias for $5; + p_percent_complete alias for $6; + p_estimated_hours_work alias for $7; + p_estimated_hours_work_min alias for $8; + p_estimated_hours_work_max alias for $9; + p_status_id alias for $10; + p_process_instance_id alias for $11; + p_creation_date alias for $12; + p_creation_user alias for $13; + p_creation_ip alias for $14; + p_package_id alias for $15; + p_priority alias for $16; + + v_item_id cr_items.item_id%TYPE; + v_revision_id cr_revisions.revision_id%TYPE; + v_id cr_items.item_id%TYPE; + v_task_number integer; +begin + select acs_object_id_seq.nextval into v_id from dual; + + -- We want to put the task under the project item + + -- create the task_number + + v_item_id := content_item__new ( + v_id::varchar, -- name + p_project_id, -- parent_id + v_id, -- item_id + null, -- locale + now(), -- creation_date + p_creation_user, -- creation_user + p_package_id, -- context_id + p_creation_ip, -- creation_ip + ''content_item'', -- item_subtype + ''pm_task'', -- content_type + p_title, -- title + p_description, -- description + p_mime_type, -- mime_type + null, -- nls_language + null -- data + ); + + v_revision_id := content_revision__new ( + p_title, -- title + p_description, -- description + now(), -- publish_date + p_mime_type, -- mime_type + NULL, -- nls_language + NULL, -- data + v_item_id, -- item_id + NULL, -- revision_id + now(), -- creation_date + p_creation_user, -- creation_user + p_creation_ip -- creation_ip + ); + + PERFORM content_item__set_live_revision (v_revision_id); + + insert into pm_tasks ( + task_id, task_number, status, process_instance) + values ( + v_item_id, v_task_number, p_status_id, p_process_instance_id); + + insert into pm_tasks_revisions ( + task_revision_id, end_date, percent_complete, estimated_hours_work, estimated_hours_work_min, estimated_hours_work_max, actual_hours_worked, priority) + values ( + v_revision_id, p_end_date, p_percent_complete, p_estimated_hours_work, p_estimated_hours_work_min, p_estimated_hours_work_max, ''0'', p_priority); + + update acs_objects set context_id = p_project_id where object_id = v_item_id; + + PERFORM acs_permission__grant_permission( + v_revision_id, + p_creation_user, + ''admin'' + ); + + return v_revision_id; +end;' language 'plpgsql';