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.4 -r1.5 --- openacs-4/packages/tasks/lib/tasks-postgresql.xql 29 Sep 2005 13:40:22 -0000 1.4 +++ openacs-4/packages/tasks/lib/tasks-postgresql.xql 7 Oct 2005 21:46:39 -0000 1.5 @@ -2,7 +2,7 @@ postgresql7.2 - + select t.task_id, t.title, @@ -29,14 +29,99 @@ 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 t.start_date < now() - [template::list::filter_where_clauses -and -name tasks] - [template::list::orderby_clause -orderby -name tasks] + where s.status_id = t.status_id + and t.status_id <> 2 + and ao.object_id = t.task_id + and ao.package_id = :package_id + and t.start_date < now() + and t.due_date < ( now() + '$tasks_interval days'::interval ) + and t.party_id in ( select parties.party_id + from parties + left join cr_items on (parties.party_id = cr_items.item_id) + left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id), + group_distinct_member_map + where parties.party_id = group_distinct_member_map.member_id + and group_distinct_member_map.group_id = :group_id + [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] )) + [template::list::page_where_clause -and -name tasks -key t.task_id] + [template::list::filter_where_clauses -and -name tasks] + [template::list::orderby_clause -orderby -name tasks] + + + select t.task_id + from t_task_status s, acs_objects ao, t_tasks t + where s.status_id = t.status_id + and t.status_id <> 2 + and ao.object_id = t.task_id + and ao.package_id = :package_id + and t.start_date < now() + and t.due_date < ( now() + '$tasks_interval days'::interval ) + and t.party_id in ( select parties.party_id + from parties + left join cr_items on (parties.party_id = cr_items.item_id) + left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id), + group_distinct_member_map + where parties.party_id = group_distinct_member_map.member_id + and group_distinct_member_map.group_id = :group_id + [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] )) + [template::list::filter_where_clauses -and -name tasks] + [template::list::orderby_clause -orderby -name 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 + 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 t.status_id <> 2 + and ao.object_id = t.task_id + and ao.package_id = :package_id + and t.start_date < now() + [template::list::page_where_clause -and -name tasks -key t.task_id] + [template::list::filter_where_clauses -and -name tasks] + [template::list::orderby_clause -orderby -name tasks] + + + + + + select t.task_id + from t_task_status s, acs_objects ao, t_tasks t + where s.status_id = t.status_id + and t.status_id <> 2 + and ao.object_id = t.task_id + and ao.package_id = :package_id + and t.start_date < now() + [template::list::filter_where_clauses -and -name tasks] + [template::list::orderby_clause -orderby -name tasks] + + + Index: openacs-4/packages/tasks/lib/tasks.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/tasks.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/tasks/lib/tasks.tcl 6 Oct 2005 16:41:29 -0000 1.5 +++ openacs-4/packages/tasks/lib/tasks.tcl 7 Oct 2005 21:46:39 -0000 1.6 @@ -12,9 +12,13 @@ # so we can unset it later :). set party_id "" unset party_id + set page_query_name own_tasks_pagination + set query_name own_tasks } else { set contact_id $party_id set user_id2 "" + set page_query_name contact_tasks_pagination + set query_name contact_tasks } if { ![exists_and_not_null orderby] } { @@ -30,6 +34,7 @@ set bulk_actions [list "[_ tasks.Reassign]" "reassign-task" "[_ tasks.Reassign_selected]"] set package_id [ad_conn package_id] +set group_id "11428599" template::list::create \ -name tasks \ @@ -38,6 +43,9 @@ -bulk_action_method post \ -bulk_action_export_vars { } \ -key task_id \ + -page_size "50" \ + -page_flush_p $page_flush_p \ + -page_query_name $page_query_name \ -elements { deleted_p { label {[_ tasks.Not_Done]} @@ -102,18 +110,23 @@ user_id { where_clause {ao.creation_user = :user_id} } + search_id {} + query {} + page_size {} + tasks_interval {} + process_instance {} } -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)" + orderby_desc "CASE WHEN t.status_id <> 2 THEN t.due_date ELSE t.completed_date END desc, t.priority, lower(t.title)" + orderby_asc "CASE WHEN t.status_id <> 2 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)" + orderby_desc "t.status_id, t.priority desc, CASE WHEN t.status_id <> 2 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 <> 2 THEN t.due_date ELSE t.completed_date END asc, lower(t.title)" default_direction desc } title { @@ -136,7 +149,7 @@ } } -db_multirow -extend {creation_user_url contact_url complete_url done_p task_plus_url task_minus_url description_html task_url} -unclobber tasks get_tasks " " { +db_multirow -extend {creation_user_url contact_url complete_url done_p task_plus_url task_minus_url description_html task_url} -unclobber tasks $query_name {} { set creation_user_url [contact::url -party_id $creation_user] 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 $contact_id} return_url}] Index: openacs-4/packages/tasks/www/contact.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/contact.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/tasks/www/contact.adp 29 Sep 2005 13:17:54 -0000 1.4 +++ openacs-4/packages/tasks/www/contact.adp 7 Oct 2005 21:46:39 -0000 1.5 @@ -1,4 +1,9 @@ @party_id@ - + Index: openacs-4/packages/tasks/www/contact.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/contact.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/tasks/www/contact.tcl 26 Sep 2005 08:20:06 -0000 1.3 +++ openacs-4/packages/tasks/www/contact.tcl 7 Oct 2005 21:46:39 -0000 1.4 @@ -9,16 +9,14 @@ @return title Page title. @return context Context bar. @return tasks Multirow data set of tasks - @return task_term Terminology for tasks - @return task_term_lower Terminology for tasks (lower case) - @return project_term Terminology for projects - @return project_term_lower Terminology for projects (lower case) @param mine_p is used to make the default be the user, but still allow people to view everyone. } { {orderby ""} + {page:optional "1"} + {page_size:optional "25"} {party_id ""} {searchterm ""} {mine_p "t"} 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 -r1.3 -r1.4 --- openacs-4/packages/tasks/www/index-postgresql.xql 26 Sep 2005 08:20:06 -0000 1.3 +++ openacs-4/packages/tasks/www/index-postgresql.xql 7 Oct 2005 21:46:39 -0000 1.4 @@ -22,6 +22,14 @@ and ot.creation_user = :user_id and t.start_date < now() and t.due_date < ( now() + '$tasks_interval days'::interval ) + and t.party_id in ( select parties.party_id + from parties + left join cr_items on (parties.party_id = cr_items.item_id) + left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id), + group_distinct_member_map + where parties.party_id = group_distinct_member_map.member_id + and group_distinct_member_map.group_id = :group_id + [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] )) [template::list::page_where_clause -and -name tasks -key t.task_id] [template::list::orderby_clause -orderby -name tasks] @@ -31,17 +39,21 @@ select t.task_id 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 ot.creation_user = :user_id and t.start_date < now() and t.due_date < ( now() + '$tasks_interval days'::interval ) + and t.party_id in ( select parties.party_id + from parties + left join cr_items on (parties.party_id = cr_items.item_id) + left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id), + group_distinct_member_map + where parties.party_id = group_distinct_member_map.member_id + and group_distinct_member_map.group_id = :group_id + [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] )) [template::list::orderby_clause -orderby -name tasks] @@ -50,17 +62,21 @@ select count(*) 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 ot.creation_user = :user_id and t.start_date < now() and t.due_date < ( now() + '$tasks_interval days'::interval ) + and t.party_id in ( select parties.party_id + from parties + left join cr_items on (parties.party_id = cr_items.item_id) + left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id), + group_distinct_member_map + where parties.party_id = group_distinct_member_map.member_id + and group_distinct_member_map.group_id = :group_id + [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] )) Index: openacs-4/packages/tasks/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/tasks/www/index.adp 29 Sep 2005 17:28:51 -0000 1.4 +++ openacs-4/packages/tasks/www/index.adp 7 Oct 2005 21:46:39 -0000 1.5 @@ -2,6 +2,12 @@

- - - + Index: openacs-4/packages/tasks/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/tasks/www/index.tcl 7 Oct 2005 21:41:45 -0000 1.4 +++ openacs-4/packages/tasks/www/index.tcl 7 Oct 2005 21:46:39 -0000 1.5 @@ -9,7 +9,7 @@ {format "normal"} {search_id:integer ""} {query ""} - {page:optional} + {page:optional "1"} {page_size:integer "25"} {tasks_interval:integer "7"} {page_flush_p "f"} @@ -24,7 +24,6 @@ set return_url [export_vars -base $url -url {orderby format search_id query page page_size tasks_interval {page_flush_p t}}] - if { $orderby == "contact_name,asc" } { set name_order 0 } elseif { $orderby == "contact_name,desc" } { @@ -159,7 +158,7 @@ set tasks_count [db_string tasks_count {} -default {0}] - +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 }