Index: openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-constraint-add-edit.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit.tcl 7 Aug 2003 23:08:45 -0000 1.1 +++ openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit.tcl 8 Aug 2003 22:24:14 -0000 1.2 @@ -16,7 +16,8 @@ } { constraint_id:integer,optional - task_revisions:multiple + task_revisions:integer,multiple,optional + task_revisions_list:optional const_type:array,optional const_task_id:array,optional @@ -31,6 +32,15 @@ # --------------------------------------------------------------- # +# HACK because there isn't a facility for exporting multiple hidden +# form variables in ad_form +if {[info exists task_revisions_list]} { + # convert task_revisions_list to task_revisions + set task_revisions_list_tmp [lindex $task_revisions_list 0] + set task_revisions [split $task_revisions_list " "] +} + + # terminology set project_term [parameter::get -parameter "ProjectName" -default "Project"] set task_term [parameter::get -parameter "TaskName" -default "Task"] @@ -48,23 +58,30 @@ permission::require_permission -party_id $user_id -object_id $package_id -privilege create + +ns_log Notice "TaskRev: $task_revisions" + set project_item_id [db_string get_parent_project { }] ad_form -name add_edit -form { constraint_id:key(pm_task_constraint_seq) - {task_revisions:text(hidden) - {value $task_revisions} + {task_revisions_list:text(hidden) + {value $task_revisions} } + +} -export { + } -on_submit { set user_id [ad_conn user_id] set peeraddr [ad_conn peeraddr] } -new_data { - + foreach tr $task_revisions { + set type_id $const_type($tr) set parent_tsk_id $const_task_id($tr) set const_id [db_nextval pm_task_constraint_seq] @@ -84,11 +101,18 @@ # get constraint types + set options [list] db_foreach get_const_types { } -column_array consts { lappend options "{\"$consts(description)\" $consts(short_name)}" } +set const_options [list] +db_foreach get_const_tasks { } -column_array const_tasks { + lappend const_options "{\"$const_tasks(task_title)\" $const_tasks(item_id)}" +} + + # get the information on tasks from their revision_numbers db_foreach get_task_info { } -column_array tasks { @@ -110,10 +134,10 @@ {value {finish_before_start}} } - {const_task_id.$tasks(revision_id):text + {const_task_id.$tasks(revision_id):text(select) {label \"Constraint\"} - {html {size 6}} - {help_text {$task_term ID constraint is based on}} + {options {[join $const_options " "]}} + {help_text {$task_term the constraint is based on}} } {description.$tasks(revision_id):text(inform) @@ -130,8 +154,7 @@ {label \"End date\"} {value $tasks(end_date)} } - " - + " }