Index: openacs-4/contrib/packages/project-manager/www/task-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-add-edit.tcl,v diff -u -r1.27.2.14 -r1.27.2.15 --- openacs-4/contrib/packages/project-manager/www/task-add-edit.tcl 26 Oct 2004 01:21:11 -0000 1.27.2.14 +++ openacs-4/contrib/packages/project-manager/www/task-add-edit.tcl 3 Nov 2004 20:37:12 -0000 1.27.2.15 @@ -24,7 +24,7 @@ @param new_tasks if we are creating new tasks, how many to create } { {task_item_id:integer,multiple ""} - {project_item_id:integer,notnull} + {project_item_id:integer ""} {process_id:integer ""} {process_task_id:integer,multiple ""} {return_url ""} @@ -65,6 +65,36 @@ set using_process_p f } +# -------------------------------------------------------------------- +# if we are editing tasks, each task has its own project. We also want +# to look up all the old information to store it for later. We use +# this for comparison, to see what has changed. +# -------------------------------------------------------------------- + +if {[string is true $edit_p]} { + + # get old values + pm::task::get \ + -tasks_item_id $task_item_id \ + -one_line_array task_one_line \ + -description_array task_description \ + -description_mime_type_array task_description_mime_type \ + -estimated_hours_work_array task_estimated_hours_work \ + -estimated_hours_work_min_array task_estimated_hours_work_min \ + -estimated_hours_work_max_array task_estimated_hours_work_max \ + -dependency_array task_dependency \ + -percent_complete_array task_percent_complete \ + -end_date_day_array task_end_date_day \ + -end_date_month_array task_end_date_month \ + -end_date_year_array task_end_date_year \ + -project_item_id_array task_project_item_id + +} elseif {[empty_string_p $project_item_id]} { + + ad_return_error "Project missing" "For new tasks, a project must be passed in" + ad_script_abort +} + # --------------------------------------------------------------- # permissions and title setup, etc # --------------------------------------------------------------- @@ -110,7 +140,8 @@ depends \ assignee_html \ dependency_html \ - logger_variable_html + logger_variable_html \ + project_html if {[string is true $edit_p]} { @@ -119,31 +150,6 @@ # EDITING # ------- - set project_options [pm::project::select_list_of_open \ - -selected $project_item_id] - - # find out the default logger variable for this project - set logger_project [pm::project::get_logger_project \ - -project_item_id $project_item_id] - set logger_variable_id [logger::project::get_primary_variable \ - -project_id $logger_project] - - # get old values - pm::task::get \ - -tasks_item_id $task_item_id \ - -one_line_array task_one_line \ - -description_array task_description \ - -description_mime_type_array task_description_mime_type \ - -estimated_hours_work_array task_estimated_hours_work \ - -estimated_hours_work_min_array task_estimated_hours_work_min \ - -estimated_hours_work_max_array task_estimated_hours_work_max \ - -dependency_array task_dependency \ - -percent_complete_array task_percent_complete \ - -end_date_day_array task_end_date_day \ - -end_date_month_array task_end_date_month \ - -end_date_year_array task_end_date_year \ - -project_item_id_array task_project_item_id - set number 1 set total_number [llength $task_item_id] @@ -157,6 +163,17 @@ foreach task $task_item_id { + set this_project $task_project_item_id($task) + + set project_options [pm::project::select_list_of_open \ + -selected $this_project] + + # find out the default logger variable for this project + set logger_project [pm::project::get_logger_project \ + -project_item_id $this_project] + set logger_variable_id [logger::project::get_primary_variable \ + -project_id $logger_project] + set end_date_html [pm::task::date_html \ -selected_day $task_end_date_day($task) \ -selected_month $task_end_date_month($task) \ @@ -169,7 +186,7 @@ set dependency_options_full [pm::task::options_list_html \ -edit_p $edit_p \ -task_item_id $task \ - -project_item_id $project_item_id \ + -project_item_id $this_project \ -dependency_task_id $task_dependency($task) \ -dependency_task_ids "$deps" \ -number $total_number \ @@ -180,6 +197,11 @@ -current_variable_id $logger_variable_id \ -select_name logger_variable.$number] + set project_html "$project_term: + " + template::multirow append tasks \ $task \ "" \ @@ -194,10 +216,9 @@ $task_dependency($task) \ $assignee_html \ $dependency_options_full \ - $variable_widget + $variable_widget \ + $project_html - - incr number } @@ -266,6 +287,8 @@ -number $new_tasks \ -current_number $number] + set project_html "" + # make sure deps are working. template::multirow append tasks \ @@ -282,7 +305,8 @@ $process_dependency($pt) \ $assignee_html \ $dependency_options_full \ - "" + "" \ + $project_html incr number } @@ -306,6 +330,8 @@ -number $new_tasks \ -current_number $i] + set project_html "" + # sorry this isn't internationalized. The choice is to cludge # around dates, or to cludge around ad_forms poor support for # multiple dates. @@ -324,7 +350,8 @@ "" \ $assignee_html \ $dependency_options_full \ - "" + "" \ + $project_html } }