Index: openacs-4/packages/project-manager/catalog/project-manager.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/catalog/project-manager.en_US.ISO-8859-1.xml,v diff -u -r1.26 -r1.27 --- openacs-4/packages/project-manager/catalog/project-manager.en_US.ISO-8859-1.xml 12 Sep 2005 22:07:32 -0000 1.26 +++ openacs-4/packages/project-manager/catalog/project-manager.en_US.ISO-8859-1.xml 13 Sep 2005 00:22:01 -0000 1.27 @@ -429,6 +429,7 @@ Parameters Party ID People + Percent complete Percent Complete\ Percent complete Percents complete Index: openacs-4/packages/project-manager/lib/projects-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/projects-postgresql.xql,v diff -u -r1.6 -r1.7 --- openacs-4/packages/project-manager/lib/projects-postgresql.xql 26 Aug 2005 17:10:28 -0000 1.6 +++ openacs-4/packages/project-manager/lib/projects-postgresql.xql 13 Sep 2005 00:22:01 -0000 1.7 @@ -5,6 +5,17 @@ SELECT + CASE + WHEN SUM(rx.estimated_hours_work) = 0 + THEN + 100 + WHEN SUM(rx.estimated_hours_work) IS NULL + THEN + 0 + ELSE + FLOOR(SUM(rx.percent_complete * rx.estimated_hours_work) / + SUM(rx.estimated_hours_work)) + END AS percent_complete, p.item_id as project_item_id, p.project_id, p.status_id, @@ -31,6 +42,8 @@ to_char(p.creation_date, 'YYYY-MM_DD HH24:MI:SS') as creation_date, to_char(p.planned_start_date, 'YYYY-MM_DD HH24:MI:SS') as start_date FROM pm_projectsx p + LEFT JOIN pm_tasks_revisionsx rx ON rx.parent_id = + p.item_id LEFT JOIN pm_project_assignment pa ON p.item_id = pa.project_id LEFT JOIN organizations o ON p.customer_id = @@ -50,17 +63,41 @@ ctg.deprecated_p = 'f') c ON p.item_id = c.object_id, cr_items i, + cr_items i2, cr_folders f, pm_roles pr WHERE - p.project_id = i.live_revision + p.project_id = i.live_revision + and rx.object_id = i2.live_revision and i.parent_id = f.folder_id and f.package_id in ($package_ids) and exists (select 1 from acs_object_party_privilege_map ppm where ppm.object_id = p.project_id and ppm.privilege = 'read' and ppm.party_id = :user_id) [template::list::filter_where_clauses -and -name projects] + GROUP BY + p.item_id, + p.project_id, + p.status_id, + p.parent_id, + p.object_type, + p.title, + p.project_code, + p.planned_start_date, + p.planned_end_date, + p.ongoing_p, + c.category_id, + c.category_name, + p.earliest_finish_date, + p.latest_finish_date, + p.actual_hours_completed, + p.estimated_hours_total, + p.estimated_finish_date, + o.name, + o.organization_id, + f.package_id, + p.creation_date [template::list::orderby_clause -orderby -name projects] 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.20 -r1.21 --- openacs-4/packages/project-manager/lib/projects.tcl 9 Sep 2005 22:31:42 -0000 1.20 +++ openacs-4/packages/project-manager/lib/projects.tcl 13 Sep 2005 00:22:01 -0000 1.21 @@ -146,9 +146,9 @@ -set row_list "checkbox {}\nproject_name {}\n" +set row_list "checkbox {}\npercent_complete {} \nproject_name {}\n" foreach element $elements { - append row_list "$element {}\n" + append row_list "$element {}\n" } @@ -221,7 +221,10 @@ -selected_format $format \ -key project_item_id \ -elements { - project_name { + percent_complete { + label "%" + display_template "
 
@projects.percent_complete@%" } + project_name { label "[_ project-manager.Project_name]" link_url_col item_url link_html { title "[_ project-manager.lt_View_this_project_ver]" } @@ -272,7 +275,12 @@ -filters $filters \ -orderby { default_value $default_orderby - project_name { + percent_complete { + label "[_ project-manager.percent]" + orderby_desc "percent_complete desc" + orderby_asc "percent_complete asc" + } + project_name { label "[_ project-manager.Project_name]" orderby_desc "upper(p.title) desc" orderby_asc "upper(p.title) asc"