--- loncom/homework/structuretags.pm 2023/06/02 01:20:27 1.575 +++ loncom/homework/structuretags.pm 2023/06/04 13:25:21 1.576 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.575 2023/06/02 01:20:27 raeburn Exp $ +# $Id: structuretags.pm,v 1.576 2023/06/04 13:25:21 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -343,7 +343,7 @@ var keypresshandled = 0; var postsubmit = '$postsubmit'; \$(document).ready(function(){ - if (postsubmit != 'off') { + if (postsubmit != 'off') { \$(document).keypress(function(event){ var keycode = (event.keyCode ? event.keyCode : event.which); if ((keycode == '13') && (keypresshandled == 0)) { @@ -722,7 +722,7 @@ sub setup_rndseed { $env{'form.rndseed'}=$rndseed; } } - if ((($env{'request.state'} eq "construct") || ($symb eq '')) && + if ((($env{'request.state'} eq "construct") || ($symb eq '')) && ($Apache::lonhomework::type eq 'randomizetry')) { if ($numtries) { if (($reqtries =~ /^\d+$/) && ($reqtries > 1)) { @@ -1092,7 +1092,7 @@ sub initialize_storage { } %Apache::lonhomework::history= &Apache::lonnet::tmprestore($namespace,'',$domain,$name); - my ($temp)=keys(%Apache::lonhomework::history) ; + my ($temp)=keys(%Apache::lonhomework::history); &Apache::lonxml::debug("Return message of $temp"); } else { %Apache::lonhomework::history= @@ -1115,13 +1115,13 @@ sub initialize_storage { &check_correctness_changes() is called in two circumstances in which the results hash is to be stored permanently, for grading triggered by a student's submission, where feedback on - correctness is to be provided to the student. + correctness is to be provided to the student. 1. Immediately prior to storing the results hash - To handle the case where a student's submission (and award) were + To handle the case where a student's submission (and award) were stored after history was retrieved in &initialize_storage(), e.g., - if a student submitted answers in quick succession (e.g., from + if a student submitted answers in quick succession (e.g., from multiple tabs). &Apache::inputtags::hidealldata() is called for any parts with out-of-order storage (i.e., correct then incorrect, where awarded >= 1 when correct). @@ -1131,12 +1131,12 @@ sub initialize_storage { To handle the case where lond on the student's homeserver returns delay:N -- where N is the number of transactions between the last retrieved in &initialize_storage() and the last stored immediately - before permanent storage of the current transaction via - lond::store_handler(). &Apache::grades::makehidden() is called + before permanent storage of the current transaction via + lond::store_handler(). &Apache::grades::makehidden() is called for any parts with out-of-order storage (i.e., correct then incorrect, where awarded >= 1 when correct). - Will call &store_aggregates() to increment totals for attempts, + Will call &store_aggregates() to increment totals for attempts, students, and corrects, if running user has student role. =cut @@ -1169,7 +1169,7 @@ sub finalize_storage { my ($map)=&Apache::lonnet::decode_symb($symb); $map = &Apache::lonnet::clutter($map); if ($env{'request.lti.login'}) { - ($passback,$pbscope,$pbmap,$pbsymb,$ltinum,$ltiref) = + ($passback,$pbscope,$pbmap,$pbsymb,$ltinum,$ltiref) = &needs_lti_passback($courseid,$symb,$map); } elsif ($env{'request.deeplink.login'}) { ($passback,$pbscope,$pbmap,$pbsymb,$crsdef,$ltinum,$ltiref) = @@ -1450,13 +1450,13 @@ sub needs_linkprot_passback { =item check_correctness_changes() For all parts for which current results contain a solved status - of "incorrect_attempted", check if there was a transaction in which - solved was set to "correct_by_student" in the time since the last - transaction (retrieved when &initialize_storage() was called i.e., + of "incorrect_attempted", check if there was a transaction in which + solved was set to "correct_by_student" in the time since the last + transaction (retrieved when &initialize_storage() was called i.e., when &start_problem() was called), unless: (a) questiontype parameter is set to survey or anonymous survey (+/- credit) (b) problemstatus is set to no or no_feedback_ever - If such a transaction exists, and did not occur after "reset status" + If such a transaction exists, and did not occur after "reset status" by a user with grading privileges, then the current transaction is an example of an out-of-order transaction (i.e., incorrect occurring after correct). Accordingly, the current transaction should be hidden.