Diff for /loncom/homework/lonhomework.pm between versions 1.276 and 1.280

version 1.276, 2007/10/08 09:22:50 version 1.280, 2007/10/31 01:37:52
Line 398  sub check_access { Line 398  sub check_access {
     if ($env{'request.state'} eq "construct") {      if ($env{'request.state'} eq "construct") {
  if ($env{'form.problemstate'}) {   if ($env{'form.problemstate'}) {
     if ($env{'form.problemstate'} =~ /^CANNOT_ANSWER/) {      if ($env{'form.problemstate'} =~ /^CANNOT_ANSWER/) {
  if ( ! ($env{'form.problemstate'} eq 'CANNOT_ANSWER_correct' &&   if ( ! ($env{'form.problemstate'} eq 'CANNOT_ANSWER_correct' 
  lc($Apache::lonhomework::problemstatus) eq 'no')) {   && &hide_problem_status())) {
     return ('CANNOT_ANSWER',      return ('CANNOT_ANSWER',
     &mt('is in this state due to author settings.'));      &mt('is in this state due to author settings.'));
  }   }
Line 489  sub check_access { Line 489  sub check_access {
  # if (correct and show prob status) or excused then CANNOT_ANSWER   # if (correct and show prob status) or excused then CANNOT_ANSWER
  if(($Apache::lonhomework::history{"resource.$id.solved"}=~/^correct/   if(($Apache::lonhomework::history{"resource.$id.solved"}=~/^correct/
     &&      &&
     lc($Apache::lonhomework::problemstatus) ne 'no')      &show_problem_status())
    ||     ||
    $Apache::lonhomework::history{"resource.$id.solved"}=~/^excused/) {     $Apache::lonhomework::history{"resource.$id.solved"}=~/^excused/) {
     $status = 'CANNOT_ANSWER';      $status = 'CANNOT_ANSWER';
Line 746  sub analyze_header { Line 746  sub analyze_header {
             <form name="lonhomework" method="POST" action="'.              <form name="lonhomework" method="POST" action="'.
     &HTML::Entities::encode($env{'request.uri'},'<>&"').'">'.      &HTML::Entities::encode($env{'request.uri'},'<>&"').'">'.
     &Apache::structuretags::remember_problem_state().'      &Apache::structuretags::remember_problem_state().'
               <div class="LC_edit_problem_analyze_header">
             <input type="submit" name="problemmode" value="'.&mt("EditXML").'" />              <input type="submit" name="problemmode" value="'.&mt("EditXML").'" />
             <input type="submit" name="problemmode" value="'.&mt('Edit').'" />              <input type="submit" name="problemmode" value="'.&mt('Edit').'" />
             <hr />              <hr class="LC_edit_problem_divide" />
   
             <input type="submit" name="submit" value="'.&mt("View").'" />              <input type="submit" name="submit" value="'.&mt("View").'" />
             <hr />              <hr class="LC_edit_problem_divide" />
               </div>
             </form>';              </form>';
     &Apache::lonxml::add_messages(\$result);      &Apache::lonxml::add_messages(\$result);
     $request->print($result);      $request->print($result);
Line 823  sub analyze { Line 826  sub analyze {
     }      }
     &Apache::lonhtmlcommon::Update_PrgWin($request,\%prog_state,      &Apache::lonhtmlcommon::Update_PrgWin($request,\%prog_state,
   &mt('Analyzing Results'));    &mt('Analyzing Results'));
     $request->print('<hr />'.&mt('List of possible answers').': ');      $request->print('<hr class="LC_edit_problem_divide" />'.&mt('List of possible answers').': ');
     foreach my $part (sort(keys(%allparts))) {      foreach my $part (sort(keys(%allparts))) {
  if (defined(@{ $overall{$part.'.answer'} })) {   if (defined(@{ $overall{$part.'.answer'} })) {
     for (my $i=0;$i<scalar(@{ $overall{$part.'.answer'} });$i++) {      for (my $i=0;$i<scalar(@{ $overall{$part.'.answer'} });$i++) {
Line 861  sub analyze { Line 864  sub analyze {
     return $result;      return $result;
 }  }
   
   {
       my $show_problem_status;
       sub reset_show_problem_status {
    undef($show_problem_status);
       }
   
       sub set_show_problem_status {
    my ($new_status) = @_;
    $show_problem_status = lc($new_status);
       }
   
       sub hide_problem_status {
    return ($show_problem_status eq 'no'
    || $show_problem_status eq 'no_feedback_ever');
       }
   
       sub show_problem_status {
    return ($show_problem_status eq 'yes'
    || $show_problem_status eq '');
       }
       
       sub show_some_problem_status {
    return ($show_problem_status eq 'no');
       }
   
       sub show_no_problem_status {
    return ($show_problem_status eq 'no_feedback_ever');
       }
   }
   
 sub editxmlmode {  sub editxmlmode {
     my ($request,$file) = @_;      my ($request,$file) = @_;
     my $result;      my $result;
Line 910  sub editxmlmode { Line 943  sub editxmlmode {
             <form '.&Apache::edit::form_change_detection().' name="lonhomework" method="POST" action="'.              <form '.&Apache::edit::form_change_detection().' name="lonhomework" method="POST" action="'.
     &HTML::Entities::encode($env{'request.uri'},'<>&"').'">'.      &HTML::Entities::encode($env{'request.uri'},'<>&"').'">'.
     &Apache::structuretags::remember_problem_state().'      &Apache::structuretags::remember_problem_state().'
             <input type="hidden" name="problemmode" value="'.&mt('EditXML').'" />              <div class="LC_edit_problem_editxml_header">
             <input type="submit" name="problemmode" accesskey="d" value="'.&mt('Discard Edits and View').'" />                <table class="LC_edit_problem_header_title"><tr><td>
             <input type="submit" '.&Apache::edit::submit_ask_anyway().'name="problemmode" accesskey="e" value="'.&mt('Edit').'" />                 '.&mt('Problem Editing').&Apache::loncommon::help_open_topic('Problem_Editor_XML_Index').'
             <input type="submit" name="Undo" accesskey="u" value="'.&mt('undo').'" />                  </td><td align="right">
             <hr />                    '.&Apache::loncommon::helpLatexCheatsheet().'
             <input type="submit" name="submit" accesskey="s" value="'.&mt('Submit Changes').'" />                  </td></tr>
             <input type="submit" name="submit" accesskey="v" value="'.&mt('Submit Changes and View').'" />                </table>
             <hr />                <div class="LC_edit_problem_discards">
             ' . $xml_help . '                  <input type="hidden" name="problemmode" value="'.&mt('EditXML').'" />
                   <input type="submit" name="problemmode" accesskey="d" value="'.&mt('Discard Edits and View').'" />
                   <input type="submit" '.&Apache::edit::submit_ask_anyway().'name="problemmode" accesskey="e" value="'.&mt('Edit').'" />
                   <input type="submit" name="Undo" accesskey="u" value="'.&mt('undo').'" />
                 </div>
                 <div class="LC_edit_problem_saves">
                   <input type="submit" name="submit" accesskey="s" value="'.&mt('Save').'" />
                   <input type="submit" name="submit" accesskey="v" value="'.&mt('Save and View').'" />
                 </div>
                 <hr class="LC_edit_problem_divide" />
               </div>
               '  . '
             <textarea '.&Apache::edit::element_change_detection().              <textarea '.&Apache::edit::element_change_detection().
               ' rows="'.$rows.'" cols="'.$cols.'" style="width:100%" '.                ' rows="'.$rows.'" cols="'.$cols.'" style="width:100%" '.
       ' name="editxmltext" id="LC_editxmltext">'.        ' name="editxmltext" id="LC_editxmltext">'.
       &HTML::Entities::encode($problem,'<>&"').'</textarea>        &HTML::Entities::encode($problem,'<>&"').'</textarea>
             <div id="LC_aftertextarea">              <div id="LC_aftertextarea">
                 <input type="submit" name="submit" accesskey="s" value="'.&mt('Submit Changes').'" />  
                 <input type="submit" name="submit" accesskey="v" value="'.&mt('Submit Changes and View').'" />  
             </div>              </div>
             </form>'.&Apache::loncommon::end_page();              </form>'.&Apache::loncommon::end_page();
  &Apache::lonxml::add_messages(\$result);   &Apache::lonxml::add_messages(\$result);

Removed from v.1.276  
changed lines
  Added in v.1.280


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