Index: openacs-4/packages/assessment/www/assessment.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/assessment.tcl,v diff -u -r1.17 -r1.18 --- openacs-4/packages/assessment/www/assessment.tcl 7 Jan 2005 16:10:44 -0000 1.17 +++ openacs-4/packages/assessment/www/assessment.tcl 8 Jan 2005 14:51:19 -0000 1.18 @@ -89,101 +89,62 @@ if {$section_order == [llength $section_list]} { set new_section_order "" } +} - # form for display an assessment with sections and items - ad_form -name show_item_form -action assessment -html {enctype multipart/form-data} -export {assessment_id section_id section_order item_order} -form { - { session_id:text(hidden) {value $session_id} } - } - multirow create items as_item_id name title description subtext required_p max_time_to_complete presentation_type html submitted_p content +# form for display an assessment with sections and items +ad_form -name show_item_form -action assessment -html {enctype multipart/form-data} -export {assessment_id section_id section_order item_order} -form { + { session_id:text(hidden) {value $session_id} } +} - foreach one_item $item_list { - util_unlist $one_item as_item_id name title description subtext required_p max_time_to_complete content_rev_id content_filename content_type +multirow create items as_item_id name title description subtext required_p max_time_to_complete presentation_type html submitted_p content - set default_value "" - set submitted_p f - if {$display(submit_answer_p) != "t"} { - # no seperate submit of each item +foreach one_item $item_list { + util_unlist $one_item as_item_id name title description subtext required_p max_time_to_complete content_rev_id content_filename content_type + + set default_value "" + set submitted_p f + if {$display(submit_answer_p) != "t"} { + # no seperate submit of each item + if {$assessment_data(reuse_responses_p) == "t"} { + set default_value [as::item_data::get -subject_id $user_id -as_item_id $as_item_id] + } + set presentation_type [as::item_form::add_item_to_form -name show_item_form -session_id $session_id -section_id $section_id -item_id $as_item_id -default_value $default_value -required_p $required_p] + } else { + # submit each item seperately + set default_value [as::item_data::get -subject_id $user_id -as_item_id $as_item_id -session_id $session_id] + if {![empty_string_p $default_value]} { + # value already submitted + set submitted_p t + set mode display + } else { + # value not submitted yet. get older submitted value if necessary + set mode edit if {$assessment_data(reuse_responses_p) == "t"} { set default_value [as::item_data::get -subject_id $user_id -as_item_id $as_item_id] } - set presentation_type [as::item_form::add_item_to_form -name show_item_form -session_id $session_id -section_id $section_id -item_id $as_item_id -default_value $default_value -required_p $required_p] - } else { - # submit each item seperately - set default_value [as::item_data::get -subject_id $user_id -as_item_id $as_item_id -session_id $session_id] - if {![empty_string_p $default_value]} { - # value already submitted - set submitted_p t - set mode display - } else { - # value not submitted yet. get older submitted value if necessary - set mode edit - if {$assessment_data(reuse_responses_p) == "t"} { - set default_value [as::item_data::get -subject_id $user_id -as_item_id $as_item_id] - } - } - ad_form -name show_item_form_$as_item_id -mode $mode -action assessment -html {enctype multipart/form-data} -export {assessment_id section_id section_order item_order} -form { - { session_id:text(hidden) {value $session_id} } - } - set presentation_type [as::item_form::add_item_to_form -name show_item_form_$as_item_id -session_id $session_id -section_id $section_id -item_id $as_item_id -default_value $default_value -required_p $required_p] - - # process single submit - ad_form -extend -name show_item_form_$as_item_id -on_submit { - db_transaction { - db_dml session_updated {} - - set response_item_id $as_item_id - db_1row process_item_type {} - set item_type [string range $item_type end-1 end] - if {![info exists response_to_item($as_item_id)]} { - set response_to_item($as_item_id) "" - } - - as::item_type_$item_type\::process -type_id $item_type_id -session_id $session_id -as_item_id $response_item_id -subject_id $user_id -response $response_to_item($as_item_id) -max_points $points - } - } -after_submit { - if {![empty_string_p $section_order]} { - ad_returnredirect [export_vars -base assessment {assessment_id session_id section_order item_order}] - ad_script_abort - } else { - db_dml session_finished {} - ad_returnredirect [export_vars -base finish {session_id assessment_id}] - ad_script_abort - } - } } - - # Fill in the blank item. Replace all that appear in the title by an of type="text" - if {$presentation_type == {tb}} { - regsub -all -line -nocase -- { that appear in the title by an of type="text" + if {$presentation_type == {tb}} { + regsub -all -line -nocase -- {