Index: openacs-4/packages/project-manager/project-manager.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/project-manager.info,v diff -u -r1.57 -r1.58 --- openacs-4/packages/project-manager/project-manager.info 11 Dec 2006 18:30:53 -0000 1.57 +++ openacs-4/packages/project-manager/project-manager.info 23 Mar 2007 07:53:21 -0000 1.58 @@ -7,7 +7,7 @@ f f - + Jade Rubick Malte Sussdorff Project management tool for OpenACS @@ -16,7 +16,7 @@ Track tasks, estimates and actual progress for a project. See the <a href="http://openacs.org/projects/dotwrk/project_management/">project page</a> for more information. 0 - + Index: openacs-4/packages/project-manager/tcl/install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/tcl/install-procs.tcl,v diff -u -r1.27 -r1.28 --- openacs-4/packages/project-manager/tcl/install-procs.tcl 22 May 2006 06:16:44 -0000 1.27 +++ openacs-4/packages/project-manager/tcl/install-procs.tcl 23 Mar 2007 07:53:21 -0000 1.28 @@ -36,6 +36,43 @@ content::type::attribute::new -content_type {pm_project} -attribute_name {customer_id} -datatype {integer} -pretty_name {[_ project-manager.Customer]} -pretty_plural {[_ project-manager.Customers]} -column_spec {integer} content::type::attribute::new -content_type {pm_project} -attribute_name {dform} -datatype {string} -pretty_name {[_ project-manager.Dynamic_Form]} -pretty_plural {[_ project-manager.Dynamic_Forms]} -column_spec {varchar(100)} + dtype::create_attribute \ + -object_type {pm_project} \ + -name {contact_id} \ + -data_type {integer} \ + -pretty_name {Contact} \ + -pretty_plural {Contacts} \ + -default_value {} + lang::message::register \ + -update_sync en_US acs-translations \ + {pm_project_contact_id} {Contact} + lang::message::register \ + -update_sync en_US acs-translations \ + {pm_project_contact_ids} {Contacts} + lang::message::register \ + -update_sync de_DE acs-translations \ + {pm_project_contact_id} {Ansprechpartner} + lang::message::register \ + -update_sync de_DE acs-translations \ + {pm_project_contact_ids} {Ansprechpartner} + + dtype::form::metadata::create_widget \ + -object_type {pm_project} \ + -dform {project} \ + -attribute_name {contact_id} \ + -widget {select} \ + -required_p {0} + + dtype::form::metadata::create_widget_param \ + -object_type {pm_project} \ + -dform {project} \ + -attribute_name {contact_id} \ + -param_name {options} \ + -type {multilist} \ + -source {eval} \ + -value {pm::util::get_contacts -customer_id $variables(customer_id)} + + # Create pm_task dtype::create -name {pm_task} -supertype {content_revision} -pretty_name {[_ project-manager.Task]} -pretty_plural {[_ project-manager.Tasks]} -table_name {pm_tasks_revisions} -id_column {task_revision_id} @@ -185,6 +222,45 @@ ns_log notice "Running Pre-Upgrade Routine" } + 3.2a5 3.2a6 { + ns_log notice "Running Pre-Upgrade Routine" + dtype::create_attribute \ + -object_type {pm_project} \ + -name {contact_id} \ + -data_type {integer} \ + -pretty_name {Contact} \ + -pretty_plural {Contacts} \ + -default_value {} + lang::message::register \ + -update_sync en_US acs-translations \ + {pm_project_contact_id} {Contact} + lang::message::register \ + -update_sync en_US acs-translations \ + {pm_project_contact_ids} {Contacts} + lang::message::register \ + -update_sync de_DE acs-translations \ + {pm_project_contact_id} {Ansprechpartner} + lang::message::register \ + -update_sync de_DE acs-translations \ + {pm_project_contact_ids} {Ansprechpartner} + + dtype::form::metadata::create_widget \ + -object_type {pm_project} \ + -dform {project} \ + -attribute_name {contact_id} \ + -widget {select} \ + -required_p {0} + + dtype::form::metadata::create_widget_param \ + -object_type {pm_project} \ + -dform {project} \ + -attribute_name {contact_id} \ + -param_name {options} \ + -type {multilist} \ + -source {eval} \ + -value {pm::util::get_contacts -customer_id $variables(customer_id)} + + } } } 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.18 -r1.19 --- openacs-4/packages/project-manager/tcl/project-manager-procs.tcl 23 Jan 2007 06:35:19 -0000 1.18 +++ openacs-4/packages/project-manager/tcl/project-manager-procs.tcl 23 Mar 2007 07:53:22 -0000 1.19 @@ -852,4 +852,22 @@ @param role_id Role the user can have in the project. Might also be a SQL list. } { return [db_list list_of_assigned_projects "select distinct i.item_id from pm_projects p, cr_items i, pm_project_assignment pa where p.project_id = i.latest_revision and p.status_id in ($status_id) and pa.project_id = i.item_id and pa.party_id = :party_id and pa.role_id in ($role_id)"] -} \ No newline at end of file +} + +ad_proc -public pm::util::get_contacts { + -customer_id:required +} { + Returns all contacts for customer in list for ad_form +} { + set contact_list {} + if {[apm_package_installed_p "contacts"]} { + foreach employee_id [contact::util::get_employees -organization_id $customer_id] { + lappend contact_list [list [contact::name -party_id $employee_id -reverse_order] $employee_id] + } + set contact_list [lsort -dictionary $contact_list] + lappend contact_list [list [contact::name -party_id $customer_id] $customer_id] + } else { + lappend contact_list [list [organizations::name -organization_id $customer_id] $customer_id] + } + return $contact_list +}