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)
Index: openacs-4/packages/assessment/www/asm-admin/item-add.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-add.tcl,v
diff -u -N -r1.25 -r1.26
--- openacs-4/packages/assessment/www/asm-admin/item-add.tcl 7 Aug 2017 23:48:04 -0000 1.25
+++ openacs-4/packages/assessment/www/asm-admin/item-add.tcl 25 Apr 2018 09:26:33 -0000 1.26
@@ -91,20 +91,20 @@
{points:text(hidden),optional {value ""}}
{data_type:text(hidden),optional {value ""}}
{validate_block:text(textarea),optional \
- {label "[_ assessment.Validation_Block]"} \
- {help_text "[_ assessment.lt_This_field_is_used_to]"} \
- {html {cols 70 rows 6}}}
+ {label "[_ assessment.Validation_Block]"} \
+ {help_text "[_ assessment.lt_This_field_is_used_to]"} \
+ {html {cols 70 rows 6}}}
}
}
if { $type ne "survey"} {
#ad_form -extend -name item-add -form {
# {data_type:text(select) {label "[_ assessment.Data_Type]"} {options $data_types} {help_text "[_ assessment.Data_Type_help]"}}}
-}
+}
ad_form -extend -name item-add -form {
{item_type:text(radio) {label "[_ assessment.Item_Type]"} {options $item_types} {help_text "[_ assessment.Item_Type_help]"}}
- # {validate_block:text(textarea),optional {label "[_ assessment.Validation_Block]"} {help_text "[_ assessment.lt_This_field_is_used_to]"} {html {cols 70 rows 6}}}
+ # {validate_block:text(textarea),optional {label "[_ assessment.Validation_Block]"} {help_text "[_ assessment.lt_This_field_is_used_to]"} {html {cols 70 rows 6}}}
{num_choices:text(hidden)}
}
@@ -117,30 +117,30 @@
if {[llength $choice_sets]} {
set choice_sets [concat [list [list "--" ""]] $choice_sets]
ad_form -extend -name item-add -form {
- {add_existing_mc_id:text(select),optional {label "[_ assessment.Choice_Sets]"} {options $choice_sets} {help_text "[_ assessment.Choice_Sets_help]"}}
+ {add_existing_mc_id:text(select),optional {label "[_ assessment.Choice_Sets]"} {options $choice_sets} {help_text "[_ assessment.Choice_Sets_help]"}}
}
} else {
ad_form -extend -name item-add -form {
- {add_existing_mc_id:text(hidden),optional}
+ {add_existing_mc_id:text(hidden),optional}
}
}
ad_form -extend -name item-add -form {
- {save_answer_set:text(checkbox),optional
+ {save_answer_set:text(checkbox),optional
{options {{"#assessment.Save_this_set_of_answers_for_reuse_later#" t}}}
}
{formbutton_add_another_choice:text(submit) {label "[_ assessment.Add_another_choice]"}}
}
if {[template::form::is_submission item-add] \
- && [template::element::get_value item-add formbutton_add_another_choice] \
- eq [_ assessment.Add_another_choice]} {
+ && [template::element::get_value item-add formbutton_add_another_choice] \
+ eq [_ assessment.Add_another_choice]} {
set num_choices [element::get_value item-add num_choices]
incr num_choices
element::set_value item-add num_choices $num_choices
-}
+}
if {![template::form::is_submission item-add] \
- && ![info exists num_choices]} {
+ && ![info exists num_choices]} {
set num_choices 5
} else {
set num_choices [template::element::get_value item-add num_choices]
@@ -185,171 +185,169 @@
} -on_submit {
set category_ids [category::ad_form::get_categories -container_object_id $package_id]
if {$points eq ""} {
- set points 0
+ set points 0
}
if {(![info exists formbutton_add_another_choice] || $formbutton_add_another_choice eq "")} {
# map display types to data types
switch -exact $item_type {
sa {
- set data_type "varchar"
- set display_type "tb"
+ set data_type "varchar"
+ set display_type "tb"
}
oq {
- set data_type "text"
- set display_type "ta"
+ set data_type "text"
+ set display_type "ta"
}
mc {
- set data_type "varchar"
- set display_type "rb"
+ set data_type "varchar"
+ set display_type "rb"
}
ms {
#multiple select is just multiple choice with checkboxes
- set item_type "mc"
- set data_type "varchar"
- set display_type "cb"
+ set item_type "mc"
+ set data_type "varchar"
+ set display_type "cb"
}
fu {
- set data_type "file"
- set display_type "fu"
+ set data_type "file"
+ set display_type "fu"
}
}
set question_text [template::util::richtext::get_property content $question_text]
set feedback_right [template::util::richtext::get_property content $feedback_right]
set feedback_wrong [template::util::richtext::get_property content $feedback_wrong]
db_transaction {
- if {![db_0or1row item_exists {}]} {
+ if {![db_0or1row item_exists {}]} {
- set as_item_id [as::item::new \
- -item_item_id $as_item_id \
- -title $question_text \
- -description $description \
- -field_name $field_name \
- -field_code $field_code \
- -required_p $required_p \
- -data_type $data_type \
- -feedback_right $feedback_right \
- -feedback_wrong $feedback_wrong \
- -max_time_to_complete $max_time_to_complete \
- -points $points \
- -validate_block $validate_block]
- } else {
- set as_item_id [as::item::edit \
- -as_item_id $as_item_id \
- -title $question_text \
- -description $description \
- -field_name $field_name \
- -field_code $field_code \
- -required_p $required_p \
- -data_type $data_type \
- -feedback_right $feedback_right \
- -feedback_wrong $feedback_wrong \
- -max_time_to_complete $max_time_to_complete \
- -points $points \
- -validate_block $validate_block]
+ set as_item_id [as::item::new \
+ -item_item_id $as_item_id \
+ -title $question_text \
+ -description $description \
+ -field_name $field_name \
+ -field_code $field_code \
+ -required_p $required_p \
+ -data_type $data_type \
+ -feedback_right $feedback_right \
+ -feedback_wrong $feedback_wrong \
+ -max_time_to_complete $max_time_to_complete \
+ -points $points \
+ -validate_block $validate_block]
+ } else {
+ set as_item_id [as::item::edit \
+ -as_item_id $as_item_id \
+ -title $question_text \
+ -description $description \
+ -field_name $field_name \
+ -field_code $field_code \
+ -required_p $required_p \
+ -data_type $data_type \
+ -feedback_right $feedback_right \
+ -feedback_wrong $feedback_wrong \
+ -max_time_to_complete $max_time_to_complete \
+ -points $points \
+ -validate_block $validate_block]
- db_dml delete_files {}
- }
+ db_dml delete_files {}
+ }
- if {([info exists category_ids] && $category_ids ne "")} {
- category::map_object -object_id $as_item_id $category_ids
- }
+ if {([info exists category_ids] && $category_ids ne "")} {
+ category::map_object -object_id $as_item_id $category_ids
+ }
- 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]
- set max_file_size 10000000
- # [parameter::get -parameter MaxAttachmentSize]
- set pretty_max_size [util_commify_number $max_file_size]
+ if {$content ne ""} {
+ lassign $content filename tmp_filename file_mimetype
+ set n_bytes [file size $tmp_filename]
+ set max_file_size 10000000
+ # [parameter::get -parameter MaxAttachmentSize]
+ set pretty_max_size [util_commify_number $max_file_size]
- 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
- }
+ 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]]
- as::item_rels::new -item_rev_id $as_item_id -target_rev_id $content_rev_id -type as_item_content_rel
- }
+ set content_rev_id [cr_import_content -title $filename $folder_id $tmp_filename $n_bytes $file_mimetype [as::item::generate_unique_name]]
+ as::item_rels::new -item_rev_id $as_item_id -target_rev_id $content_rev_id -type as_item_content_rel
+ }
# check question type
- set title [string range $question_text 0 999]
+ set title [string range $question_text 0 999]
switch -exact $item_type {
mc {
- # title for MC is the name of a saved answer set
- # always set to empty on a new question and
- # ask for the title separately in save-answer-set page
+ # title for MC is the name of a saved answer set
+ # always set to empty on a new question and
+ # ask for the title separately in save-answer-set page
set new_mc_id [as::item_type_mc::add_to_assessment \
- -assessment_id $assessment_id \
- -section_id $section_id \
- -as_item_id $as_item_id \
- -choices [array get choice] \
- -correct_choices [array get correct] \
- -after $after \
- -title "" \
- -display_type $display_type]
+ -assessment_id $assessment_id \
+ -section_id $section_id \
+ -as_item_id $as_item_id \
+ -choices [array get choice] \
+ -correct_choices [array get correct] \
+ -after $after \
+ -title "" \
+ -display_type $display_type]
- if {[info exists add_existing_mc_id] && $add_existing_mc_id ne ""} {
- set add_existing_mc_id [as::item_type_mc::copy -type_id $add_existing_mc_id -copy_correct_answer_p "f" -new_title ""]
- if {![db_0or1row item_type {}] || $object_type ne "as_item_type_mc"} {
- if {![info exists object_type]} {
- # first item type mapped
- as::item_rels::new -item_rev_id $as_item_id -target_rev_id $add_existing_mc_id -type as_item_type_rel
- } else {
- # old item type existing
- db_dml update_item_type {}
- }
- } else {
- # old mc item type existing
- db_dml update_item_type {}
- }
- }
- }
+ if {[info exists add_existing_mc_id] && $add_existing_mc_id ne ""} {
+ set add_existing_mc_id [as::item_type_mc::copy -type_id $add_existing_mc_id -copy_correct_answer_p "f" -new_title ""]
+ if {![db_0or1row item_type {}] || $object_type ne "as_item_type_mc"} {
+ if {![info exists object_type]} {
+ # first item type mapped
+ as::item_rels::new -item_rev_id $as_item_id -target_rev_id $add_existing_mc_id -type as_item_type_rel
+ } else {
+ # old item type existing
+ db_dml update_item_type {}
+ }
+ } else {
+ # old mc item type existing
+ db_dml update_item_type {}
+ }
+ }
+ }
oq {
as::item_type_oq::add_to_assessment \
-assessment_id $assessment_id \
-section_id $section_id \
-as_item_id $as_item_id \
-after $after \
- -title $title
+ -title $title
}
sa {
as::item_type_sa::add_to_assessment \
-assessment_id $assessment_id \
-section_id $section_id \
-as_item_id $as_item_id \
-after $after \
- -title $title
+ -title $title
}
fu {
as::item_type_fu::add_to_assessment \
-assessment_id $assessment_id \
-section_id $section_id \
-as_item_id $as_item_id \
-after $after \
- -title $title
+ -title $title
}
}
}
}
} -after_submit {
if {(![info exists formbutton_add_another_question] || $formbutton_add_another_question eq "") \
- && (![info exists formbutton_add_another_choice] || $formbutton_add_another_choice eq "")} {
- set return_url "[export_vars -base questions {assessment_id}]\Q$as_item_id"
+ && (![info exists formbutton_add_another_choice] || $formbutton_add_another_choice eq "")} {
+ set return_url "[export_vars -base questions {assessment_id}]\Q$as_item_id"
} elseif {([info exists formbutton_add_another_question] && $formbutton_add_another_question ne "")} {
- set after [expr {$after + 1}]
- set return_url "[export_vars -base item-add {after assessment_id section_id}]\#Q$as_item_id"
+ set after [expr {$after + 1}]
+ set return_url "[export_vars -base item-add {after assessment_id section_id}]\#Q$as_item_id"
}
if {[info exists return_url] && $return_url ne ""} {
- if {[info exists save_answer_set] && $save_answer_set eq "on" && (![info exists add_existing_mc_id] || $add_existing_mc_id eq "")} {
- set return_url [export_vars -base save-answer-set {assessment_id as_item_id return_url {mc_id $new_mc_id}}]
- }
- ad_returnredirect $return_url
- ad_script_abort
+ if {[info exists save_answer_set] && $save_answer_set eq "on" && (![info exists add_existing_mc_id] || $add_existing_mc_id eq "")} {
+ set return_url [export_vars -base save-answer-set {assessment_id as_item_id return_url {mc_id $new_mc_id}}]
+ }
+ ad_returnredirect $return_url
+ ad_script_abort
}
}
Index: openacs-4/packages/assessment/www/asm-admin/item-edit-general.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-edit-general.tcl,v
diff -u -N -r1.24 -r1.25
--- openacs-4/packages/assessment/www/asm-admin/item-edit-general.tcl 30 Sep 2017 18:12:52 -0000 1.24
+++ openacs-4/packages/assessment/www/asm-admin/item-edit-general.tcl 25 Apr 2018 09:26:33 -0000 1.25
@@ -46,24 +46,24 @@
set display_type [string range [db_string get_display_type {}] end-1 end]
if { $item_type eq "mc" } {
- ad_form -extend -name item_edit_general -form {
- {display_type:text(radio),optional
- {label "[_ assessment.singleanswermultipleanswer]"}
- {options {{"[_ assessment.item_type_mc]" "rb"} {"[_ assessment.item_type_ms]" "cb"}}}
- }
+ ad_form -extend -name item_edit_general -form {
+ {display_type:text(radio),optional
+ {label "[_ assessment.singleanswermultipleanswer]"}
+ {options {{"[_ assessment.item_type_mc]" "rb"} {"[_ assessment.item_type_ms]" "cb"}}}
+ }
}
} else {
- ad_form -extend -name item_edit_general -form {
- {display_type:text(hidden),optional}
- }
+ ad_form -extend -name item_edit_general -form {
+ {display_type:text(hidden),optional}
+ }
}
set display_types [list]
foreach display_type [db_list display_types {}] {
lappend display_types [list "[_ assessment.item_display_$display_type]" $display_type]
}
-if { $type ne "survey"} {
+if { $type ne "survey"} {
ad_form -extend -name item_edit_general -form {
{points:float,optional,nospell {label "[_ assessment.points_item]"} {html {size 10 maxlength 10}} {help_text "[_ assessment.points_item_help]"}}
{feedback_right:richtext,optional,nospell {label "[_ assessment.Feedback_right]"} {html {rows 12 cols 80 style {width:95%}}} {help_text "[_ assessment.Feedback_right_help]"}}
@@ -92,127 +92,127 @@
switch -- $item_type {
"mc" {
- set folder_id [as::assessment::folder_id -package_id $package_id]
- set choice_sets [list [list "--" ""]]
-db_foreach existing_choice_sets {} {
- set set_title [string trim [regsub {\[.*?\]} [ad_html_to_text -- $title] {}]]
- lappend choice_sets [list [expr {$set_title eq "" ? $section_title : $set_title}] $revision_id]
-}
-if {[llength $choice_sets]} {
- ad_form -extend -name item_edit_general -form {
- {add_existing_mc_id:text(select),optional {label "[_ assessment.Choice_Sets]"} {options $choice_sets} {help_text "[_ assessment.Choice_Sets_help]"}}
- }
-} else {
- ad_form -extend -name item_edit_general -form {
- {add_existing_mc_id:text(hidden),optional}
- }
-}
- ad_form -extend -name item_edit_general -form {
- {num_choices:text(hidden)}
- {save_answer_set:text(checkbox),optional {label "[_ assessment.Save_this_set_of_answers_for_reuse_later]"} {options {{"" t}}}}
- {add_another_choice:text(submit) {label "[_ assessment.Add_another_choice]"}}
- }
-ns_log notice "Add Another = '[template::element::get_value item_edit_general add_another_choice]' == '[_ assessment.Add_another_choice]'"
- if {[template::form::is_submission item_edit_general] \
+ set folder_id [as::assessment::folder_id -package_id $package_id]
+ set choice_sets [list [list "--" ""]]
+ db_foreach existing_choice_sets {} {
+ set set_title [string trim [regsub {\[.*?\]} [ad_html_to_text -- $title] {}]]
+ lappend choice_sets [list [expr {$set_title eq "" ? $section_title : $set_title}] $revision_id]
+ }
+ if {[llength $choice_sets]} {
+ ad_form -extend -name item_edit_general -form {
+ {add_existing_mc_id:text(select),optional {label "[_ assessment.Choice_Sets]"} {options $choice_sets} {help_text "[_ assessment.Choice_Sets_help]"}}
+ }
+ } else {
+ ad_form -extend -name item_edit_general -form {
+ {add_existing_mc_id:text(hidden),optional}
+ }
+ }
+ ad_form -extend -name item_edit_general -form {
+ {num_choices:text(hidden)}
+ {save_answer_set:text(checkbox),optional {label "[_ assessment.Save_this_set_of_answers_for_reuse_later]"} {options {{"" t}}}}
+ {add_another_choice:text(submit) {label "[_ assessment.Add_another_choice]"}}
+ }
+ ns_log notice "Add Another = '[template::element::get_value item_edit_general add_another_choice]' == '[_ assessment.Add_another_choice]'"
+ if {[template::form::is_submission item_edit_general] \
&& [template::element::get_value item_edit_general add_another_choice] eq [_ assessment.Add_another_choice]} {
- set num_choices [element::get_value item_edit_general num_choices]
- incr num_choices
- element::set_value item_edit_general num_choices $num_choices
- }
+ set num_choices [element::get_value item_edit_general num_choices]
+ incr num_choices
+ element::set_value item_edit_general num_choices $num_choices
+ }
-#####
- if {$display_type eq "cb"} {
- ad_form -extend -name item_edit_general -form {
- {ms_label:text,optional {label "Multiple Selection Instruction"}}
- }
- }
-#####
- set as_item_type_id [as::item::get_item_type_id -as_item_id $as_item_id]
- if {[array exists move_up]} {
- foreach n [array names move_up] {
- array set new_array [as::item_type_mc::choices_swap \
- -assessment_id $assessment_id \
- -section_id $section_id \
- -as_item_id $as_item_id \
- -mc_id $as_item_type_id \
- -sort_order [db_string get_sort_order {}] \
- -direction up]
- foreach var {as_item_id section_id} {
- set $var $new_array($var)
- template::element::set_value item_edit_general $var [set $var]
+ #####
+ if {$display_type eq "cb"} {
+ ad_form -extend -name item_edit_general -form {
+ {ms_label:text,optional {label "Multiple Selection Instruction"}}
}
}
- }
- if {[array exists move_down]} {
- foreach n [array names move_down] {
- array set new_array [as::item_type_mc::choices_swap \
- -assessment_id $assessment_id \
- -section_id $section_id \
- -as_item_id $as_item_id \
- -mc_id $as_item_type_id \
- -sort_order [db_string get_sort_order {}] \
- -direction down]
+ #####
+ set as_item_type_id [as::item::get_item_type_id -as_item_id $as_item_id]
+ if {[array exists move_up]} {
+ foreach n [array names move_up] {
+ array set new_array [as::item_type_mc::choices_swap \
+ -assessment_id $assessment_id \
+ -section_id $section_id \
+ -as_item_id $as_item_id \
+ -mc_id $as_item_type_id \
+ -sort_order [db_string get_sort_order {}] \
+ -direction up]
+ foreach var {as_item_id section_id} {
+ set $var $new_array($var)
+ template::element::set_value item_edit_general $var [set $var]
+ }
+ }
}
+ if {[array exists move_down]} {
+ foreach n [array names move_down] {
+ array set new_array [as::item_type_mc::choices_swap \
+ -assessment_id $assessment_id \
+ -section_id $section_id \
+ -as_item_id $as_item_id \
+ -mc_id $as_item_type_id \
+ -sort_order [db_string get_sort_order {}] \
+ -direction down]
+ }
foreach var {as_item_id section_id} {
set $var $new_array($var)
template::element::set_value item_edit_general $var [set $var]
}
- }
- if {[array exists delete]} {
- foreach n [array names delete] {
- array set new_array [as::item_type_mc::choice_delete \
- -assessment_id $assessment_id \
- -section_id $section_id \
- -as_item_id $as_item_id \
- -choice_id $n]
}
+ if {[array exists delete]} {
+ foreach n [array names delete] {
+ array set new_array [as::item_type_mc::choice_delete \
+ -assessment_id $assessment_id \
+ -section_id $section_id \
+ -as_item_id $as_item_id \
+ -choice_id $n]
+ }
foreach var {as_item_id section_id} {
set $var $new_array($var)
}
- }
+ }
-#######
-#######
+ #######
+ #######
- set existing_choices [as::item_type_mc::existing_choices $as_item_id]
- if {[llength $existing_choices] && ![info exists num_choices]} {
- set num_choices [llength $existing_choices]
- template::element::set_value item_edit_general num_choices $num_choices
- }
- if {![template::form::is_submission item_edit_general] \
+ set existing_choices [as::item_type_mc::existing_choices $as_item_id]
+ if {[llength $existing_choices] && ![info exists num_choices]} {
+ set num_choices [llength $existing_choices]
+ template::element::set_value item_edit_general num_choices $num_choices
+ }
+ if {![template::form::is_submission item_edit_general] \
&& ![info exists num_choices]} {
- set num_choices 5
- } elseif {![info exists num_choices]} {
+ set num_choices 5
+ } elseif {![info exists num_choices]} {
set num_choices [expr {[set num_choices [template::element::get_value item_edit_general num_choices]] eq "" ? $num_choices : 5}]
- }
+ }
- template::multirow create choice_elements id new_p
- foreach c $existing_choices {
- set id [lindex $c 1]
- template::multirow append choice_elements $id f
- if {[lindex $c 2] == "t" && ![template::form::is_submission item_edit_general]} {
- set correct($id) t
+ template::multirow create choice_elements id new_p
+ foreach c $existing_choices {
+ set id [lindex $c 1]
+ template::multirow append choice_elements $id f
+ if {[lindex $c 2] == "t" && ![template::form::is_submission item_edit_general]} {
+ set correct($id) t
+ }
}
- }
- if {$num_choices > [llength $existing_choices]} {
- set new_choices [expr {$num_choices - [llength $existing_choices] }]
- for {set i 1} {$i <= $new_choices} {incr i} {
- set id __new_${i}
- set correct_p f
- if {[info exists correct($id)]} {
- set correct_p t
+ if {$num_choices > [llength $existing_choices]} {
+ set new_choices [expr {$num_choices - [llength $existing_choices] }]
+ for {set i 1} {$i <= $new_choices} {incr i} {
+ set id __new_${i}
+ set correct_p f
+ if {[info exists correct($id)]} {
+ set correct_p t
+ }
+ lappend existing_choices [list "" $id $correct_p]
+ template::multirow append choice_elements $id t
}
- lappend existing_choices [list "" $id $correct_p]
- template::multirow append choice_elements $id t
}
- }
- as::item_type_mc::add_existing_choices_to_edit_form \
- -form_id item_edit_general \
- -existing_choices $existing_choices \
- -choice_array_name choice \
- -correct_choice_array_name correct
+ as::item_type_mc::add_existing_choices_to_edit_form \
+ -form_id item_edit_general \
+ -existing_choices $existing_choices \
+ -choice_array_name choice \
+ -correct_choice_array_name correct
}
"oq" {
@@ -223,45 +223,45 @@
"sa" {
}
}
-
+
ad_form -extend -name item_edit_general -edit_request {
db_1row general_item_data {}
if {$data_type eq ""} {
- set data_type varchar
+ set data_type varchar
}
- set data_type_disp "[_ assessment.data_type_$data_type]"
+ set data_type_disp "[_ assessment.data_type_$data_type]"
set question_text [template::util::richtext::create $question_text $mime_type]
set feedback_right [template::util::richtext::create $feedback_right $mime_type]
set feedback_wrong [template::util::richtext::create $feedback_wrong $mime_type]
- # FIXME fill in reference answer
+ # FIXME fill in reference answer
} -on_request {
- set display_type [string range [db_string get_display_type {}] end-1 end]
+ set display_type [string range [db_string get_display_type {}] end-1 end]
} -on_submit {
set category_ids [category::ad_form::get_categories -container_object_id $package_id]
if {$points eq ""} {
- set points 0
+ set points 0
}
} -edit_data {
if {([info exists formbutton_ok] && $formbutton_ok ne "") || ([info exists formbutton_add_another_question] && $formbutton_add_another_question ne "")} {
set question_text [template::util::richtext::get_property contents $question_text]
set feedback_right [template::util::richtext::get_property content $feedback_right]
set feedback_wrong [template::util::richtext::get_property content $feedback_wrong]
- # strip full urls when saving, due to bug in Firefox and workaround
- # in Xinha
- # we want to make sure the URL is formatted EXACTLY as we want
- # for the following regsub
- # in case the ad_url is https we strip https and then we
- # add it back in for the https url just in case
- set site_url [string trimright [string map {https http} "[ad_url]"] /]
- set site_https_url [string map {http https} $site_url]
- foreach var {question_text feedback_right feedback_wrong} {
- # find leading quote so we can make sure its not in the
- # text, its in a tag href or src
- set $var [regsub -all "\"$site_url" [set $var] {"}]
- set $var [regsub -all "\"$site_https_url" [set $var] {"}]
- }
+ # strip full urls when saving, due to bug in Firefox and workaround
+ # in Xinha
+ # we want to make sure the URL is formatted EXACTLY as we want
+ # for the following regsub
+ # in case the ad_url is https we strip https and then we
+ # add it back in for the https url just in case
+ set site_url [string trimright [string map {https http} "[ad_url]"] /]
+ set site_https_url [string map {http https} $site_url]
+ foreach var {question_text feedback_right feedback_wrong} {
+ # find leading quote so we can make sure its not in the
+ # text, its in a tag href or src
+ set $var [regsub -all "\"$site_url" [set $var] {"}]
+ set $var [regsub -all "\"$site_https_url" [set $var] {"}]
+ }
db_transaction {
set old_display_type [string range [db_string get_display_type {}] end-1 end]
@@ -284,9 +284,7 @@
category::map_object -object_id $new_item_id $category_ids
}
if {$content ne ""} {
- set filename [lindex $content 0]
- set tmp_filename [lindex $content 1]
- set file_mimetype [lindex $content 2]
+ lassign $content filename tmp_filename file_mimetype
set n_bytes [file size $tmp_filename]
set max_file_size 10000000
# [parameter::get -parameter MaxAttachmentSize]
@@ -320,125 +318,125 @@
-old_section_id $section_id \
-new_section_id $new_section_id \
-new_assessment_rev_id $new_assessment_rev_id
-
- ns_log notice "HAM : $old_display_type : $display_type **********"
- if { ![string match $old_display_type $display_type] } {
- as::item_display_${display_type}::set_item_display_type -assessment_id $assessment_id \
- -section_id $section_id \
- -as_item_id $as_item_id
- }
-
- set title [string range $question_text 0 999]
+ ns_log notice "HAM : $old_display_type : $display_type **********"
+ if { ![string match $old_display_type $display_type] } {
+ as::item_display_${display_type}::set_item_display_type -assessment_id $assessment_id \
+ -section_id $section_id \
+ -as_item_id $as_item_id
+ }
+
+ set title [string range $question_text 0 999]
+
db_dml update_item_in_section {}
switch -- $item_type {
mc {
- if {[info exists add_existing_mc_id] && $add_existing_mc_id ne ""} {
- set new_item_type_id [as::item_type_mc::copy -type_id $add_existing_mc_id -copy_correct_answer_p "f" -new_title ""]
- if {![db_0or1row get_item_type {}] || $object_type ne "as_item_type_mc"} {
- if {![info exists object_type]} {
- # first item type mapped
- as::item_rels::new -item_rev_id $as_item_id -target_rev_id $add_existing_mc_id -type as_item_type_rel
- } else {
- # old item type existing
- db_dml update_item_type {}
- }
- } else {
- # old mc item type existing
- db_dml update_item_type {}
- }
- } else {
+ if {[info exists add_existing_mc_id] && $add_existing_mc_id ne ""} {
+ set new_item_type_id [as::item_type_mc::copy -type_id $add_existing_mc_id -copy_correct_answer_p "f" -new_title ""]
+ if {![db_0or1row get_item_type {}] || $object_type ne "as_item_type_mc"} {
+ if {![info exists object_type]} {
+ # first item type mapped
+ as::item_rels::new -item_rev_id $as_item_id -target_rev_id $add_existing_mc_id -type as_item_type_rel
+ } else {
+ # old item type existing
+ db_dml update_item_type {}
+ }
+ } else {
+ # old mc item type existing
+ db_dml update_item_type {}
+ }
+ } else {
- set num_answers 0
- set num_correct_answers 0
- foreach c [array names choice] {
- if {$choice($c) ne ""} {
- incr num_answers
- }
- }
- foreach c [array names correct] {
- if {$correct($c) == "t"} {
- incr num_correct_answers
- }
- }
- # set title to blank for mc answer set
- # if they unchecked save for reuse
- # we don't ask for a title, if they did check it
- # we set it on save-answer-set
- # with each revision of the mc we decide if its
- # reusable or not
+ set num_answers 0
+ set num_correct_answers 0
+ foreach c [array names choice] {
+ if {$choice($c) ne ""} {
+ incr num_answers
+ }
+ }
+ foreach c [array names correct] {
+ if {$correct($c) == "t"} {
+ incr num_correct_answers
+ }
+ }
+ # set title to blank for mc answer set
+ # if they unchecked save for reuse
+ # we don't ask for a title, if they did check it
+ # we set it on save-answer-set
+ # with each revision of the mc we decide if its
+ # reusable or not
- set new_item_type_id [as::item_type_mc::edit \
- -as_item_type_id $as_item_type_id \
- -title "" \
- -increasing_p f \
- -allow_negative_p f \
- -num_correct_answers $num_correct_answers \
- -num_answers $num_answers]
- db_dml update_item_type {}
- # edit existing choices
- set count 0
- foreach i [lsort [array names choice]] {
- if {[string index $i 0] ne "_" && $choice($i) ne ""} {
- incr count
- set new_choice_id [as::item_choice::new_revision -choice_id $i -mc_id $new_item_type_id]
- set title $choice($i)
- set correct_answer_p [ad_decode [info exists correct($i)] 0 f t]
+ set new_item_type_id [as::item_type_mc::edit \
+ -as_item_type_id $as_item_type_id \
+ -title "" \
+ -increasing_p f \
+ -allow_negative_p f \
+ -num_correct_answers $num_correct_answers \
+ -num_answers $num_answers]
+ db_dml update_item_type {}
+ # edit existing choices
+ set count 0
+ foreach i [lsort [array names choice]] {
+ if {[string index $i 0] ne "_" && $choice($i) ne ""} {
+ incr count
+ set new_choice_id [as::item_choice::new_revision -choice_id $i -mc_id $new_item_type_id]
+ set title $choice($i)
+ set correct_answer_p [ad_decode [info exists correct($i)] 0 f t]
- db_dml update_title {}
- db_dml update_correct {}
- }
- }
+ db_dml update_title {}
+ db_dml update_correct {}
+ }
+ }
- # add new choices
- foreach i [lsort [array names choice]] {
-
- if {[string index $i 0] eq "_" && $choice($i) ne ""} {
- incr count
- set new_choice_id [as::item_choice::new -mc_id $new_item_type_id \
- -title $choice($i) \
- -numeric_value "" \
- -text_value "" \
- -content_value "" \
- -feedback_text "" \
- -selected_p "" \
- -correct_answer_p [ad_decode [info exists correct($i)] 0 f t] \
- -sort_order $count \
- -percent_score ""]
- }
- }
- }
- }
+ # add new choices
+ foreach i [lsort [array names choice]] {
+
+ if {[string index $i 0] eq "_" && $choice($i) ne ""} {
+ incr count
+ set new_choice_id [as::item_choice::new -mc_id $new_item_type_id \
+ -title $choice($i) \
+ -numeric_value "" \
+ -text_value "" \
+ -content_value "" \
+ -feedback_text "" \
+ -selected_p "" \
+ -correct_answer_p [ad_decode [info exists correct($i)] 0 f t] \
+ -sort_order $count \
+ -percent_score ""]
+ }
+ }
+ }
+ }
"oq" {
set new_item_type_id [as::item_type_oq::edit \
- -as_item_type_id $as_item_type_id \
- -title $title \
- -default_value "" \
- -feedback_text "" \
- -reference_answer $reference_answer \
- -keywords ""]
+ -as_item_type_id $as_item_type_id \
+ -title $title \
+ -default_value "" \
+ -feedback_text "" \
+ -reference_answer $reference_answer \
+ -keywords ""]
db_dml update_item_type {}
}
"fu" {
set new_item_type_id [as::item_type_fu::edit \
- -as_item_type_id $as_item_type_id \
- -title $title]
+ -as_item_type_id $as_item_type_id \
+ -title $title]
db_dml update_item_type {}
}
"sa" {
set new_item_type_id [as::item_type_sa::edit \
- -as_item_type_id $as_item_type_id \
- -title $title \
- -increasing_p f\
- -allow_negative_p f]
+ -as_item_type_id $as_item_type_id \
+ -title $title \
+ -increasing_p f\
+ -allow_negative_p f]
db_dml update_item_type {}
}
}
-
+
}
-
+
set as_item_id $new_item_id
set section_id $new_section_id
@@ -448,12 +446,12 @@
}
} -after_submit {
if {([info exists formbutton_ok] && $formbutton_ok ne "")} {
- set return_url [export_vars -base "questions" {assessment_id section_id }]&\#${as_item_id}
- if {[info exists save_answer_set] && $save_answer_set eq "on" && (![info exists add_existing_mc_id] || $add_existing_mc_id eq "")} {
- set return_url [export_vars -base save-answer-set {assessment_id as_item_id return_url {mc_id $new_item_type_id}}]
- }
- ad_returnredirect $return_url
- ad_script_abort
+ set return_url [export_vars -base "questions" {assessment_id section_id }]&\#${as_item_id}
+ if {[info exists save_answer_set] && $save_answer_set eq "on" && (![info exists add_existing_mc_id] || $add_existing_mc_id eq "")} {
+ set return_url [export_vars -base save-answer-set {assessment_id as_item_id return_url {mc_id $new_item_type_id}}]
+ }
+ ad_returnredirect $return_url
+ ad_script_abort
}
}
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}]