Index: openacs-4/packages/assessment/www/asm-admin/item-edit-mc-choices.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-edit-mc-choices.tcl,v diff -u -N -r1.11 -r1.12 --- openacs-4/packages/assessment/www/asm-admin/item-edit-mc-choices.tcl 7 Aug 2017 23:48:04 -0000 1.11 +++ openacs-4/packages/assessment/www/asm-admin/item-edit-mc-choices.tcl 25 Apr 2018 09:26:33 -0000 1.12 @@ -48,28 +48,28 @@ foreach one_choice $choices { lassign $one_choice choice_id title correct_answer_p feedback_text selected_p percent_score fixed_position answer_value content_rev_id content_filename content_name if {$correct_answer_p == "t"} { - append ad_form_code "\{infotxt.$choice_id:text(inform) \{label \"[_ assessment.Choice] $title\"\} \{value \"\"\}\}\n" + append ad_form_code "\{infotxt.$choice_id:text(inform) \{label \"[_ assessment.Choice] $title\"\} \{value \"\"\}\}\n" } else { - append ad_form_code "\{infotxt.$choice_id:text(inform) \{label \"[_ assessment.Choice] $title\"\} \{value \"\"\}\}\n" + append ad_form_code "\{infotxt.$choice_id:text(inform) \{label \"[_ assessment.Choice] $title\"\} \{value \"\"\}\}\n" } if {$selected_p == "t"} { - append ad_form_code "\{selected.$choice_id:text(checkbox),optional \{label \"[_ assessment.Default_Selected]\"\} \{options \$selected_options\} \{value \"t\"\} \{help_text \"[_ assessment.Default_Selected_help]\"\}\}\n" + append ad_form_code "\{selected.$choice_id:text(checkbox),optional \{label \"[_ assessment.Default_Selected]\"\} \{options \$selected_options\} \{value \"t\"\} \{help_text \"[_ assessment.Default_Selected_help]\"\}\}\n" } else { - append ad_form_code "\{selected.$choice_id:text(checkbox),optional \{label \"[_ assessment.Default_Selected]\"\} \{options \$selected_options\} \{help_text \"[_ assessment.Default_Selected_help]\"\}\}\n" + append ad_form_code "\{selected.$choice_id:text(checkbox),optional \{label \"[_ assessment.Default_Selected]\"\} \{options \$selected_options\} \{help_text \"[_ assessment.Default_Selected_help]\"\}\}\n" } append ad_form_code "\{fixed_pos.$choice_id:text,optional,nospell \{label \"[_ assessment.Fixed_Position]\"\} \{html \{size 5 maxlength 5\}\} \{value \"$fixed_position\"\} \{help_text \"[_ assessment.choice_Fixed_Position_help]\"\}\}\n" append ad_form_code "\{answer_val.$choice_id:text,optional,nospell \{label \"[_ assessment.Answer_Value]\"\} \{html \{size 80 maxlength 500\}\} \{value \"$answer_value\"\} \{help_text \"[_ assessment.Answer_Value_help]\"\}\}\n" if {$content_rev_id ne ""} { - append ad_form_code "\{delete_content.$choice_id:text(checkbox),optional \{label \"[_ assessment.choice_Delete_Content]\"\} \{options \{\{\{$content_name\} t\}\} \}\}\n" + append ad_form_code "\{delete_content.$choice_id:text(checkbox),optional \{label \"[_ assessment.choice_Delete_Content]\"\} \{options \{\{\{$content_name\} t\}\} \}\}\n" } append ad_form_code "\{content_$choice_id:file,optional \{label \"[_ assessment.choice_Content]\"\} \{help_text \"[_ assessment.choice_Content_help]\"\}\}\n" append ad_form_code "\{feedback.$choice_id:text(textarea),optional,nospell \{label \"[_ assessment.Feedback]\"\} \{html \{rows 8 cols 80\}\} \{value \{$feedback_text\}\} \{help_text \"[_ assessment.choice_Feedback_help]\"\}\}\n" if {$correct_answer_p == "t"} { - set default_percent "\$percentage" - incr count_correct + set default_percent "\$percentage" + incr count_correct } else { - set default_percent $percent_score + set default_percent $percent_score } append ad_form_code "\{percent.$choice_id:text,nospell \{label \"[_ assessment.Percent_Score]\"\} \{value \"$default_percent\"\} \{html \{size 5 maxlength 5\}\} \{help_text \"[_ assessment.Percent_Score_help]\"\}\}\n" } @@ -84,52 +84,50 @@ ad_form -extend -name item_edit_mc_choices -edit_request { foreach one_choice $choices { - lassign $one_choice choice_id title correct_answer_p feedback_text selected_p percent_score fixed_position answer_value - set feedback($choice_id) $feedback_text - set percent($choice_id) $percent_score - set fixed_pos($choice_id) $fixed_position - set answer_val($choice_id) $answer_value - if {$selected_p == "t"} { - set selected($choice_id) t - } + lassign $one_choice choice_id title correct_answer_p feedback_text selected_p percent_score fixed_position answer_value + set feedback($choice_id) $feedback_text + set percent($choice_id) $percent_score + set fixed_pos($choice_id) $fixed_position + set answer_val($choice_id) $answer_value + if {$selected_p == "t"} { + set selected($choice_id) t + } } } -edit_data { db_transaction { - set max_file_size 10000000 - # [parameter::get -parameter MaxAttachmentSize] - set pretty_max_size [util_commify_number $max_file_size] - set folder_id [as::assessment::folder_id -package_id $package_id] + set max_file_size 10000000 + # [parameter::get -parameter MaxAttachmentSize] + set pretty_max_size [util_commify_number $max_file_size] + set folder_id [as::assessment::folder_id -package_id $package_id] - set count 0 - foreach choice_id [array names feedback] { - set feedback_text $feedback($choice_id) - set selected_p [ad_decode [info exists selected($choice_id)] 0 f t] - set percent_score $percent($choice_id) - set fixed_position $fixed_pos($choice_id) - set answer_value $answer_val($choice_id) - db_dml update_choice_data {} + set count 0 + foreach choice_id [array names feedback] { + set feedback_text $feedback($choice_id) + set selected_p [ad_decode [info exists selected($choice_id)] 0 f t] + set percent_score $percent($choice_id) + set fixed_position $fixed_pos($choice_id) + set answer_value $answer_val($choice_id) + db_dml update_choice_data {} - eval set content "\$content_$choice_id" - if {$content ne ""} { - set filename [lindex $content 0] - set tmp_filename [lindex $content 1] - set file_mimetype [lindex $content 2] - set n_bytes [file size $tmp_filename] + eval set content "\$content_$choice_id" + if {$content ne ""} { + lassign $content filename tmp_filename file_mimetype + set n_bytes [file size $tmp_filename] - if { $n_bytes > $max_file_size && $max_file_size > 0 } { - ad_return_complaint 1 "[_ assessment.file_too_large]" - return - } - if { $n_bytes == 0 } { - ad_return_complaint 1 "[_ assessment.file_zero_size]" - return - } - set content_rev_id [cr_import_content -title $filename $folder_id $tmp_filename $n_bytes $file_mimetype [as::item::generate_unique_name]] - db_dml update_choice_content {} - } elseif {[info exists delete_content($choice_id)]} { - db_dml delete_choice_content {} - } - } + if { $n_bytes > $max_file_size && $max_file_size > 0 } { + ad_return_complaint 1 "[_ assessment.file_too_large]" + return + } + if { $n_bytes == 0 } { + ad_return_complaint 1 "[_ assessment.file_zero_size]" + return + } + set content_rev_id [cr_import_content -title $filename $folder_id $tmp_filename $n_bytes $file_mimetype [as::item::generate_unique_name]] + db_dml update_choice_content {} + } elseif {[info exists delete_content($choice_id)]} { + db_dml delete_choice_content {} + } + } } } -after_submit { ad_returnredirect [export_vars -base "item-edit" {assessment_id section_id as_item_id}]