Index: openacs-4/contrib/packages/project-manager/www/process-dependency-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/process-dependency-add-edit.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/contrib/packages/project-manager/www/process-dependency-add-edit.tcl 3 Oct 2003 23:13:15 -0000 1.2 +++ openacs-4/contrib/packages/project-manager/www/process-dependency-add-edit.tcl 10 Oct 2003 22:51:04 -0000 1.3 @@ -1,3 +1,14 @@ +ns_log notice depedency page +set mypage [ns_getform] +if {[string equal "" $mypage]} { + ns_log notice no form was submitted on my page +} else { + ns_log notice the following form was submitted on my page + ns_set print $mypage +} + + + ad_page_contract { Form to add task dependencies @@ -15,10 +26,10 @@ } { - {use_dependency:integer,multiple ""} + {use_dependency:multiple ""} process_id:integer dependency_id:integer,optional - process_task_id:integer,multiple,optional + process_task_id:multiple,optional dependency_type:array,optional dependency_task_id:array,optional {project_item_id:integer ""} @@ -28,33 +39,28 @@ context_bar:onevalue title:onevalue task_term_lower:onevalue - project_item_id:onevalue } # --------------------------------------------------------------- # -ns_log notice depedency page -set mypage [ns_getform] -if {[string equal "" $mypage]} { - ns_log notice no form was submitted on my page -} else { - ns_log notice the following form was submitted on my page - ns_set print $mypage -} - # HACK because there isn't a facility for exporting multiple hidden # form variables in ad_form set process_task_id_pass $process_task_id set process_task_id_pass [string map {"-" " "} $process_task_id_pass] set process_task_id $process_task_id_pass +set use_dependency_pass $use_dependency +set use_dependency_pass [string map {"-" " "} $use_dependency_pass] +set use_dependency $use_dependency_pass + if {![exists_and_not_null use_dependency]} { + ns_log Notice "Redirecting" ad_returnredirect "process-one?[export_url_vars process_id]" } @@ -73,8 +79,8 @@ permission::require_permission -party_id $user_id -object_id $package_id -privilege create -set process_task_id_pass $process_task_id set process_task_id_pass [string map {" " "-"} $process_task_id] +set use_dependency_pass [string map {" " "-"} $use_dependency] ad_form -name add_edit -form { dependency_id:key(pm_process_task_dependency_seq) @@ -83,6 +89,10 @@ {value $process_task_id_pass} } + {use_dependency:text(hidden) + {value $use_dependency_pass} + } + {process_id:text(hidden) {value $process_id} } @@ -97,24 +107,51 @@ } -new_data { + set process_task_id_pass $process_task_id + set process_task_id_pass [string map {"-" " "} $process_task_id_pass] + set process_task_id $process_task_id_pass + + foreach tsk_id $process_task_id { + ns_log Notice "new: deleting dependency for task $tsk_id" + db_dml delete_dependency { } + } + foreach tr $use_dependency { set type_id $dependency_type($tr) set parent_tsk_id $dependency_task_id($tr) set dependency_id [db_nextval pm_task_dependency_seq] set tsk_revision_id $tr - set tsk_id [db_string get_task_id { }] + set tsk_id $tr db_dml new_dependency { *SQL* } } - project_manager::project::compute_parent_status $project_item_id - } -edit_data { + set process_task_id_pass $process_task_id + set process_task_id_pass [string map {"-" " "} $process_task_id_pass] + set process_task_id $process_task_id_pass + + foreach tsk_id $process_task_id { + ns_log Notice "edit: deleting dependency for task $tsk_id" + db_dml delete_dependency { } + } + + foreach tr $use_dependency { + + set type_id $dependency_type($tr) + set parent_tsk_id $dependency_task_id($tr) + set dependency_id [db_nextval pm_task_dependency_seq] + set tsk_revision_id $tr + set tsk_id [db_string get_task_id { }] + + db_dml new_dependency { *SQL* } + } + } -after_submit { - ad_returnredirect "one?project_item_id=$project_item_id" + ad_returnredirect [export_vars -base process-one -url {process_id}] ad_script_abort } @@ -155,6 +192,8 @@ } } + ns_log Notice "parent: $tasks(parent_task_id)" + append add_edit_definition " {task_id.$tasks(task_id):text(hidden) {value {$tasks(task_id)}} @@ -179,6 +218,7 @@ {dependency_task_id.$tasks(task_id):text(select) {label \"Dependency\"} {options {$dependency_options_full}} + {value {$tasks(parent_task_id)}} {help_text {$task_term the dependency is based on}} } "