Index: openacs-4/contrib/packages/project-manager/www/task-assign-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-assign-add-edit.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/contrib/packages/project-manager/www/task-assign-add-edit.tcl 11 Dec 2003 21:39:44 -0000 1.6 +++ openacs-4/contrib/packages/project-manager/www/task-assign-add-edit.tcl 26 Jan 2004 15:39:40 -0000 1.7 @@ -28,9 +28,8 @@ my_key:integer,optional {process_task_id:multiple,optional ""} - revision_has_dependencies:multiple,optional - revision_no_dependencies:multiple,optional task_id:multiple,optional + revisions:multiple {project_item_id:integer ""} role_id:array,optional party_id:array,optional @@ -49,42 +48,14 @@ # --------------------------------------------------------------- # -if {![exists_and_not_null revision_no_dependencies]} { - set revision_no_dependencies "" -} - -if {![exists_and_not_null revision_has_dependencies]} { - set revision_has_dependencies "" -} - -ns_log Notice "Before hack, revision_no_dependencies: $revision_no_dependencies revision_has_dependencies: $revision_has_dependencies" - - # hack to get around lack of multiple hidden support with ad_form -set process_task_id_pass [string map {"-" " "} $process_task_id] -set process_task_id $process_task_id_pass +set process_task_id [string map {"-" " "} $process_task_id] +set revisions [string map {"-" " "} $revisions] +set task_id [string map {"-" " "} $task_id] -set task_revision_dep_pass $revision_has_dependencies -set task_revision_dep_pass [string map {"-" " "} $task_revision_dep_pass] -set revision_has_dependencies $task_revision_dep_pass - -set task_revision_nodep_pass $revision_no_dependencies -set task_revision_nodep_pass [string map {"-" " "} $task_revision_nodep_pass] -set revision_no_dependencies $task_revision_nodep_pass - -ns_log Notice " After hack, revision_no_dependencies: $revision_no_dependencies revision_has_dependencies: $revision_has_dependencies" - - -set revisions [concat $revision_has_dependencies $revision_no_dependencies] - -set task_id [db_list get_task_item_ids { }] - - - db_multirow tasks get_task_info { } - # create a multirow we can use to iterate template::multirow create num number @@ -100,6 +71,7 @@ set project_term [parameter::get -parameter "ProjectName" -default "Project"] set task_term [parameter::get -parameter "TaskName" -default "Task"] set task_term_lower [parameter::get -parameter "taskname" -default "task"] +set use_uncertain_completion_times_p [parameter::get -parameter "UseUncertainCompletionTimesP" -default "0"] # the unique identifier for this package set package_id [ad_conn package_id] @@ -119,27 +91,22 @@ set roles_lofl "{{--Select Role--} {}} " append roles_lofl [db_list_of_lists get_roles { }] - set process_task_id_pass [string map {" " "-"} $process_task_id] +set revisions_pass [string map {" " "-"} $revisions] +set task_id_pass [string map {" " "-"} $task_id] -set task_revision_dep_pass $revision_has_dependencies -set task_revision_dep_pass [string map {" " "-"} $task_revision_dep_pass] - -set task_revision_nodep_pass $revision_no_dependencies -set task_revision_nodep_pass [string map {" " "-"} $task_revision_nodep_pass] - ad_form -name add_edit -form { my_key:key(acs_object_id_seq) {process_task_id:text(hidden) {value $process_task_id_pass}} - {revision_has_dependencies:text(hidden) - {value $task_revision_dep_pass}} + {revisions:text(hidden) + {value $revisions_pass}} - {revision_no_dependencies:text(hidden) - {value $task_revision_nodep_pass}} + {task_id:text(hidden) + {value $task_id_pass}} {project_item_id:text(hidden) {value $project_item_id}} @@ -156,6 +123,24 @@ #role_id #party_id + set process_task_id [string map {"-" " "} $process_task_id] + set revisions [string map {"-" " "} $revisions] + set task_id [string map {"-" " "} $task_id] + + db_foreach get_more_task_info {} { + set one_lines($item_id) $one_line + set descriptions($item_id) $description + set end_dates_pretty($item_id) [lc_time_fmt $end_date_ansi "%x"] + set est_hours_work($item_id) $estimated_hours_work + set est_hours_work_min($item_id) $estimated_hours_work_min + set est_hours_work_max($item_id) $estimated_hours_work_max + set earliest_starts($item_id) [lc_time_fmt $earliest_start_ansi "%x"] + set earliest_finishes($item_id) [lc_time_fmt $earliest_finish_ansi "%x"] + set latest_starts($item_id) [lc_time_fmt $latest_start_ansi "%x"] + set latest_finishes($item_id) [lc_time_fmt $latest_finish_ansi "%x"] + + } + if {[info exists role_id]} { set searchToken [array startsearch role_id] @@ -210,6 +195,15 @@ db_dml delete_assignments { } + set project_name [db_string get_project_name { } -default "N/A"] + + # set up role names + foreach r [db_list_of_lists get_roles { }] { + set des [lindex $r 0] + set val [lindex $r 1] + set role_oneline($val) $des + } + foreach pl $party_list { regexp {(.*),(.*)} $pl match task_id_v num_value @@ -220,6 +214,57 @@ ns_log Notice "tid: $t_id rid: $r_id pid: $p_id" + set subject "New Task \#$t_id: $one_lines($t_id)" + + if {[string equal $use_uncertain_completion_times_p 1]} { + set estimated_work " +Hrs work (min): $est_hours_work_min($t_id) +Hrs work (max): $est_hours_work_max($t_id)" + } else { + set estimated_work " +Hrs work: $est_hours_work($t_id)" + +} + set notification_text "------------- +Task overview +------------- +Task ID: \#$t_id +Description: $one_lines($t_id) +Project: $project_name +Your role: $role_oneline($r_id) + +--------------- +Estimated work: +---------------$estimated_work + +------ +Dates: +------ +Deadline: [ad_decode $end_dates_pretty($t_id) "" "None" $end_dates_pretty($t_id)] +Earliest start: $earliest_starts($item_id) +Earliest finish: $earliest_finishes($item_id) +Latest start: $latest_starts($item_id) +Latest finish $latest_finishes($item_id) + +----------- +Description +----------- +$descriptions($t_id)" + + notification::request::new \ + -type_id [notification::type::get_type_id -short_name pm_task_notif] \ + -object_id $t_id \ + -user_id $p_id \ + -interval_id [notification::interval::get_id_from_name -name instant] \ + -delivery_method_id [notification::delivery::get_id -short_name email] + + notification::new \ + -type_id [notification::type::get_type_id -short_name pm_task_notif] \ + -object_id $t_id \ + -response_id $user_id \ + -notif_subject $subject \ + -notif_text $notification_text + db_dml add_assignment { } } @@ -301,15 +346,7 @@ } -after_submit { - # for some reason this hack is necessary here - - set task_revision_dep_pass $revision_has_dependencies - set task_revision_dep_pass [string map {"-" " "} $task_revision_dep_pass] - set revision_has_dependencies $task_revision_dep_pass - - set task_revisions $revision_has_dependencies - - ad_returnredirect "dependency-add-edit?[export_vars -url {task_revisions:multiple project_item_id process_task_id:multiple}]" + ad_returnredirect "one?project_item_id=$project_item_id" ad_script_abort } @@ -343,7 +380,7 @@ set users_length [string length $users_values] set roles_length [string length $roles_values] - for {set i 0} {$i <= 10} {incr i} { + for {set i 0} {$i <= 5} {incr i} { if {$i < $users_length && $i < $roles_length} { set uv [lindex $users_values $i]