Index: openacs-4/packages/project-manager/tcl/project-manager-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/tcl/project-manager-callback-procs.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/project-manager/tcl/project-manager-callback-procs.tcl 6 Dec 2005 17:22:48 -0000 1.9 +++ openacs-4/packages/project-manager/tcl/project-manager-callback-procs.tcl 19 Dec 2005 20:06:26 -0000 1.10 @@ -71,6 +71,22 @@ } +ad_proc -public -callback dotlrn_project_manager::new_community -impl project_manager { + {-community_id:required} + {-package_id:required} +} { + instantiate and mount the logger package for a new project-manager instance +} { + set logger_package_id [dotlrn::instantiate_and_mount \ + -mount_point "logger" \ + $community_id \ + "logger" \ + ] + + # (appl.)link the pm to the logger, + application_link::new -this_package_id $package_id -target_package_id $logger_package_id +} + ad_proc -public -callback fs::file_revision_new -impl project_manager { {-package_id:required} {-file_id:required} @@ -186,4 +202,4 @@ } else { return [export_vars -base "${base_url}task-one" -url {{task_id $object_id}}] } -} \ No newline at end of file +} Index: openacs-4/packages/project-manager/tcl/project-manager-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/tcl/project-manager-procs.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/project-manager/tcl/project-manager-procs.tcl 17 Oct 2005 21:25:24 -0000 1.7 +++ openacs-4/packages/project-manager/tcl/project-manager-procs.tcl 19 Dec 2005 20:06:26 -0000 1.8 @@ -851,4 +851,33 @@ } return [db_0or1row project_closed_p "select 1 from pm_projectsx where project_id = :project_id and status_id in (select status_id from pm_task_status where status_type ='c')"] +} + +ad_proc -public pm::util::reply_address { + {-party_id:required} + {-project_id ""} +} { + Return the reply_to address for this object +} { + + set prefix [parameter::get -parameter "EnvelopePrefix"] + + if {[string eq "" $prefix] || [string eq "" $project_id] } { + return [party::email -party_id $party_id] + } else { + return "${prefix}-${project_id}@[parameter::get_from_package_key -package_key acs-mail-lite -parameter BounceDomain]" + } +} + +ad_proc -public pm::util::parse_reply_address { + {-reply_address:required} +} { + set prefix [parameter::get -parameter "EnvelopePrefix"] + set prefix "p" + set regexp_str "^${prefix}-(\[0-9\]+)\@" + if {![regexp $regexp_str $reply_address all project_id]} { + ns_log Notice "MYPACKAGE: invalid reply_address" + return "" + } + return $project_id } \ No newline at end of file Index: openacs-4/packages/project-manager/tcl/project-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/tcl/project-procs-postgresql.xql,v diff -u -r1.9 -r1.10 --- openacs-4/packages/project-manager/tcl/project-procs-postgresql.xql 28 Nov 2005 16:59:29 -0000 1.9 +++ openacs-4/packages/project-manager/tcl/project-procs-postgresql.xql 19 Dec 2005 20:06:26 -0000 1.10 @@ -221,7 +221,7 @@ - + select s.description Index: openacs-4/packages/project-manager/tcl/project-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/tcl/project-procs.tcl,v diff -u -r1.25 -r1.26 --- openacs-4/packages/project-manager/tcl/project-procs.tcl 28 Nov 2005 16:59:29 -0000 1.25 +++ openacs-4/packages/project-manager/tcl/project-procs.tcl 19 Dec 2005 20:06:26 -0000 1.26 @@ -1712,12 +1712,30 @@ ad_proc -public pm::project::get_status_description { {-project_item_id:required} } { - get the project status description + get the project status description. cached. } { + return [util_memoize [list ::pm::project::get_status_description_not_cached -project_item_id $project_item_id]] +} + + +ad_proc -private pm::project::get_status_description_not_cached { + {-project_item_id:required} +} { + get the project status description. not cached. +} { return [db_string project_status {} -default ""] } +ad_proc -private pm::project::flush { + {-project_item_id:required} +} { + Flush memorized status information +} { + util_memoize_flush "::pm::project::get_status_description_not_cached -project_item_id $project_item_id" +} + + ad_proc -public pm::project::assign { {-project_item_id:required} {-role_id:required}