Index: openacs-4/packages/tasks/www/contact.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/contact.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/tasks/www/contact.tcl 27 Jul 2005 13:45:00 -0000 1.1
+++ openacs-4/packages/tasks/www/contact.tcl 25 Sep 2005 23:49:23 -0000 1.2
@@ -23,7 +23,6 @@
{searchterm ""}
{mine_p "t"}
{status_id "1"}
- {role_id "2"}
{process_instance:integer,optional}
} -properties {
task_term:onevalue
@@ -43,25 +42,17 @@
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 "/tasks/contact" -url {orderby status_id party_id}]
+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 admin_p [permission::permission_p -object_id [ad_conn package_id] -privilege admin]
-set task_term [ad_conn instance_name]
+set package_id [ad_conn package_id]
+set admin_p [permission::permission_p -object_id $package_id -privilege admin]
set context {}
-# -bulk_actions {
-# "Mark Completed" "mark-completed" "Mark Completed"
-# "Delete" "delete" "Delete"
-# } \
-# -bulk_action_export_vars {
-# {return_url} {orderby} {party_id}
-# } \
-
template::list::create \
-name tasks \
-multirow tasks \
@@ -93,24 +84,28 @@
}
}
- process {
+ process_title {
label "[_ tasks.Process]"
display_template {
- @tasks.process@
+ @tasks.process_title@
-
- « @tasks.process@ »
-
+ @tasks.process_title@
}
}
+ contact {
+ label "[_ tasks.Contact]"
+ display_template {
+ @tasks.contact@
+ }
+ }
date {
label "[_ tasks.Date]"
display_template {
@tasks.completed_date;noquote@
-
- « @tasks.end_date;noquote@ »
+
+ « @tasks.due_date;noquote@ »
}
@@ -128,81 +123,80 @@
-filters {
party_id {}
} -orderby {
- default_value $orderby
+ default_value "priority,desc"
date {
label "[_ tasks.Due]"
- orderby_desc "CASE WHEN pt.status = 1 THEN ptr.end_date ELSE tasks__completion_date(ci.item_id) END desc, ptr.priority, upper(cr.title)"
- orderby_asc "CASE WHEN pt.status = 1 THEN ptr.end_date ELSE tasks__completion_date(ci.item_id) END asc, ptr.priority, upper(cr.title)"
+ 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 "pt.status, ptr.priority desc, CASE WHEN pt.status = 1 THEN ptr.end_date ELSE tasks__completion_date(ci.item_id) END desc, upper(cr.title)"
- orderby_asc "pt.status, ptr.priority asc, CASE WHEN pt.status = 1 THEN ptr.end_date ELSE tasks__completion_date(ci.item_id) END asc, upper(cr.title)"
+ 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 "upper(cr.title) desc, ptr.priority desc, ptr.end_date asc"
- orderby_asc "upper(cr.title) asc, ptr.priority desc, ptr.end_date asc"
+ 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 {
+ process_title {
label "[_ tasks.Process]"
- orderby_desc "upper(ppi.name) desc, ptr.priority desc, ptr.end_date asc"
- orderby_asc "upper(ppi.name) asc, ptr.priority desc, ptr.end_date asc"
+ 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 "upper(contact__name(ao.creation_user)) desc, ptr.end_date asc, ptr.priority, upper(cr.title)"
- orderby_asc "upper(contact__name(ao.creation_user)) asc, ptr.end_date asc, ptr.priority, upper(cr.title)"
+ 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
}
}
-
-set project_id [tasks::project_id]
-db_multirow -extend {creation_user_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 pt.task_id,
- tasks__relative_date(ptr.end_date) as end_date,
- tasks__relative_date(tasks__completion_date(ci.item_id)) as completed_date,
- cr.title,
- cr.description,
- ptr.priority,
- :party_id as party_id,
- ppi.name as process,
- ppi.process_id as process_id,
- ao.creation_user,
+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,
- pt.status as status_id,
- pt.process_instance,
- CASE WHEN ptr.end_date < now() THEN 't' ELSE 'f' END as end_date_passed_p
- from cr_items ci,
- pm_tasks_revisions ptr,
- pm_tasks pt left join pm_process_instance ppi on (pt.process_instance = ppi.instance_id ),
- cr_revisions cr,
- acs_objects ao
- where ci.parent_id = :project_id
- and ci.item_id = pt.task_id
- and ci.latest_revision = ptr.task_revision_id
- and ci.live_revision = ptr.task_revision_id
- and ptr.task_revision_id = cr.revision_id
- and cr.revision_id = ao.object_id
- and pt.deleted_p = 'f'
- and task_id in ( select task_id from pm_task_assignment where party_id = :party_id and role_id = '1' )
+ 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 task_id}]
+ 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}]
@@ -211,7 +205,7 @@
regsub -all "\r|\n" $description {LiNeBrEaK} description
set description_html [ad_html_text_convert \
- -from "text/plain" \
+ -from $mime_type \
-to "text/html" \
-truncate_len "400" \
-more "[_ tasks.more]" \
@@ -222,7 +216,7 @@
# 167 is the actual paragraph standard internationally but 182 is more common in the US
regsub -all {LiNeBrEaK} $description_html {\ \ \¶\ } description_html
- regsub -all " " $end_date {\ } end_date
+ regsub -all " " $due_date {\ } due_date
regsub -all " " $completed_date {\ } completed_date
}