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.10 -r1.11 --- openacs-4/packages/project-manager/lib/projects-postgresql.xql 21 Oct 2005 17:13:03 -0000 1.10 +++ openacs-4/packages/project-manager/lib/projects-postgresql.xql 13 Nov 2005 17:54:44 -0000 1.11 @@ -5,17 +5,6 @@ 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, @@ -38,14 +27,10 @@ case when o.name is null then '--no customer--' else o.name end as customer_name, o.organization_id as customer_id, - f.package_id, + p.object_package_id as package_id, 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 = o.organization_id LEFT JOIN ( @@ -61,42 +46,45 @@ om.category_id = t.category_id and ctg.category_id = t.category_id and ctg.deprecated_p = 'f') + c ON p.item_id = c.object_id $subprojects_from_clause $pa_from_clause + WHERE 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] + [template::list::page_where_clause -and -name "projects" -key "p.project_id"] + [template::list::orderby_clause -orderby -name projects] + + + + + + SELECT + p.project_id + FROM pm_projectsx p + LEFT JOIN ( + select + om.category_id, + om.object_id, + t.name as category_name + from + category_object_map om, + category_translations t, + categories ctg + where + om.category_id = t.category_id and + ctg.category_id = t.category_id and + ctg.deprecated_p = 'f') c ON p.item_id = c.object_id, - cr_items i, - cr_items i2, - cr_folders f, - pm_roles pr + cr_items i $subprojects_from_clause $pa_from_clause WHERE p.project_id = i.live_revision - and rx.object_id = i2.live_revision $current_package_where_clause 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]