Diff for /loncom/homework/inputtags.pm between versions 1.296 and 1.304

version 1.296, 2011/11/29 13:24:38 version 1.304, 2012/06/12 22:02:24
Line 185  sub start_textfield { Line 185  sub start_textfield {
             }              }
         }          }
         unless ($newvariation) {          unless ($newvariation) {
     $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$resid.submission"},'<>&"');      $oldresponse = $Apache::lonhomework::history{"resource.$partid.$resid.submission"};
         }          }
  if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {   if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
     my $cols = &Apache::lonxml::get_param('cols',$parstack,$safeeval);      my $cols = &Apache::lonxml::get_param('cols',$parstack,$safeeval);
Line 200  sub start_textfield { Line 200  sub start_textfield {
             my $textareaclass = 'class="LC_richDetectHtml"';              my $textareaclass = 'class="LC_richDetectHtml"';
     $result.= '<textarea wrap="hard" name="HWVAL_'.$resid.'" id="HWVAL_'.$resid.'" '.      $result.= '<textarea wrap="hard" name="HWVAL_'.$resid.'" id="HWVAL_'.$resid.'" '.
       'rows="'.$rows.'" cols="'.$cols.'" '.$textareaclass.'>'.        'rows="'.$rows.'" cols="'.$cols.'" '.$textareaclass.'>'.
                       $oldresponse;                        &HTML::Entities::encode($oldresponse,'<>&"');
     if ($oldresponse ne '') {      if ($oldresponse ne '') {
   
  #get rid of any startup text if the user has already responded   #get rid of any startup text if the user has already responded
Line 576  sub file_selector { Line 576  sub file_selector {
     if ( $which eq 'both') {      if ( $which eq 'both') {
  $result.='<br />'.'<strong>'.&mt('OR:').'</strong><br />';   $result.='<br />'.'<strong>'.&mt('OR:').'</strong><br />';
     }      }
     if ($which eq 'portfolioonly' || $which eq 'both') {       if ($which eq 'portfolioonly' || $which eq 'both') {
  $result.=$extratext.'<a href='."'".'javascript:void(window.open("/adm/portfolio?mode=selectfile&amp;fieldname='.$env{'form.request.prefix'}.'HWPORT'.$jspart.'_'.$id.'","cat","height=600,width=800,scrollbars=1,resizable=1,menubar=2,location=1"))'."'".'>'.          my $symb = $env{'request.symb'};
           (undef,undef,my $res)=&Apache::lonnet::decode_symb($symb);
           my $showsymb;
           # If resource is a .task and URL is unencrypted, include symb in query string
           # for url opened in portfolio file selection window. Can be used to override
           # blocking of portfolio access resulting from an exam event in a different course. 
           if ($res =~ /\.task$/i) {
               my $encsymb = &Apache::lonenc::check_encrypt($symb);
               if ($symb eq $encsymb) {
                   $showsymb = $symb;
               }
           }
    $result.=$extratext.'<a href='."'".'javascript:void(window.open("/adm/portfolio?mode=selectfile&amp;fieldname='.$env{'form.request.prefix'}.'HWPORT'.$jspart.'_'.$id.'&symb='.$showsymb.'","cat","height=600,width=800,scrollbars=1,resizable=1,menubar=2,location=1"))'."'".'>'.
     &mt('Select Portfolio Files: (one or more files per submission)').'</a><br />'.      &mt('Select Portfolio Files: (one or more files per submission)').'</a><br />'.
     '<input type="text" size="50" name="HWPORT'.$jspart.'_'.$id.'" value="" />'.      '<input type="text" size="50" name="HWPORT'.$jspart.'_'.$id.'" value="" />'.
     '<br />';      '<br />';
Line 843  sub finalizeawards { Line 855  sub finalizeawards {
 }  }
 }  }
   
 sub grading_is_nonlenient {  
     my ($part) = @_;  
 # Web mode: we are non-lenient unless told otherwise  
     my $defaultparm = 'off';  
     my $nonlenient = 0;  
 # Grading a bubblesheet exam: we are grading lenient unless told otherwise  
     if ($Apache::lonhomework::scantronmode) {  
         $defaultparm = 'on';  
         $nonlenient = 1;  
     }  
     my $lenientparm =  
         &Apache::response::get_response_param($part,'lenient',$defaultparm);  
     if ($lenientparm=~/^0|off|no$/i) {  
         $nonlenient = 1;  
     } elsif ($lenientparm=~/^1|on|yes$/i) {  
         $nonlenient = 0;  
     }  
     return $nonlenient;  
 }  
   
 sub decideoutput {  sub decideoutput {
     my ($award,$awarded,$awardmsg,$solved,$previous,$target,$nocorrect)=@_;      my ($award,$awarded,$awardmsg,$solved,$previous,$target,$nocorrect)=@_;
   
Line 931  sub decideoutput { Line 923  sub decideoutput {
  }   }
     }      }
  }   }
         if (&grading_is_nonlenient($part)) {          if ($awarded >= 1) {
             $button=0;              $button=0;
         } elsif ($awarded==1) {          } elsif (&Apache::lonnet::EXT("resource.$part.retrypartial") !~/^1|on|yes$/i) {
             $button=0;              $button=0;
         } else {           } else {
             $button=1;              $button=1;
         }          }
  $previousmsg='';   $previousmsg='';
Line 1096  sub decideoutput { Line 1088  sub decideoutput {
     } elsif ($award eq 'ANONYMOUS_CREDIT') {      } elsif ($award eq 'ANONYMOUS_CREDIT') {
         $message = &mt("Your anonymous submission has been recorded, and credit awarded.");          $message = &mt("Your anonymous submission has been recorded, and credit awarded.");
         $css_class=$possible_class{'correct'};          $css_class=$possible_class{'correct'};
           $button=1;
     } elsif ($award eq 'DRAFT') {      } elsif ($award eq 'DRAFT') {
  $message = &mt("Copy saved but not submitted.");   $message = &mt("Copy saved but not submitted.");
  $css_class=$possible_class{'not_charged_try'};   $css_class=$possible_class{'not_charged_try'};
Line 1146  sub decideoutput { Line 1139  sub decideoutput {
     if (&Apache::lonhomework::hide_problem_status()      if (&Apache::lonhomework::hide_problem_status()
  && $Apache::inputtags::status[-1] ne 'SHOW_ANSWER'   && $Apache::inputtags::status[-1] ne 'SHOW_ANSWER'
  && &hide_award($award)) {   && &hide_award($award)) {
  $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");          $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");
           my @interval= &Apache::lonnet::EXT("resource.$part.interval");
           if ($interval[0] =~ /\d+/) {
               my $first_access=&Apache::lonnet::get_first_access($interval[1]);
               if (defined($first_access)) {
                   my $due_date= &Apache::lonnet::EXT("resource.$part.duedate");
                   unless (($due_date) && ($due_date < $first_access + $interval[0])) { 
                       $message = &mt("Answer Submitted: Your final submission will be graded when the time limit is reached.");
                   }
               }
           }
  $css_class=$possible_class{'no_grade'};   $css_class=$possible_class{'no_grade'};
  $button=1;   $button=1;
     }      }
Line 1514  sub gradestatus { Line 1517  sub gradestatus {
  && $status ne 'UNAVAILABLE'    && $status ne 'UNAVAILABLE' 
  && $status ne 'INVALID_ACCESS'    && $status ne 'INVALID_ACCESS' 
  && $status ne 'NEEDS_CHECKIN'    && $status ne 'NEEDS_CHECKIN' 
  && $status ne 'NOT_IN_A_SLOT') {     && $status ne 'NOT_IN_A_SLOT'
            && $status ne 'RESERVABLE'
            && $status ne 'RESERVABLE_LATER'
            && $status ne 'NOTRESERVABLE') {
   
  ($previousmsg,$latemessage,$message,$trystr) =   ($previousmsg,$latemessage,$message,$trystr) =
     &get_grade_messages($id,"resource.$id",$target,$status,      &get_grade_messages($id,"resource.$id",$target,$status,
Line 1648  sub previous_tries { Line 1654  sub previous_tries {
  '</th><th colspan="'.scalar(@Apache::inputtags::response).'">'.   '</th><th colspan="'.scalar(@Apache::inputtags::response).'">'.
  &mt('Submitted Answer').'</th>';   &mt('Submitted Answer').'</th>';
     $output ='<table class="LC_prior_tries">'.$headers.$output.'</table>';      $output ='<table class="LC_prior_tries">'.$headers.$output.'</table>';
     #return $output;  
     $output = &Apache::loncommon::js_ready($output);   
     $output.='<br /><form action=""><center><input type="button" name="close" value="'.&mt('Close Window').'" onClick="window.close()" /></center></form>';  
   
     my $windowopen=&Apache::lonhtmlcommon::javascript_docopen();  
     my $tries_text = &get_tries_text('link');      my $tries_text = &get_tries_text('link');
     my $start_page =  
  &Apache::loncommon::start_page($tries_text, undef,  
        {'only_body'      => 1,  
  'bgcolor'        => '#FFFFFF',  
  'js_ready'       => 1,  
         'inherit_jsmath' => 1, });  
     my $end_page =  
  &Apache::loncommon::end_page({'js_ready' => 1,});  
     my $prefix = $env{'form.request.prefix'};      my $prefix = $env{'form.request.prefix'};
     $prefix =~ tr{.}{_};      $prefix =~ tr{.}{_};
     my $function_name = "LONCAPA_previous_tries_".$prefix.      my $function_name = "LONCAPA_previous_tries_".$prefix.
  $Apache::lonxml::curdepth.'_'.$env{'form.counter'};   $Apache::lonxml::curdepth.'_'.$env{'form.counter'};
     my $result ="<script type=\"text/javascript\">      my $result = &Apache::loncommon::modal_adhoc_window($function_name,420,410,$output,&mt($tries_text))."<br />";
 // <![CDATA[  
     function $function_name() {newWindow=open('','new_W','width=500,height=500,scrollbars=1,resizable=yes');newWindow.$windowopen;newWindow.document.writeln('$start_page $output $end_page');newWindow.document.close();newWindow.focus()}  
 // ]]>  
 </script><a href=\"javascript:$function_name();void(0);\">".&mt($tries_text)."</a><br />";  
     #use Data::Dumper;  
     #&Apache::lonnet::logthis(&Dumper(\%Apache::inputtags::submission_display));  
     return $result;      return $result;
 }  }
   

Removed from v.1.296  
changed lines
  Added in v.1.304


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