Index: openacs-4/packages/tasks/lib/tasks-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/tasks-portlet.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/tasks/lib/tasks-portlet.adp 1 Mar 2006 13:49:15 -0000 1.5 +++ openacs-4/packages/tasks/lib/tasks-portlet.adp 4 Mar 2006 22:57:24 -0000 1.6 @@ -12,7 +12,9 @@ object_query=@object_query@ page_size="50" show_filters_p="1" - hide_elements="" /> + hide_elements="" + start_date=@start_date@ + end_date=@end_date@ /> Index: openacs-4/packages/tasks/lib/tasks-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/tasks-portlet.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/tasks/lib/tasks-portlet.tcl 1 Mar 2006 13:49:15 -0000 1.5 +++ openacs-4/packages/tasks/lib/tasks-portlet.tcl 4 Mar 2006 22:57:24 -0000 1.6 @@ -1,2 +1,4 @@ - set portlet_layout [parameter::get -parameter "DefaultPortletLayout"] + +if { ![info exists start_date] } { set start_date {} } +if { ![info exists end_date] } { set end_date {} } Index: openacs-4/packages/tasks/lib/tasks-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/tasks-postgresql.xql,v diff -u -r1.12 -r1.13 --- openacs-4/packages/tasks/lib/tasks-postgresql.xql 1 Mar 2006 13:49:15 -0000 1.12 +++ openacs-4/packages/tasks/lib/tasks-postgresql.xql 4 Mar 2006 22:57:24 -0000 1.13 @@ -2,6 +2,15 @@ postgresql7.2 + + + select title, + status_id + from t_task_status + order by status_id + + + select '1' @@ -67,9 +76,12 @@ 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 $limitations_clause + [list::filter_where_clauses -and -name tasks] [template::list::orderby_clause -orderby -name tasks] Index: openacs-4/packages/tasks/lib/tasks.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/tasks.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/tasks/lib/tasks.adp 1 Mar 2006 13:49:15 -0000 1.5 +++ openacs-4/packages/tasks/lib/tasks.adp 4 Mar 2006 22:57:25 -0000 1.6 @@ -15,7 +15,6 @@ -

#tasks.Assign_Process#


@@ -24,7 +23,7 @@
- +

