Diff for /loncom/homework/structuretags.pm between versions 1.561 and 1.564

version 1.561, 2018/10/19 22:04:07 version 1.564, 2019/10/31 15:01:22
Line 366  var postsubmit = '$postsubmit'; Line 366  var postsubmit = '$postsubmit';
                 submithandled = 1;                  submithandled = 1;
                 \$( "#msg_"+buttonId ).css({"display": "inline","background-color": "#87cefa",                  \$( "#msg_"+buttonId ).css({"display": "inline","background-color": "#87cefa",
                                            "color": "black","padding": "2px"}) ;                                             "color": "black","padding": "2px"}) ;
                 if (( \$(this.form).id == "LC_page" ) && (\$('input[name="all_submit"]').length )) {                  if (( \$(this.form).attr("id") == "LC_page" ) && (\$('input[name="all_submit"]').length )) {
                     if (buttonId != "all_submit") {                      if (buttonId != "all_submit") {
                         \$( ".LC_status_"+buttonId ).hide();                          \$( ".LC_status_"+buttonId ).hide();
                         if (( "#"+buttonId+"_pressed" ).length) {                      }
                             \$( "#"+buttonId+"_pressed" ).val( "1" );                      if (( "#"+buttonId+"_pressed" ).length) {
                         }                          \$( "#"+buttonId+"_pressed" ).val( "1" );
                     }                      }
                 } else {                  } else {
                     \$( ".LC_status_"+buttonId ).hide();                      \$( ".LC_status_"+buttonId ).hide();
Line 384  var postsubmit = '$postsubmit'; Line 384  var postsubmit = '$postsubmit';
                 if (timeout > 0) {                  if (timeout > 0) {
                     setTimeout(function(){                      setTimeout(function(){
                                        \$( "#msg_"+buttonId ).css({"display": "none"});                                         \$( "#msg_"+buttonId ).css({"display": "none"});
                                        if (( \$(this.form).id == "LC_page" ) && (\$('input[name="all_submit"]').length )) {                                         if (( \$(this.form).attr("id") == "LC_page" ) && (\$('input[name="all_submit"]').length )) {
                                            if (buttonId != "all_submit") {                                             if (( "#"+buttonId+"_pressed" ).length) {
                                                if (( "#"+buttonId+"_pressed" ).length) {                                                 \$( "#"+buttonId+"_pressed" ).val( "" );
                                                    \$( "#"+buttonId+"_pressed" ).val( "" );  
                                                }  
                                            }                                             }
                                        }                                         }
                                        \$( ".LC_hwk_submit" ).prop( "disabled", false);                                         \$( ".LC_hwk_submit" ).prop( "disabled", false);
Line 671  sub get_resource_name { Line 669  sub get_resource_name {
 sub setup_rndseed {  sub setup_rndseed {
     my ($safeeval,$target,$probpartlist)=@_;      my ($safeeval,$target,$probpartlist)=@_;
     my ($symb)=&Apache::lonnet::whichuser();      my ($symb)=&Apache::lonnet::whichuser();
     my ($questiontype,$set_safespace,$rndseed);      my ($questiontype,$set_safespace,$rndseed,$numtries,$reqtries);
     if ($target eq 'analyze') {      if ($target eq 'analyze') {
         $questiontype = $env{'form.grade_questiontype'};          $questiontype = $env{'form.grade_questiontype'};
     }      }
     unless (defined($questiontype)) {      unless (defined($questiontype)) {
         $questiontype = $Apache::lonhomework::type;          $questiontype = $Apache::lonhomework::type;
     }      }
       if ($Apache::lonhomework::type eq 'randomizetry') {
           my $partfortries = $Apache::inputtags::part;
           if (ref($probpartlist) eq 'ARRAY') {
               if ((@{$probpartlist} == 1) && ($probpartlist->[0] ne $Apache::inputtags::part)) {
                   $partfortries = $probpartlist->[0];
               }
           }
           $numtries = $Apache::lonhomework::history{"resource.$partfortries.tries"};
           $reqtries = &Apache::lonnet::EXT("resource.$partfortries.randomizeontries");
       }
     if (($env{'request.state'} eq "construct")      if (($env{'request.state'} eq "construct")
         || ($symb eq '')          || ($symb eq '')
         || ($Apache::lonhomework::type eq 'practice')          || ($Apache::lonhomework::type eq 'practice')
Line 697  sub setup_rndseed { Line 705  sub setup_rndseed {
  }   }
         if (($env{'request.state'} eq "construct") &&           if (($env{'request.state'} eq "construct") && 
             ($Apache::lonhomework::type eq 'randomizetry')) {              ($Apache::lonhomework::type eq 'randomizetry')) {
             my $tries = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.tries"};              if ($numtries) {
             if ($tries) {                  if (($reqtries =~ /^\d+$/) && ($reqtries > 1)) {
                 $rndseed += $tries;                      my $inc = int($numtries/$reqtries);
                       $rndseed += $inc;
                   } else {
                       $rndseed += $numtries;
                   }
             }              }
             $env{'form.'.$Apache::inputtags::part.'.rndseed'}=$rndseed;              $env{'form.'.$Apache::inputtags::part.'.rndseed'}=$rndseed;
         }          }
Line 737  sub setup_rndseed { Line 749  sub setup_rndseed {
         }          }
         unless (($target eq 'analyze') && (defined($rndseed))) {          unless (($target eq 'analyze') && (defined($rndseed))) {
             $rndseed=&Apache::lonnet::rndseed();              $rndseed=&Apache::lonnet::rndseed();
             my $partfortries = $Apache::inputtags::part;              my $curr_try = $numtries;
             if (ref($probpartlist) eq 'ARRAY') {  
                 if ((@{$probpartlist} == 1) && ($probpartlist->[0] ne $Apache::inputtags::part)) {  
                     $partfortries = $probpartlist->[0];  
                 }  
             }  
             my $curr_try = $Apache::lonhomework::history{"resource.$partfortries.tries"};  
             if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {              if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
                 $curr_try ++;                  $curr_try ++;
             }              }
Line 751  sub setup_rndseed { Line 757  sub setup_rndseed {
                 $rndseed = $1;                  $rndseed = $1;
             }              }
             if ($curr_try) {              if ($curr_try) {
                 my $reqtries = &Apache::lonnet::EXT("resource.$partfortries.randomizeontries");  
                 if (($reqtries =~ /^\d+$/) && ($reqtries > 1)) {                  if (($reqtries =~ /^\d+$/) && ($reqtries > 1)) {
                     my $inc = int(($curr_try-1)/$reqtries);                      my $inc = int(($curr_try-1)/$reqtries);
                     $rndseed += $inc;                      $rndseed += $inc;
Line 1117  sub finalize_storage { Line 1122  sub finalize_storage {
  delete(@Apache::lonhomework::results{@remove});   delete(@Apache::lonhomework::results{@remove});
  my ($symb,$courseid,$domain,$name) =    my ($symb,$courseid,$domain,$name) = 
     &Apache::lonnet::whichuser($given_symb);      &Apache::lonnet::whichuser($given_symb);
         my ($passback,$ltiscope,$ltimap,$ltisymb,$ltiref,$total,$possible);          my ($passback,$ltiscope,$ltimap,$ltisymb,$ltiref,$total,$possible,$dopassback);
  if ($env{'request.state'} eq 'construct'    if ($env{'request.state'} eq 'construct' 
     || $symb eq ''      || $symb eq ''
     || $Apache::lonhomework::type eq 'practice') {      || $Apache::lonhomework::type eq 'practice') {
Line 1219  sub finalize_storage { Line 1224  sub finalize_storage {
                     }                      }
                 }                  }
             }              }
             if (($passback) && ($ltiscope eq 'resource') && ($ltisymb eq $symb)) {              if ($passback) {
                   foreach my $key (keys(%Apache::lonhomework::results)) {
                       if ($key =~ /^resource\.([^\.]+)\.solved$/) {
                           my $part = $1;
                           if ((($Apache::lonhomework::results{$key} =~ /^correct_/) ||
                               ($Apache::lonhomework::results{$key} eq 'incorrect_attempted')) &&
                               ($Apache::lonhomework::results{"resource.$part.tries"})) {
                               $dopassback = 1;
                               last;
                           }
                       }
                   }
               }
               if (($dopassback) && ($ltiscope eq 'resource') && ($ltisymb eq $symb)) {
                 $total = 0;                  $total = 0;
                 $possible = 0;                  $possible = 0;
                 my $navmap = Apache::lonnavmaps::navmap->new();                  my $navmap = Apache::lonnavmaps::navmap->new();
Line 1258  sub finalize_storage { Line 1276  sub finalize_storage {
             }              }
     &Apache::lonxml::debug('Store return message:'.$result);      &Apache::lonxml::debug('Store return message:'.$result);
             &store_aggregates($symb,$courseid);              &store_aggregates($symb,$courseid);
             if ($passback) {              if ($dopassback) {
                 my $scoreformat = 'decimal';                  my $scoreformat = 'decimal';
                 if (ref($ltiref) eq 'HASH') {                  if (ref($ltiref) eq 'HASH') {
                     if ($ltiref->{'scoreformat'} =~ /^(decimal|ratio|percentage)$/) {                      if ($ltiref->{'scoreformat'} =~ /^(decimal|ratio|percentage)$/) {
Line 1919  sub start_problem { Line 1937  sub start_problem {
                     $result.= '<button type="submit" name="resetdata" '.                      $result.= '<button type="submit" name="resetdata" '.
                         'value="new_problem_variation">'.&mt('New Problem Variation').'</button>'.                          'value="new_problem_variation">'.&mt('New Problem Variation').'</button>'.
                         &practice_problem_header().'<hr />';                          &practice_problem_header().'<hr />';
                   } elsif ($Apache::lonhomework::type eq 'randomizetry') {
                       my $reqtries = &Apache::lonnet::EXT("resource.$Apache::inputtags::part.randomizeontries");
                       my $problemstatus = &get_problem_status($Apache::inputtags::part);
                       $result.=&randomizetry_problem_header($problemstatus,$reqtries);
                 }                  }
     }      }
     # if we are viewing someone else preserve that info      # if we are viewing someone else preserve that info

Removed from v.1.561  
changed lines
  Added in v.1.564


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>