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] + }