Index: openacs-4/packages/xowf/lib/inclass-exam.wf =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/lib/Attic/inclass-exam.wf,v diff -u -r1.1.2.39 -r1.1.2.40 --- openacs-4/packages/xowf/lib/inclass-exam.wf 29 Jul 2020 11:53:26 -0000 1.1.2.39 +++ openacs-4/packages/xowf/lib/inclass-exam.wf 4 Aug 2020 16:16:17 -0000 1.1.2.40 @@ -311,45 +311,50 @@ } } - set answerStatus "" - set marked "" - if {$state in {published done submission_review}} { - if {$state eq "done"} { - [$ctx object] setCSSDefaults - set marked [xowf::test_item::answer_manager marked_results -obj $obj -wf $wf $combined_form_info] - set marked "" ;# not needed right now + set www_method [xo::cc query_parameter m] + if {$www_method ni {edit view}} { + set marked "" + } else { + set answerStatus "" + set marked "" + if {$state in {published done submission_review} } { + if {$state eq "done"} { + [$ctx object] setCSSDefaults + set marked [xowf::test_item::answer_manager marked_results -obj $obj -wf $wf $combined_form_info] + set marked "" ;# not needed right now + } + set answerStatus [xowf::test_item::answer_manager answers_panel \ + -heading "#xowf.online-exam-submitted_exams_heading#" \ + -submission_msg "#xowf.online-exam-submitted_exams_msg#" \ + -polling=[expr {${:live_updates} && $state ni {initial created done}}] \ + -manager_obj $obj \ + -target_state done \ + -wf $wf] } - set answerStatus [xowf::test_item::answer_manager answers_panel \ - -heading "#xowf.online-exam-submitted_exams_heading#" \ - -submission_msg "#xowf.online-exam-submitted_exams_msg#" \ - -polling=[expr {${:live_updates} && $state ni {initial created done}}] \ - -manager_obj $obj \ - -target_state done \ - -wf $wf] - } - set qrCode "" - set countdownHTML "" - if {$state eq "published"} { - set src [$obj pretty_link -query m=qrcode] - set qrCode [subst {
}] - set target_time [xowf::test_item::question_manager exam_target_time \ - -manager $obj -base_time [$obj last_modified]] - set countdownHTML [xowf::test_item::answer_manager countdown_timer \ - -target_time $target_time -id "countdown"] - } + set qrCode "" + set countdownHTML "" + if {$state eq "published"} { + set src [$obj pretty_link -query m=qrcode] + set qrCode [subst {
}] + set target_time [xowf::test_item::question_manager exam_target_time \ + -manager $obj -base_time [$obj last_modified]] + set countdownHTML [xowf::test_item::answer_manager countdown_timer \ + -target_time $target_time -id "countdown"] + } - # Remove wrapping forms - regsub -all {]*>} $fullQuestionForm {} fullQuestionForm + # Remove wrapping forms + regsub -all {]*>} $fullQuestionForm {} fullQuestionForm - append text [subst { -
-
$answerStatus
-
$fullQuestionForm
-
$qrCode
-
$countdownHTML
-
- }] + append text [subst { +
+
$answerStatus
+
$fullQuestionForm
+
$qrCode
+
$countdownHTML
+
+ }] + } set footer "$menu $extraAction" @@ -445,7 +450,6 @@ set HTML "" set wf [xowf::test_item::answer_manager get_answer_wf [self]] if {$wf ne ""} { - set items [xowf::test_item::answer_manager get_wf_instances $wf] set items2 [$items deep_copy] foreach i [$items2 children] { @@ -789,7 +793,6 @@ } } - :proc www-qrcode {} { # # Produce a QR code with an answer link @@ -868,6 +871,22 @@ #ns_log notice "MASTER POLL [self] ${:name}, returned [llength $answered]/[llength $answers]" ad_script_abort } + + ######################################################################## + # AJAX call "send-participant-message" + # + :proc www-send-participant-message {} { + # + # Send a message to a participant + # + ::xowiki::includelet::personal-notification-messages message_add \ + -notification_id ${:item_id} \ + -to_user_id [xo::cc user_id] \ + -payload [list msg [ns_queryget msg] from [xo::cc user_id] urgency [ns_queryget urgency]] + + ns_return 200 text/plain ok + ad_script_abort + } } #