Index: openacs-4/packages/tasks/lib/contact-tasks.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/contact-tasks.adp,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/tasks/lib/contact-tasks.adp 25 Sep 2005 23:49:23 -0000 1.1 +++ openacs-4/packages/tasks/lib/contact-tasks.adp 26 Sep 2005 08:20:06 -0000 1.2 @@ -1,6 +1,6 @@

#tasks.Add_Task# -#tasks.Assign_Process# +#tasks.Assign_Process#

Index: openacs-4/packages/tasks/lib/contact-tasks.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/contact-tasks.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/tasks/lib/contact-tasks.tcl 25 Sep 2005 23:49:23 -0000 1.1 +++ openacs-4/packages/tasks/lib/contact-tasks.tcl 26 Sep 2005 08:20:06 -0000 1.2 @@ -1,5 +1,5 @@ set user_id [ad_conn user_id] -set party_id $user_id +set party_id $contact_id set tasks_url "/tasks/" if { ![contact::exists_p -party_id $contact_id] } { @@ -14,7 +14,7 @@ set done_url [export_vars -url -base "${tasks_url}contact" {orderby {status_id 2} party_id}] set not_done_url [export_vars -url -base "${tasks_url}contact" {orderby {status_id 1} party_id}] set return_url "[ad_conn url]?[ad_conn query]" -set add_url [export_vars -base "${tasks_url}task" {return_url orderby status_id {object_id $contact_id} party_id}] +set add_url [export_vars -base "${tasks_url}task" {return_url orderby status_id party_id}] set package_id [apm_package_id_from_key tasks] @@ -58,12 +58,6 @@ } } - contact { - label "[_ tasks.Contact]" - display_template { - @tasks.contact@ - } - } date { label "[_ tasks.Date]" display_template { @@ -86,7 +80,7 @@ narrow } \ -filters { - contact_id {} + party_id {} } -orderby { default_value "priority,desc" date { @@ -113,12 +107,6 @@ orderby_asc "lower(p.title) asc, t.priority desc, t.due_date asc" default_direction asc } - contact { - label "[_ tasks.Contact]" - orderby_desc "lower(contact__name(t.object_id)) desc, t.due_date asc, t.priority, lower(t.title)" - orderby_asc "lower(contact__name(t.object_id)) asc, t.due_date asc, t.priority, lower(t.title)" - default_direction asc - } creation_user { label "[_ tasks.Created_By]" orderby_desc "lower(contact__name(ao.creation_user)) desc, t.due_date asc, t.priority, lower(t.title)" @@ -136,8 +124,7 @@ ao.creation_user, t.status_id, t.process_instance_id, contact__name(ao.creation_user) as creation_name, CASE WHEN t.due_date < now() THEN 't' ELSE 'f' END as due_date_passed_p, - s.title as status, t.object_id, - contact__name(t.object_id) as contact + s.title as status, t.object_id from t_task_status s, acs_objects ao, t_tasks t left outer join t_process_instances pi on (pi.process_instance_id = t.process_instance_id) @@ -146,24 +133,21 @@ where s.status_id = t.status_id and ao.object_id = t.task_id and ao.package_id = :package_id - and t.object_id = :contact_id + and t.party_id = :contact_id and t.start_date < now() [template::list::orderby_clause -orderby -name tasks] " { set creation_user_url [contact::url -party_id $creation_user] - if {![empty_string_p $object_id]} { - set contact_url [contact::url -party_id $object_id] - } regsub -all "/tasks/" $creation_user_url "/contacts/" creation_user_url - set complete_url [export_vars -base "${tasks_url}mark-completed" -url {task_id orderby party_id return_url}] + set complete_url [export_vars -base "${tasks_url}mark-completed" -url {task_id orderby {party_id $contact_id} return_url}] if { $status_id == "2" } { set done_p 1 } else { set done_p 0 } - set task_url [export_vars -base "${tasks_url}task" -url {party_id orderby status_id task_id}] - set task_plus_url [export_vars -base "${tasks_url}task-interval" -url {{action plus} {days 7} party_id task_id status_id orderby return_url}] - set task_minus_url [export_vars -base "${tasks_url}task-interval" -url {{action minus} {days 7} party_id task_id status_id orderby return_url}] + set task_url [export_vars -base "${tasks_url}task" -url {{party_id $contact_id} orderby status_id task_id}] + set task_plus_url [export_vars -base "${tasks_url}task-interval" -url {{action plus} {days 7} {party_id $contact_id} task_id status_id orderby return_url}] + set task_minus_url [export_vars -base "${tasks_url}task-interval" -url {{action minus} {days 7} {party_id $contact_id} task_id status_id orderby return_url}] regsub -all "\r|\n" $description {LiNeBrEaK} description Index: openacs-4/packages/tasks/tcl/tasks-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/tcl/tasks-callback-procs.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/tasks/tcl/tasks-callback-procs.tcl 25 Sep 2005 23:49:23 -0000 1.2 +++ openacs-4/packages/tasks/tcl/tasks-callback-procs.tcl 26 Sep 2005 08:20:06 -0000 1.3 @@ -72,8 +72,10 @@ } { create new tasks linked to this action } { + ns_log notice "\#\#\# entering tasks-action-callback: $case_id, $object_id, $action_id" + db_1row process_id { - select process_instance_id, process_id, party_id + select process_instance_id, process_id, party_id, object_id from t_process_instances where case_id = :case_id } Index: openacs-4/packages/tasks/www/contact.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/contact.adp,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/tasks/www/contact.adp 27 Jul 2005 13:45:00 -0000 1.1 +++ openacs-4/packages/tasks/www/contact.adp 26 Sep 2005 08:20:06 -0000 1.2 @@ -1,10 +1,5 @@ @party_id@ -

-#tasks.Add_Task# -#tasks.Assign_Process# -

- - - + Index: openacs-4/packages/tasks/www/contact.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/contact.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/tasks/www/contact.tcl 25 Sep 2005 23:49:23 -0000 1.2 +++ openacs-4/packages/tasks/www/contact.tcl 26 Sep 2005 08:20:06 -0000 1.3 @@ -32,193 +32,6 @@ } set user_id [ad_conn user_id] - -if { ![contact::exists_p -party_id $party_id] } { - set party_id $user_id -} -if { ![exists_and_not_null orderby] } { - set orderby "priority,desc" -} -if { ![exists_and_not_null status_id] } { - set status_id "1" -} -set done_url [export_vars -url -base "contact" {orderby {status_id 2} party_id}] -set not_done_url [export_vars -url -base "contact" {orderby {status_id 1} party_id}] -set return_url [export_vars -base [ad_conn url] -url {orderby status_id party_id}] -set add_url [export_vars -base task {return_url orderby status_id party_id}] -set add_event_url [export_vars -base "/calendar/cal-item-new" -url {return_url party_id}] - set package_id [ad_conn package_id] set admin_p [permission::permission_p -object_id $package_id -privilege admin] set context {} - - -template::list::create \ - -name tasks \ - -multirow tasks \ - -key task_id \ - -elements { - deleted_p { - label {[_ tasks.Not_Done]} - display_template { - [_ tasks.Done] - [_ tasks.Not_Done] - } - } - priority { - label "[_ tasks.Priority]" - display_template { - @tasks.priority@@tasks.priority@ - } - } - title { - label "[_ tasks.Task]" - display_template { - class="done">@tasks.title@ - -
-

- @tasks.description_html;noquote@ -

-
-
- } - } - process_title { - label "[_ tasks.Process]" - display_template { - @tasks.process_title@ - - @tasks.process_title@ - - } - } - contact { - label "[_ tasks.Contact]" - display_template { - @tasks.contact@ - } - } - date { - label "[_ tasks.Date]" - display_template { - @tasks.completed_date;noquote@ - - - « @tasks.due_date;noquote@ » - - - } - } - creation_user { - label "[_ tasks.Created_By]" - display_template { - class="done">@tasks.creation_name@ - } - } - } \ - -sub_class { - narrow - } \ - -filters { - party_id {} - } -orderby { - default_value "priority,desc" - date { - label "[_ tasks.Due]" - orderby_desc "CASE WHEN t.status_id = 1 THEN t.due_date ELSE t.completed_date END desc, t.priority, lower(t.title)" - orderby_asc "CASE WHEN t.status_id = 1 THEN t.due_date ELSE t.completed_date END asc, t.priority, lower(t.title)" - default_direction desc - } - priority { - label "[_ tasks.Priority]" - orderby_desc "t.status_id, t.priority desc, CASE WHEN t.status_id = 1 THEN t.due_date ELSE t.completed_date END desc, lower(t.title)" - orderby_asc "t.status_id, t.priority asc, CASE WHEN t.status_id = 1 THEN t.due_date ELSE t.completed_date END asc, lower(t.title)" - default_direction desc - } - title { - label "[_ tasks.Task]" - orderby_desc "lower(t.title) desc, t.priority desc, t.due_date asc" - orderby_asc "lower(t.title) asc, t.priority desc, t.due_date asc" - default_direction asc - } - process_title { - label "[_ tasks.Process]" - orderby_desc "lower(p.title) desc, t.priority desc, t.due_date asc" - orderby_asc "lower(p.title) asc, t.priority desc, t.due_date asc" - default_direction asc - } - contact { - label "[_ tasks.Contact]" - orderby_desc "lower(contact__name(t.object_id)) desc, t.due_date asc, t.priority, lower(t.title)" - orderby_asc "lower(contact__name(t.object_id)) asc, t.due_date asc, t.priority, lower(t.title)" - default_direction asc - } - creation_user { - label "[_ tasks.Created_By]" - orderby_desc "lower(contact__name(ao.creation_user)) desc, t.due_date asc, t.priority, lower(t.title)" - orderby_asc "lower(contact__name(ao.creation_user)) asc, t.due_date asc, t.priority, lower(t.title)" - default_direction asc - } - } - - -db_multirow -extend {creation_user_url contact_url complete_url done_p process_plus_url process_minus_url task_plus_url task_minus_url description_html task_url} -unclobber tasks get_tasks " - select t.task_id, t.title, t.description, t.mime_type, t.priority, - t.party_id, p.title as process_title, p.process_id, - tasks__relative_date(t.due_date) as due_date, - tasks__relative_date(t.completed_date) as completed_date, - ao.creation_user, t.status_id, t.process_instance_id, - contact__name(ao.creation_user) as creation_name, - CASE WHEN t.due_date < now() THEN 't' ELSE 'f' END as due_date_passed_p, - s.title as status, t.object_id, - contact__name(t.object_id) as contact - from t_task_status s, acs_objects ao, t_tasks t - left outer join t_process_instances pi - on (pi.process_instance_id = t.process_instance_id) - left outer join t_processes p - on (p.process_id = pi.process_id) - where s.status_id = t.status_id - and ao.object_id = t.task_id - and ao.package_id = :package_id - and t.party_id = :party_id - and t.start_date < now() - [template::list::orderby_clause -orderby -name tasks] -" { - set creation_user_url [contact::url -party_id $creation_user] - if {![empty_string_p $object_id]} { - set contact_url [contact::url -party_id $object_id] - } - regsub -all "/tasks/" $creation_user_url "/contacts/" creation_user_url - set complete_url [export_vars -base "mark-completed" -url {task_id orderby party_id return_url}] - if { $status_id == "2" } { - set done_p 1 - } else { - set done_p 0 - } - set task_url [export_vars -base task -url {party_id orderby status_id task_id}] - set task_plus_url [export_vars -base task-interval -url {{action plus} {days 7} party_id task_id status_id orderby return_url}] - set task_minus_url [export_vars -base task-interval -url {{action minus} {days 7} party_id task_id status_id orderby return_url}] - set process_plus_url [export_vars -base process-interval -url {{action plus} {days 7} party_id process_instance status_id orderby return_url}] - set process_minus_url [export_vars -base process-interval -url {{action minus} {days 7} party_id process_instance status_id orderby return_url}] - - regsub -all "\r|\n" $description {LiNeBrEaK} description - - set description_html [ad_html_text_convert \ - -from $mime_type \ - -to "text/html" \ - -truncate_len "400" \ - -more "[_ tasks.more]" \ - -- $description] - regsub -all {LiNeBrEaKLiNeBrEaK} $description_html {LiNeBrEaK} description_html -# regsub -all {LiNeBrEaKLiNeBrEaK} $description_html {LiNeBrEaK} description_html -# regsub -all {LiNeBrEaKLiNeBrEaK} $description_html {LiNeBrEaK} description_html -# 167 is the actual paragraph standard internationally but 182 is more common in the US - regsub -all {LiNeBrEaK} $description_html {\ \ \¶\ } description_html - - regsub -all " " $due_date {\ } due_date - regsub -all " " $completed_date {\ } completed_date -} - -# [template::list::filter_where_clauses -and -name tasks] -#set fred [template::list::orderby_clause -orderby -name tasks] Index: openacs-4/packages/tasks/www/index-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index-postgresql.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/tasks/www/index-postgresql.xql 25 Sep 2005 23:49:23 -0000 1.2 +++ openacs-4/packages/tasks/www/index-postgresql.xql 26 Sep 2005 08:20:06 -0000 1.3 @@ -5,20 +5,22 @@ select t.task_id, t.title, t.party_id, t.priority, s.title as status, - tasks__relative_date(t.due_date) as due_date, + tasks__relative_date(t.due_date) as due_date, t.description, CASE WHEN t.due_date < now() THEN 't'::boolean ELSE 'f'::boolean END as overdue_p, - to_char(t.due_date,'YYYY-MM-DD HH24:MI') as due_date, + tasks__relative_date(t.due_date) as due_date, contact__name(t.party_id, :name_order) as contact_name, - p.title as process_title, p.process_id + p.title as process_title, p.process_id, t.mime_type from t_task_status s, acs_objects ot, t_tasks t left outer join t_process_instances pi on (pi.process_instance_id = t.process_instance_id) left outer join t_processes p on (p.process_id = pi.process_id) where s.status_id = t.status_id + and t.status_id <> 2 and ot.object_id = t.task_id and ot.package_id = :package_id - and t.start_date > now() + and ot.creation_user = :user_id + and t.start_date < now() and t.due_date < ( now() + '$tasks_interval days'::interval ) [template::list::page_where_clause -and -name tasks -key t.task_id] [template::list::orderby_clause -orderby -name tasks] @@ -34,9 +36,11 @@ left outer join t_processes p on (p.process_id = pi.process_id) where s.status_id = t.status_id + and t.status_id <> 2 and ot.object_id = t.task_id and ot.package_id = :package_id - and t.start_date > now() + and ot.creation_user = :user_id + and t.start_date < now() and t.due_date < ( now() + '$tasks_interval days'::interval ) [template::list::orderby_clause -orderby -name tasks] @@ -51,9 +55,11 @@ left outer join t_processes p on (p.process_id = pi.process_id) where s.status_id = t.status_id + and t.status_id <> 2 and ot.object_id = t.task_id and ot.package_id = :package_id - and t.start_date > now() + and ot.creation_user = :user_id + and t.start_date < now() and t.due_date < ( now() + '$tasks_interval days'::interval ) Index: openacs-4/packages/tasks/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/tasks/www/index.tcl 25 Sep 2005 23:49:23 -0000 1.2 +++ openacs-4/packages/tasks/www/index.tcl 26 Sep 2005 08:20:06 -0000 1.3 @@ -18,7 +18,6 @@ set title "[_ tasks.Tasks]" set context {} -set project_id [tasks::project_id] set user_id [ad_conn user_id] set package_id [ad_conn package_id] set url [ad_conn url] @@ -69,7 +68,12 @@ title { label "[_ tasks.Task]" display_template { - @tasks.title@ + @tasks.title@ + +

+ @tasks.description_html;noquote@ +

+
} } process_title { @@ -78,12 +82,9 @@ due_date { label "[_ tasks.Due]" display_template { - - @tasks.due_date@ - - - @tasks.due_date@ - + + « @tasks.due_date;noquote@ » + } } } \ @@ -139,8 +140,22 @@ } } -db_multirow -extend { contact_url } -unclobber tasks tasks_select {} { +db_multirow -extend { contact_url description_html task_url task_plus_url task_minus_url } -unclobber tasks tasks_select {} { set contact_url "/contacts/${party_id}/" + set task_url [export_vars -base "task" -url {orderby status_id task_id}] + set task_plus_url [export_vars -base "task-interval" -url {{action plus} {days 7} task_id status_id orderby return_url}] + set task_minus_url [export_vars -base "task-interval" -url {{action minus} {days 7} task_id status_id orderby return_url}] + + regsub -all "\r|\n" $description {LiNeBrEaK} description + set description_html [ad_html_text_convert \ + -from $mime_type \ + -to "text/html" \ + -truncate_len "400" \ + -more "[_ tasks.more]" \ + -- $description] + regsub -all {LiNeBrEaKLiNeBrEaK} $description_html {LiNeBrEaK} description_html + regsub -all {LiNeBrEaK} $description_html {\ \ \¶\ } description_html + regsub -all " " $due_date {\ } due_date } Index: openacs-4/packages/tasks/www/process-assign.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/Attic/process-assign.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/tasks/www/process-assign.tcl 25 Sep 2005 23:49:23 -0000 1.2 +++ openacs-4/packages/tasks/www/process-assign.tcl 26 Sep 2005 08:20:06 -0000 1.3 @@ -39,15 +39,16 @@ set case_id [db_nextval acs_object_id_seq] - tasks::process::instance::new \ - -process_id $process_id \ - -case_id $case_id \ - -object_id $object_id + set instance_id [tasks::process::instance::new \ + -process_id $process_id \ + -case_id $case_id \ + -party_id $assignee_id \ + -object_id $object_id] workflow::case::new -no_notification \ -case_id $case_id \ -workflow_id $workflow_id \ - -object_id $object_id + -object_id $instance_id } ad_returnredirect [export_vars -base "contact" -url {{party_id $assignee_id}}] Index: openacs-4/packages/tasks/www/process.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/process.adp,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/tasks/www/process.adp 27 Jul 2005 13:44:59 -0000 1.1 +++ openacs-4/packages/tasks/www/process.adp 26 Sep 2005 08:20:06 -0000 1.2 @@ -1,4 +1,5 @@ - + +@assignee_id@ @title@ @context@ Index: openacs-4/packages/tasks/www/task-interval.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/Attic/task-interval.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/tasks/www/task-interval.tcl 25 Sep 2005 23:49:23 -0000 1.2 +++ openacs-4/packages/tasks/www/task-interval.tcl 26 Sep 2005 08:20:06 -0000 1.3 @@ -10,7 +10,7 @@ @return title Page title. } { - {party_id:integer,notnull} + {party_id:integer,optional} task_id:integer status_id:integer,optional orderby:optional @@ -56,7 +56,7 @@ -status_id ${status} \ -priority ${priority}] -set task_url [export_vars -base "/tasks/task" -url {task_id status_id orderby}] +set task_url [export_vars -base "/tasks/task" -url {task_id party_id status_id orderby}] if { $action == "minus" } { util_user_message -html -message "[_ tasks.task_moved_up]" Index: openacs-4/packages/tasks/www/task.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/Attic/task.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/tasks/www/task.tcl 25 Sep 2005 23:49:23 -0000 1.3 +++ openacs-4/packages/tasks/www/task.tcl 26 Sep 2005 08:20:06 -0000 1.4 @@ -69,17 +69,6 @@ ad_script_abort } -set contact_options [db_list_of_lists contact_options { - select CASE WHEN o.name is null THEN p.first_names || ' ' || p.last_name ELSE o.name END as name, y.party_id - from parties y - left join persons p on (y.party_id = p.person_id) - left join organizations o on (y.party_id = o.organization_id) - where (p.person_id is not null or o.organization_id is not null) - and y.party_id > 0 - order by 1 -}] -set contact_options [concat [list [list "" ""]] $contact_options] - set status_options [db_list_of_lists status_options { select title, status_id from t_task_status @@ -123,11 +112,6 @@ {help_text {You can either use a standard task or a custom task, but not both}} } - {object_id:text(select),optional - {label "[_ tasks.Contact]"} - {options $contact_options} - } - {due_date:text {label "[_ tasks.Due]"} {html {id date1 size 10 maxlength 10}} @@ -211,7 +195,6 @@ -mime_type "text/plain" \ -comment ${comment} \ -party_id ${party} \ - -object_id $object_id \ -due_date ${due_date} \ -status_id ${status} \ -package_id ${package_id} \ @@ -233,7 +216,6 @@ -description ${description} \ -mime_type "text/plain" \ -comment ${comment} \ - -object_id $object_id \ -due_date ${due_date} \ -status_id ${status} \ -priority ${priority}]