Index: openacs-4/packages/tasks/tcl/tasks-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/tcl/tasks-procs.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/tasks/tcl/tasks-procs.tcl 27 Jul 2005 13:44:58 -0000 1.1 +++ openacs-4/packages/tasks/tcl/tasks-procs.tcl 25 Sep 2005 23:49:23 -0000 1.2 @@ -9,6 +9,10 @@ } namespace eval tasks {} +namespace eval tasks::task {} +namespace eval tasks::process {} +namespace eval tasks::process::task {} +namespace eval tasks::process::instance {} ad_proc -public tasks::project_id { @@ -53,3 +57,169 @@ } +ad_proc -public tasks::task::new { + {-task_id ""} + {-process_instance_id ""} + {-process_task_id ""} + {-party_id ""} + {-object_id ""} + -title:required + {-description ""} + {-mime_type "text/plain"} + {-comment ""} + {-status_id 1} + {-priority 0} + {-start_date ""} + {-due_date ""} + {-package_id ""} +} { + if { [empty_string_p $package_id] } { + set package_id [ad_conn package_id] + } + set extra_vars [ns_set create] + set context_id $package_id + + oacs_util::vars_to_ns_set -ns_set $extra_vars -var_list {task_id process_instance_id process_task_id party_id object_id title description mime_type comment status_id priority start_date due_date package_id context_id} + + set task_id [package_instantiate_object -extra_vars $extra_vars tasks_task] + + return $task_id +} + +ad_proc -public tasks::task::edit { + -task_id:required + -title:required + {-description ""} + {-mime_type "text/plain"} + {-comment ""} + {-status_id 1} + {-priority 0} + {-due_date ""} +} { + set modifying_user [ad_conn user_id] + set modifying_ip [ad_conn peeraddr] + + db_dml update_task {} + db_dml update_object {} +} + +ad_proc -public tasks::task::complete { + -task_id:required +} { + db_transaction { + db_dml set_status_done {} + + if {[db_0or1row closing_action {}]} { + workflow::case::action::execute -case_id $case_id -action_id $closing_action_id -no_perm_check -no_notification + } + } +} + + +ad_proc -public tasks::process::task::new { + {-task_id ""} + -process_id:required + -open_action_id:required + -closing_action_id:required + {-party_id ""} + {-object_id ""} + -title:required + {-description ""} + {-mime_type "text/plain"} + {-comment ""} + {-status_id 1} + {-priority 0} + {-start 0} + {-due 0} + {-package_id ""} +} { + if { [empty_string_p $package_id] } { + set package_id [ad_conn package_id] + } + set extra_vars [ns_set create] + set context_id $package_id + + oacs_util::vars_to_ns_set -ns_set $extra_vars -var_list {task_id process_id open_action_id closing_action_id party_id object_id title description mime_type comment status_id priority start due package_id context_id} + + set task_id [package_instantiate_object -extra_vars $extra_vars tasks_process_task] + + return $task_id +} + +ad_proc -public tasks::process::task::edit { + -task_id:required + -open_action_id:required + {-party_id ""} + {-object_id ""} + -title:required + {-description ""} + {-mime_type "text/plain"} + {-comment ""} + {-status_id 1} + {-priority 0} + {-start 0} + {-due 0} +} { + set modifying_user [ad_conn user_id] + set modifying_ip [ad_conn peeraddr] + + db_dml update_process_task {} + db_dml update_object {} +} + + +ad_proc -public tasks::process::new { + {-process_id ""} + -title:required + {-description ""} + {-mime_type "text/plain"} + {-workflow_id ""} + {-package_id ""} +} { + if { [empty_string_p $package_id] } { + set package_id [ad_conn package_id] + } + set extra_vars [ns_set create] + set context_id $package_id + + oacs_util::vars_to_ns_set -ns_set $extra_vars -var_list {process_id title description mime_type workflow_id package_id context_id} + + set task_id [package_instantiate_object -extra_vars $extra_vars tasks_process] + + return $task_id +} + +ad_proc -public tasks::process::edit { + -process_id:required + -title:required + {-description ""} + {-mime_type "text/plain"} +} { + set modifying_user [ad_conn user_id] + set modifying_ip [ad_conn peeraddr] + + db_dml update_process {} + db_dml update_object {} +} + + +ad_proc -public tasks::process::instance::new { + {-process_instance_id ""} + -process_id:required + -case_id:required + {-party_id ""} + {-object_id ""} + {-package_id ""} +} { + if { [empty_string_p $package_id] } { + set package_id [ad_conn package_id] + } + set extra_vars [ns_set create] + set context_id $package_id + + oacs_util::vars_to_ns_set -ns_set $extra_vars -var_list {process_instance_id process_id case_id party_id object_id package_id context_id} + + set task_id [package_instantiate_object -extra_vars $extra_vars tasks_process_instance] + + return $task_id +}