Index: openacs-4/packages/project-manager/lib/projects.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/projects.tcl,v diff -u -r1.38 -r1.39 --- openacs-4/packages/project-manager/lib/projects.tcl 14 Nov 2006 16:09:46 -0000 1.38 +++ openacs-4/packages/project-manager/lib/projects.tcl 29 Nov 2006 12:02:17 -0000 1.39 @@ -313,28 +313,33 @@ set previous_status_where_clause "" } set filters [list \ - searchterm [list \ + searchterm [list \ label "[_ project-manager.Search_1]" \ + type singleval \ where_clause {$search_term_where} ] \ date_range [list \ label "[_ project-manager.Planned_end_date]" \ + type singleval \ where_clause {$p_range_where} - ] \ + ] \ pm_status_id [list \ - label "[_ project-manager.Status_1]" \ - default_value [pm::project::default_status_open] \ - values { {All "-1"} [pm::status::project_status_select]} \ - where_clause { $status_where_clause } \ - ] \ + label "[_ project-manager.Status_1]" \ + default_value [pm::project::default_status_open] \ + values { {All "-1"} [pm::status::project_status_select]} \ + type multival \ + where_clause { $status_where_clause } \ + ] \ assignee_id [list \ label "[_ project-manager.Assignee]" \ default_value $user_id \ values { $assignees_filter } \ + type multival \ where_clause {$assignee_where_clause} ] \ category_id [list \ label Categories \ + type singleval \ where_clause {c.category_id = [join [value_if_exists category_id] ","]} ] \ user_space_p [list] \ @@ -343,19 +348,23 @@ subprojects_p [list \ label "[_ project-manager.ShowSubprojects]" \ values { {"[_ project-manager.True]" t } { "[_ project-manager.False]" f} } \ + type singleval \ where_clause { $subprojects_where_clause } ] \ is_observer_p [list \ + type singleval \ where_clause { $user_space_clause } ] \ previous_status_f [list \ label "[_ project-manager.Previous_Status]" \ values { $previous_status_options } \ + type multival \ where_clause { $previous_status_where_clause } ] \ current_package_f [list \ - label "[_ project-manager.Package_Instance]" \ - values {{"[_ acs-kernel.common_All]" 1} {"[_ project-manager.Current]" $pm_package_id}} \ + label "[_ project-manager.Package_Instance]" \ + type singleval \ + values {{"[_ acs-kernel.common_All]" 1} {"[_ project-manager.Current]" $pm_package_id}} \ ] \ ] Index: openacs-4/packages/project-manager/lib/tasks-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/tasks-portlet.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/project-manager/lib/tasks-portlet.tcl 11 Aug 2006 14:56:17 -0000 1.11 +++ openacs-4/packages/project-manager/lib/tasks-portlet.tcl 29 Nov 2006 12:02:17 -0000 1.12 @@ -28,7 +28,7 @@ } if {![exists_and_not_null elements]} { - set elements "task_item_id status_type title priority estimated_hours_work_max slack_time end_date last_name" + set elements "task_item_id status_type title priority hours_remaining end_date last_name" } set user_id [auth::require_login] Index: openacs-4/packages/project-manager/lib/tasks-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/tasks-postgresql.xql,v diff -u -r1.28 -r1.29 --- openacs-4/packages/project-manager/lib/tasks-postgresql.xql 24 Oct 2006 16:32:10 -0000 1.28 +++ openacs-4/packages/project-manager/lib/tasks-postgresql.xql 29 Nov 2006 12:02:17 -0000 1.29 @@ -58,18 +58,19 @@ SELECT t.item_id as task_item_id FROM - (select ci.parent_id, ci.item_id, tr.end_date, tr.priority, tr.earliest_start, tr.latest_start + (select ci.parent_id, ci.item_id, ci.latest_revision, tr.end_date, tr.priority, tr.earliest_start, tr.latest_start from cr_items ci, pm_tasks_revisions tr -- get only live revisions where ci.live_revision = tr.task_revision_id -) t, pm_tasks_active ti, $observer_from_clause +) t, pm_tasks_active ti, $observer_from_clause $search_from_clause cr_items cp, acs_objects op, pm_projects p where t.parent_id = cp.item_id and t.item_id = ti.task_id and cp.live_revision = p.project_id and p.project_id = op.object_id $party_id_clause $observer_pagination_clause + $search_where_clause [template::list::filter_where_clauses -and -name tasks] [template::list::orderby_clause -name tasks -orderby] Index: openacs-4/packages/project-manager/lib/tasks.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/tasks.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/project-manager/lib/tasks.adp 10 Nov 2005 17:36:44 -0000 1.4 +++ openacs-4/packages/project-manager/lib/tasks.adp 29 Nov 2006 12:02:17 -0000 1.5 @@ -42,3 +42,5 @@ + \ No newline at end of file Index: openacs-4/packages/project-manager/lib/tasks.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/tasks.tcl,v diff -u -r1.61 -r1.62 --- openacs-4/packages/project-manager/lib/tasks.tcl 23 Nov 2006 09:38:21 -0000 1.61 +++ openacs-4/packages/project-manager/lib/tasks.tcl 29 Nov 2006 12:02:17 -0000 1.62 @@ -141,13 +141,15 @@ } if {[regexp {([0-9]+)} $searchterm match query_digits]} { - set search_term_where " (upper(t.title) like upper('%$searchterm%') - or t.task_item_id = :query_digits) " + set search_where_clause "and (upper(cr.title) like upper('%$searchterm%') + or t.item_id = :query_digits) and cr.revision_id = t.latest_revision" } else { - set search_term_where " upper(t.title) like upper('%$searchterm%')" + set search_where_clause "and upper(cr.title) like upper('%$searchterm%') and cr.revision_id = t.latest_revision" } + set search_from_clause "cr_revisions cr," } else { - set search_term_where "" + set search_from_clause "" + set search_where_clause "" } set default_orderby [pm::task::default_orderby] @@ -214,9 +216,8 @@ } set filters [list \ - searchterm [list \ + searchterm [list \ label "[_ project-manager.Search_1]" \ - where_clause "$search_term_where" ] \ status_id [list \ label "[_ project-manager.Status_1]" \ @@ -425,9 +426,7 @@ } hours_remaining { label "[_ project-manager.Hours_remaining]" - html { - align right - } + display_template "
@tasks.hours_remaining@
(@tasks.estimated_hours_work_max@)
" } actual_days_worked { label "[_ project-manager.Days_worked]" @@ -444,7 +443,7 @@ estimated_hours_work_max { label "[_ project-manager.Estimated_Hours_Max]" html { - align right + align left } } project_item_id { @@ -534,6 +533,8 @@ user_html \ role_type] +set total_estimated_hours 0 +set total_estimated_hours_max 0 db_multirow -extend $extend_list tasks tasks " " { if { $tasks_portlet_p && [string equal $row_count $show_rows] } { @@ -694,6 +695,8 @@ -estimated_hours_work_max $estimated_hours_work_max \ -percent_complete $percent_complete] + set total_estimated_hours [expr $total_estimated_hours + $estimated_hours_work] + set total_estimated_hours_max [expr $total_estimated_hours_max + $estimated_hours_work_max] set days_remaining \ [pm::task::days_remaining \ -estimated_hours_work $estimated_hours_work \