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"