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 {}
@@ -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
}