Index: openacs-4/packages/assessment/lib/session-items.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/lib/session-items.tcl,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/assessment/lib/session-items.tcl 12 Jul 2006 07:05:04 -0000 1.14
+++ openacs-4/packages/assessment/lib/session-items.tcl 12 Jul 2006 23:36:30 -0000 1.15
@@ -26,10 +26,10 @@
ad_form -name session_results_$section_id -mode display -form {
{section_id:text(hidden) {value $section_id}}
}
-
+ns_log notice "assessment session-items.tcl show_feedback = '${show_feedback}'"
# todo: display feedback text
set feedback_count 0
-db_multirow -extend { presentation_type html result_points feedback answered_p choice_orientation next_title next_pr_type num content has_feedback_p } items session_items {} {
+db_multirow -extend { presentation_type html result_points feedback answered_p choice_orientation next_title next_pr_type num content has_feedback_p correct_p} items session_items {} {
set default_value [as::item_data::get -subject_id $subject_id -as_item_id $as_item_id -session_id $session_id]
array set item [as::item::item_data -as_item_id $as_item_id]
@@ -64,6 +64,7 @@
if { $points != 0 } {
if {$result_points < $points} {
+ set correct_p 0
if {$show_feedback != "correct"} {
if { $feedback_wrong ne "" } {
set feedback "$feedback_wrong"
@@ -73,6 +74,7 @@
}
}
} else {
+ set correct_p 1
if {$show_feedback != "incorrect"} {
if { $feedback_right ne "" } {
set feedback "$feedback_right"
@@ -83,6 +85,7 @@
}
}
} else {
+ set correct_p 1
if {$presentation_type == "rb" || $presentation_type == "cb"} {
set user_answers [db_list get_user_choice_answers {}]
@@ -92,6 +95,7 @@
set user_answers [lindex $user_answers 0]
if { [lsearch $correct_answers $user_answers] == -1 } {
+ set correct_p 0
if {$show_feedback != "correct"} {
if { $feedback_wrong ne "" } {
set feedback "$feedback_wrong"
@@ -113,6 +117,7 @@
} else {
# Checkbox, all answers must be correct if no
# points are set
+
if { [llength $user_answers] != [llength $correct_answers] } {
set correct_p 0
} else {