Index: openacs-4/packages/logger/logger.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/logger.info,v diff -u -r1.9.2.1 -r1.9.2.2 --- openacs-4/packages/logger/logger.info 17 Sep 2004 21:06:02 -0000 1.9.2.1 +++ openacs-4/packages/logger/logger.info 17 Sep 2004 23:53:20 -0000 1.9.2.2 @@ -7,23 +7,24 @@ f f - + Lars Pind Peter Marklund + Jade Rubick Time and expenses reporting. - 2004-08-31 + 2004-09-17 Collaboraid Logger lets you keep track of measurements over time. The primary use case is time and expenses reporting, an area where we are being guided by the HR-XML Time Expense Reporting 2.0 standard. However, the intention is to allow for reporting of arbitrary types of numerical data such as financial results - account balance, revenue etc. You could even use this application to monitor your weight. The full specification is here: <a href="http://www.collaboraid.biz/developer/logger-spec">http://www.collaboraid.biz/developer/logger-spec<a> Logger can be optionally integrated with project-manager, for logging of time against projects and tasks. - + - + Index: openacs-4/packages/logger/lib/entries.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/lib/entries.tcl,v diff -u -r1.10.2.1 -r1.10.2.2 --- openacs-4/packages/logger/lib/entries.tcl 17 Sep 2004 21:06:03 -0000 1.10.2.1 +++ openacs-4/packages/logger/lib/entries.tcl 17 Sep 2004 23:53:21 -0000 1.10.2.2 @@ -66,7 +66,6 @@ # when using project-manager, both integrated and not integrated with PM # using logger with categories and without - set package_id [ad_conn package_id] set current_user_id [ad_conn user_id] set admin_p [permission::permission_p -object_id $package_id -privilege admin] @@ -93,7 +92,7 @@ # optimized in some way? If you have thousands of projects, it tends # to be a bit slow. Perhaps limit the results to only open projects? -if {[exists_and_not_null project_id] && !$filters_p} { +if {[exists_and_not_null project_id] && [string is false $filters_p]} { set project_ids [list $project_id] } else { set project_ids [logger::package::all_projects_in_package -package_id [ad_conn package_id]] @@ -124,18 +123,18 @@ # we don't need to show all the project options if this is being # displayed in an include, and we're not showing the filters. -if {$filters_p} { +if {[string is true $filters_p]} { set project_where "" - set project_status_values [list] -} else { - set project_where "and lp.project_id = :project_id" - if {[exists_and_not_null project_status]} { append project_where " and lp.active_p = :project_status " } - set project_status_values [list [list "True true"] [list "False false"]] + set project_status_values [list [list "Open" "t"] [list "Closed" "f"]] +} else { + set project_where "and lp.project_id = :project_id" + + set project_status_values [list] } set project_values [db_list_of_lists select_projects {}] Index: openacs-4/packages/logger/lib/entries.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/lib/entries.xql,v diff -u -r1.4.2.1 -r1.4.2.2 --- openacs-4/packages/logger/lib/entries.xql 17 Sep 2004 21:06:03 -0000 1.4.2.1 +++ openacs-4/packages/logger/lib/entries.xql 17 Sep 2004 23:53:21 -0000 1.4.2.2 @@ -20,16 +20,24 @@ - select lp.name as label, - lp.project_id as project_id, - (select count(*) from logger_entries e where e.project_id = lp.project_id and variable_id = :variable_id) as count - from logger_projects lp, - logger_project_pkg_map lppm - where lp.project_id = lppm.project_id - and lppm.package_id = :package_id - and lp.active_p = 't' - $project_where - order by lp.name + SELECT + lp.name as label, + lp.project_id as project_id, + count(e.project_id) as count + FROM + logger_projects lp, + logger_project_pkg_map lppm, + logger_entries e + WHERE + lp.project_id = lppm.project_id and + e.project_id = lp.project_id and + e.variable_id = :variable_id and + lppm.package_id = :package_id + $project_where + GROUP BY + lp.name, lp.project_id + ORDER BY + lp.name Index: openacs-4/packages/logger/www/admin/project-make-active.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/www/admin/project-make-active.tcl,v diff -u -r1.2 -r1.2.4.1 --- openacs-4/packages/logger/www/admin/project-make-active.tcl 28 Aug 2003 09:45:31 -0000 1.2 +++ openacs-4/packages/logger/www/admin/project-make-active.tcl 17 Sep 2004 23:53:21 -0000 1.2.4.1 @@ -9,6 +9,18 @@ logger::project::set_active_p \ -project_id $id \ -active_p t + + if {[logger::util::project_manager_linked_p]} { + db_dml set_status " + UPDATE + pm_projects + SET + status_id = [pm::status::default_open] + WHERE + project_id = (select live_revision from cr_items where item_id = [pm::project::get_project -logger_project $id]) + " + + } } } Index: openacs-4/packages/logger/www/admin/project-make-inactive.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/www/admin/project-make-inactive.tcl,v diff -u -r1.2 -r1.2.4.1 --- openacs-4/packages/logger/www/admin/project-make-inactive.tcl 28 Aug 2003 09:45:31 -0000 1.2 +++ openacs-4/packages/logger/www/admin/project-make-inactive.tcl 17 Sep 2004 23:53:21 -0000 1.2.4.1 @@ -9,6 +9,18 @@ logger::project::set_active_p \ -project_id $id \ -active_p f + + if {[logger::util::project_manager_linked_p]} { + db_dml set_status " + UPDATE + pm_projects + SET + status_id = [pm::status::default_closed] + WHERE + project_id = (select live_revision from cr_items where item_id = [pm::project::get_project -logger_project $id]) + " + + } } }