Index: openacs-4/packages/assessment/www/asm-admin/item-add-mc-choices.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-add-mc-choices.tcl,v
diff -u -N -r1.13 -r1.14
--- openacs-4/packages/assessment/www/asm-admin/item-add-mc-choices.tcl 7 Aug 2017 23:48:04 -0000 1.13
+++ openacs-4/packages/assessment/www/asm-admin/item-add-mc-choices.tcl 25 Apr 2018 09:26:33 -0000 1.14
@@ -57,65 +57,63 @@
set folder_id [as::assessment::folder_id -package_id $package_id]
db_transaction {
- 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)
+ 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)
- 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]]
- } else {
- set content_rev_id ""
- }
+ 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]]
+ } else {
+ set content_rev_id ""
+ }
- db_dml update_choice_data {}
- }
+ db_dml update_choice_data {}
+ }
}
ad_returnredirect [export_vars -base "item-add-display-$display_type" {assessment_id section_id as_item_id after}]
ad_script_abort
}
db_foreach get_choices {} {
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"
}
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\}\} \{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\}\} \{help_text \"[_ assessment.Answer_Value_help]\"\}\}\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\}\} \{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 0
+ set default_percent 0
}
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"
}
append ad_form_code "\}"
# Check if we have at least one correct answer. If not set the percentage to 0
# (apparently the author does not want the respondee to give a correct answer.
-
+
if {$count_correct > 0} {
set percentage [expr {100 / $count_correct}]
} else {
@@ -133,36 +131,34 @@
set folder_id [as::assessment::folder_id -package_id $package_id]
db_transaction {
- 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)
+ 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)
- 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]]
- } else {
- set content_rev_id ""
- }
+ 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]]
+ } else {
+ set content_rev_id ""
+ }
- db_dml update_choice_data {}
- }
+ db_dml update_choice_data {}
+ }
}
} -after_submit {
# now go to display-type specific form (i.e. textbox)