#tasks.Add_Task# #tasks.Assign_Process# Index: openacs-4/packages/tasks/lib/tasks.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/tasks.tcl,v diff -u -r1.23 -r1.24 --- openacs-4/packages/tasks/lib/tasks.tcl 1 Mar 2006 13:49:15 -0000 1.23 +++ openacs-4/packages/tasks/lib/tasks.tcl 4 Mar 2006 22:57:25 -0000 1.24 @@ -56,7 +56,7 @@ if { $key ne "return_url" } { lappend page_elements $key } - if { [lsearch [list groupby orderby format page] $key] < 0 } { + if { [lsearch [list groupby orderby format page status_id] $key] < 0 } { # the variable is not a reserved filter name lappend filters_list $key {} } @@ -156,20 +156,18 @@ append limitations_clause "\n and ao.package_id = [ad_conn package_id]" if { $start_date ne "" } { - append limitations_clause "\n and t.due_date >= '$start_date'" + append limitations_clause "\n and CASE WHEN t.status_id <> '2' THEN t.due_date::date ELSE t.completed_date::date END >= '$start_date'::date" } if { $end_date ne "" } { - append limitations_clause "\n and t.due_date <= '$end_date'" + append limitations_clause "\n and CASE WHEN t.status_id <> '2' THEN t.due_date::date ELSE t.completed_date::date END <= '$end_date'::date" } - - # before doing anything we check for the special vars task_action and task_action_id # these actions are performed here because it requires less code to maintain just this # one page, instead of routing to specialized pages. @@ -312,6 +310,12 @@ } +set status_options [db_list_of_lists status_options {}] +set status_options [lang::util::localize $status_options] +# by default we only show pending tasks +lappend filters_list status_id [list label [_ tasks.Status] values $status_options where_clause { t.status_id = :status_id } default_value "1"] + + if { [lsearch $hide_elements checkbox] >= 0 } { set bulk_actions [list] } else { @@ -337,6 +341,7 @@ [_ tasks.Not_Done] } } + status_id {} priority { label "[_ tasks.Priority]" display_template { @@ -445,8 +450,13 @@ set assignee_name [contact::name -party_id $assignee_id] - set object_url "/o/$object_id" - set assignee_url "/o/$assignee_id" + if { [ad_conn package_key] == "contacts" } { + set object_url [contact::url -party_id $object_id] + set assignee_url [contact::url -party_id $assignee_id] + } else { + set object_url "/o/$object_id" + set assignee_url "/o/$assignee_id" + } set task_url [export_vars -base $url -url [concat $page_elements {{task_action_id $task_id} {task_action edit}}]] set complete_url [export_vars -base $url -url [concat $page_elements {{task_action_id $task_id} {task_action complete}}]] set interval_increase_url [export_vars -base $url -url [concat $page_elements {{task_action_id $task_id} {task_action interval_increase}}]] 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 -r1.5 -r1.6 --- openacs-4/packages/tasks/tcl/tasks-callback-procs.tcl 1 Mar 2006 13:49:15 -0000 1.5 +++ openacs-4/packages/tasks/tcl/tasks-callback-procs.tcl 4 Mar 2006 22:57:25 -0000 1.6 @@ -161,6 +161,7 @@ process-task-delete { set file "/packages/tasks/www/process-task-delete" } tasks { set file "/packages/tasks/www/index" } tasks-change-assignee { set file "/packages/tasks/www/change-assignee" } + tasks-delete { set file "/packages/tasks/www/delete" } } if { [exists_and_not_null file] } { rp_internal_redirect $file Index: openacs-4/packages/tasks/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index.adp,v diff -u -r1.11 -r1.12 --- openacs-4/packages/tasks/www/index.adp 1 Mar 2006 13:49:15 -0000 1.11 +++ openacs-4/packages/tasks/www/index.adp 4 Mar 2006 22:57:25 -0000 1.12 @@ -6,7 +6,9 @@ + object_query=@object_query;noquote@ + start_date=@start_date@ + end_date=@end_date@ /> Index: openacs-4/packages/tasks/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/tasks/www/index.tcl 1 Mar 2006 13:49:15 -0000 1.9 +++ openacs-4/packages/tasks/www/index.tcl 4 Mar 2006 22:57:25 -0000 1.10 @@ -5,15 +5,10 @@ @creation-date 2004-07-28 @cvs-id $Id$ } { - {tasks_orderby:optional ""} - {format "normal"} {search_id:integer ""} {query ""} - {page:optional "1"} - {page_size:integer "25"} {tasks_future:integer "7"} - {tasks_previous:integer "0"} - {page_flush_p "0"} + {tasks_previous:integer ""} } @@ -26,7 +21,6 @@ set return_url [export_vars -base $url -url {orderby format search_id query page page_size tasks_future tasks_previous {page_flush_p t}}] - set package_id [site_node::get_element -url "/contacts" -element object_id] if { [exists_and_not_null search_id] } { contact::search::log -search_id $search_id @@ -43,8 +37,8 @@ {search_id:integer(select),optional {label ""} {options $search_options} {html {onChange "javascript:acs_FormRefresh('search')"}}} {query:text(text),optional {label ""} {html {size 20 maxlength 255}}} {save:text(submit) {label {[_ contacts.Search]}} {value "go"}} - {tasks_previous:integer(text),optional {label "  [_ tasks.View_previous]"} {after_html "days"} {html {size 2 maxlength 3 onChange "javascript:acs_FormRefresh('search')"}}} - {tasks_future:integer(text),optional {label "  [_ tasks.View_next]"} {after_html "days"} {html {size 2 maxlength 3 onChange "javascript:acs_FormRefresh('search')"}}} + {tasks_previous:integer(text),optional {label "  [_ tasks.View_previous]"} {after_html "days"} {html {size 2 maxlength 3 onChange "javascript:acs_FormRefresh('search')"}}} + {tasks_future:integer(text),optional {label "  [_ tasks.View_next]"} {after_html "days"} {html {size 2 maxlength 3 onChange "javascript:acs_FormRefresh('search')"}}} } if { [parameter::get -boolean -parameter "ForceSearchBeforeAdd" -default "0"] } { @@ -75,3 +69,14 @@ and group_distinct_member_map.group_id in ('[join [contacts::default_groups] "','"]') [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] " + + + +set start_date "" +set end_date "" +if { $tasks_future ne "" } { + set end_date [db_string get_new_start_date " select ( now() + '$tasks_future days'::interval ) " -default {}] +} +if { $tasks_previous ne "" } { + set start_date [db_string get_new_end_date " select ( now() - '$tasks_previous days'::interval ) " -default {}] +}