Index: openacs-4/contrib/packages/project-manager/www/tasks.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/tasks.tcl,v
diff -u -r1.15 -r1.16
--- openacs-4/contrib/packages/project-manager/www/tasks.tcl 14 Jul 2004 17:51:08 -0000 1.15
+++ openacs-4/contrib/packages/project-manager/www/tasks.tcl 13 Jan 2005 13:54:36 -0000 1.16
@@ -38,12 +38,13 @@
# --------------------------------------------------------------- #
-# terminology
+# terminology and parameters
set task_term [parameter::get -parameter "TaskName" -default "Task"]
set task_term_lower [parameter::get -parameter "taskname" -default "task"]
set project_term [parameter::get -parameter "ProjectName" -default "Project"]
set project_term_lower [parameter::get -parameter "projectname" -default "project"]
+set use_days_p [parameter::get -parameter "UseDayInsteadOfHour" -default "t"]
set exporting_vars { status_id party_id orderby mine_p }
set hidden_vars [export_vars -form $exporting_vars]
@@ -95,56 +96,87 @@
set search_term_where ""
}
-template::list::create \
- -name tasks \
- -multirow tasks \
- -key item_id \
- -elements {
- task_number {
- label "\#"
- link_url_col item_url
- link_html { title "View this project version" }
- display_template {@tasks.task_id@}
+
+set default_orderby [pm::task::default_orderby]
+
+if {[exists_and_not_null orderby]} {
+ pm::task::default_orderby \
+ -set $orderby
+}
+
+
+set elements {
+ task_number {
+ label "\#"
+ link_url_col item_url
+ link_html { title "View this project version" }
+ display_template {@tasks.task_item_id@}
+ }
+ title {
+ label "Subject"
+ }
+ slack_time {
+ label "Slack"
+ display_template "@tasks.slack_time@@tasks.slack_time@"
+ }
+ role {
+ label "Role"
+ }
+ latest_start_pretty {
+ label "Latest Start"
+ }
+ latest_finish_pretty {
+ label "Latest Finish"
+ display_template {
+ @tasks.latest_finish_pretty@
}
- title {
- label "Subject"
- }
- full_name {
- label "Who"
- display_template "unassigned@tasks.full_name@ (@tasks.role@)
"
- }
- slack_time {
- label "Slack"
- display_template "@tasks.slack_time@@tasks.slack_time@"
- }
- latest_start_pretty {
- label "Latest Start"
- }
- latest_finish_pretty {
- label "Latest Finish"
- display_template {
- @tasks.latest_finish_pretty@
+ }
+}
+
+if {[string is true $use_days_p]} {
+ append elements {
+ days_remaining {
+ label "Days work"
+ html {
+ align right
}
- }
+ }
+ }
+} else {
+ append elements {
hours_remaining {
label "Hours remaining"
html {
align right
}
- }
- project_item_id {
- label "Project"
- display_col project_name
- link_url_eval {[export_vars -base one {project_item_id $tasks(project_item_id)}]}
- }
- log_url {
- label "Log"
- display_template {L}
- }
- } \
+ }
+ }
+}
+
+append elements {
+ project_item_id {
+ label "Project"
+ display_col project_name
+ link_url_eval {[export_vars -base one {project_item_id $tasks(project_item_id)}]}
+ }
+ log_url {
+ label "Log"
+ display_template {L}
+ }
+ percent_complete {
+ display_template ""
+ }
+}
+
+template::list::create \
+ -name tasks \
+ -multirow tasks \
+ -key task_item_id \
+ -elements $elements \
-actions [list "Add task" [export_vars -base task-select-project {return_url}] "Add a task"] \
-bulk_actions {
"Log hours" "log-bulk" "Log hours for several tasks"
+ "Edit tasks" "task-add-edit" "Edit multiple tasks"
} \
-bulk_action_export_vars {
{return_url}
@@ -181,47 +213,47 @@
}
} \
-orderby {
- default_value latest_start_pretty,asc
+ default_value $default_orderby
task_number {
label "Task \#"
- orderby_desc "ts.task_number desc"
- orderby_asc "ts.task_number asc"
+ orderby_desc "ts.task_number desc, p.first_names, p.last_name"
+ orderby_asc "ts.task_number asc, p.first_names, p.last_name"
default_direction asc
}
title {
label "Subject"
- orderby_desc "t.title desc"
- orderby_asc "t.title asc"
+ orderby_desc "t.title desc, ts.task_id, p.first_names, p.last_name"
+ orderby_asc "t.title asc, ts.task_id, p.first_names, p.last_name"
default_direction asc
}
full_name {
label "Who"
- orderby_desc "p.first_names desc,p.last_name desc"
- orderby_asc "p.first_names, p.last_name"
+ orderby_desc "p.first_names desc,p.last_name desc, ts.task_id"
+ orderby_asc "p.first_names, p.last_name, ts.task_id"
default_direction asc
}
description {
label "Description"
- orderby_desc "t.description desc"
- orderby_asc "t.description"
+ orderby_desc "t.description desc, ts.task_id, p.first_names, p.last_name"
+ orderby_asc "t.description, ts.task_id, p.first_names, p.last_name"
default_direction asc
}
slack_time {
label "Slack"
- orderby_desc "(latest_start - earliest_start) desc"
- orderby_asc "(latest_start - earliest_start)"
+ orderby_desc "(latest_start - earliest_start) desc, ts.task_id, p.first_names, p.last_name"
+ orderby_asc "(latest_start - earliest_start), ts.task_id, p.first_names, p.last_name"
default_direction asc
}
latest_start_pretty {
label "Latest start"
- orderby_desc "t.latest_start desc, p.first_names, p.last_names"
- orderby_asc "t.latest_start, p.first_names, p.last_name"
+ orderby_desc "t.latest_start desc, ts.task_id, p.first_names, p.last_name"
+ orderby_asc "t.latest_start, ts.task_id, p.first_names, p.last_name"
default_direction asc
}
latest_finish_pretty {
label "Latest finish"
- orderby_desc "t.latest_finish desc, p.first_names, p.last_names"
- orderby_asc "t.latest_finish, p.first_names, p.last_name"
+ orderby_desc "t.latest_finish desc, ts.task_id, p.first_names, p.last_name"
+ orderby_asc "t.latest_finish, ts.task_id, p.first_names, p.last_name"
default_direction asc
}
} \
@@ -233,11 +265,11 @@
-db_multirow -extend { item_url latest_start_pretty latest_finish_pretty slack_time log_url hours_remaining} tasks tasks {
+db_multirow -extend { item_url latest_start_pretty latest_finish_pretty slack_time log_url hours_remaining days_remaining} tasks tasks {
} {
- set item_url [export_vars -base "task-one" {task_id}]
+ set item_url [export_vars -base "task-one" {{task_id $task_item_id}}]
- set log_url [export_vars -base "${logger_url}log" {{project_id $logger_project} {pm_task_id $task_id} {pm_project_id $project_item_id} {return_url $return_url}}]
+ set log_url [export_vars -base "${logger_url}log" {{project_id $logger_project} {pm_task_id $task_item_id} {pm_project_id $project_item_id} {return_url $return_url}}]
set latest_start_pretty [lc_time_fmt $latest_start "%x"]
set latest_finish_pretty [lc_time_fmt $latest_finish "%x"]
@@ -253,11 +285,18 @@
set hours_remaining \
[pm::task::hours_remaining \
- -hours_work $estimated_hours_work \
- -hours_work_min $estimated_hours_work_min \
- -hours_work_max $estimated_hours_work_max \
+ -estimated_hours_work $estimated_hours_work \
+ -estimated_hours_work_min $estimated_hours_work_min \
+ -estimated_hours_work_max $estimated_hours_work_max \
-percent_complete $percent_complete]
+ set days_remaining \
+ [pm::task::days_remaining \
+ -estimated_hours_work $estimated_hours_work \
+ -estimated_hours_work_min $estimated_hours_work_min \
+ -estimated_hours_work_max $estimated_hours_work_max \
+ -percent_complete $percent_complete]
+
}