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.5 -r1.6
--- openacs-4/contrib/packages/project-manager/www/tasks.tcl 12 Mar 2004 13:44:45 -0000 1.5
+++ openacs-4/contrib/packages/project-manager/www/tasks.tcl 27 Apr 2004 00:49:29 -0000 1.6
@@ -24,8 +24,14 @@
task_term:onevalue
context:onevalue
tasks:multirow
+ hidden_vars:onevalue
}
+# if someone clicks on a party, then we want to see those tasks.
+if {[exists_and_not_null party_id]} {
+ set mine_p "f"
+}
+
# --------------------------------------------------------------- #
# terminology
@@ -34,6 +40,12 @@
set project_term [parameter::get -parameter "ProjectName" -default "Project"]
set project_term_lower [parameter::get -parameter "projectname" -default "project"]
+
+set exporting_vars { status_id party_id orderby mine_p }
+set hidden_vars [export_vars -form $exporting_vars]
+# how to get back here
+set return_url "[ad_conn url]?[ad_conn query]"
+
# set up context bar
set context [list "Tasks"]
@@ -60,6 +72,18 @@
# Tasks, using list-builder ---------------------------------
+if {![empty_string_p $searchterm]} {
+
+ if {[regexp {([0-9]+)} $searchterm match query_digits]} {
+ set search_term_where " (upper(t.title) like upper('%$searchterm%')
+ or t.item_id = :query_digits) "
+ } else {
+ set search_term_where " upper(t.title) like upper('%$searchterm%')"
+ }
+} else {
+ set search_term_where ""
+}
+
template::list::create \
-name tasks \
-multirow tasks \
@@ -87,26 +111,60 @@
}
latest_finish_pretty {
label "Latest Finish"
+ display_template {
+ @tasks.latest_finish_pretty@
+ }
}
actual_hours_worked {
label "Hours completed"
- display_template "@tasks.actual_hours_worked@/@tasks.estimated_hours_work@"
+ display_template "@tasks.actual_hours_worked@/@tasks.estimated_hours_work@ (@tasks.percent_complete@\%)"
}
+ project_item_id {
+ label "P"
+ display_template "P"
+ }
+ log_url {
+ label "L"
+ display_template {L}
+ }
} \
- -actions {
- "Add task" "task-select-project" "Add a task"
+ -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"
} \
+ -bulk_action_export_vars {
+ {return_url}
+ } \
-sub_class {
narrow
} \
-filters {
searchterm {
label "Search"
+ where_clause {$search_term_where}
}
party_id {
label "People"
- values {[db_list_of_lists get_people "select distinct(first_names || ' ' || last_name) as fullname, u.person_id from persons u, pm_task_assignment a where u.person_id = a.party_id order by fullname"]}
+ values {[db_list_of_lists get_people "
+ SELECT
+ distinct(first_names || ' ' || last_name) as fullname,
+ u.person_id
+ FROM
+ persons u,
+ pm_task_assignment a,
+ cr_items t,
+ pm_tasks ts,
+ pm_tasks_revisionsx r
+ WHERE
+ u.person_id = a.party_id and
+ t.item_id = a.task_id and
+ t.item_id = ts.task_id and
+ ts.status = :status_id and
+ t.item_id = r.item_id and
+ t.live_revision = r.revision_id
+ ORDER BY
+ fullname"]}
where_clause {
ta.party_id = :party_id
}
@@ -178,10 +236,14 @@
}
-db_multirow -extend { item_url latest_start_pretty latest_finish_pretty slack_time} tasks tasks {
+
+
+db_multirow -extend { item_url latest_start_pretty latest_finish_pretty slack_time log_url} tasks tasks {
} {
set item_url [export_vars -base "task-one" {task_id}]
+ set log_url [export_vars -base "log" {{pm_task_id $task_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"]