--- loncom/homework/response.pm 2012/10/12 12:45:46 1.231 +++ loncom/homework/response.pm 2014/09/24 18:14:27 1.237 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # various response type definitons response definition # -# $Id: response.pm,v 1.231 2012/10/12 12:45:46 raeburn Exp $ +# $Id: response.pm,v 1.237 2014/09/24 18:14:27 damieng Exp $ # # Copyright Michigan State University Board of Trustees # @@ -399,7 +399,7 @@ sub end_dataresponse { $Apache::lonhomework::results{"resource.$partid.$id.awarddetail"}='SUBMITTED'; } } else { - $result='Not Permitted to change values.' + $result=&mt('Not Permitted to change values'); } } } @@ -469,6 +469,18 @@ sub end_customresponse { $error = $award; $award = 'ERROR'; } + if (($award eq 'INCORRECT' || $award eq 'APPROX_ANS' || + $award eq 'EXACT_ANS')) { + if ($Apache::lonhomework::type eq 'survey') { + $award='SUBMITTED'; + } elsif ($Apache::lonhomework::type eq 'surveycred') { + $award='SUBMITTED_CREDIT'; + } elsif ($Apache::lonhomework::type eq 'anonsurvey') { + $award='ANONYMOUS'; + } elsif ($Apache::lonhomework::type eq 'anonsurveycred') { + $award='ANONYMOUS_CREDIT'; + } + } &Apache::response::handle_previous(\%previous,$award); $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}= $award; @@ -566,19 +578,45 @@ sub start_mathresponse { sub edit_mathresponse_button { my ($id,$field)=@_; - my $button=&mt('Edit Answer'); -# my $helplink=&Apache::loncommon::help_open_topic('Formula_Editor'); - my $iconpath=$Apache::lonnet::perlvar{'lonIconsURL'}; - return(< function edit_${id}_${field} (textarea) { thenumber = textarea; thedata = document.forms['lonhomework'].elements[textarea].value; - newwin = window.open("/adm/dragmath/applet/MaximaPopup.html","","width=565,height=400,resizable"); + newwin = window.open("/adm/dragmath/MaximaPopup.html","","width=565,height=400,resizable"); } $button ENDFORMULABUTTON + + } else { + # LON-CAPA math equation editor + return(< + var field = document.getElementById('${field}'); + field.className += ' math'; // note the space + var LCMATH_started; + if (typeof LCMATH_started === 'undefined') { + LCMATH_started = true; + var script = document.createElement("script"); + script.type = "text/javascript"; + script.src = "/adm/LC_math_editor/LC_math_editor.min.js"; + document.body.appendChild(script); + window.addEventListener('load', function(e) { + LCMATH.initEditors(); + }, false); + } + +EQ_EDITOR_SCRIPT + } } sub end_mathresponse { @@ -614,6 +652,18 @@ sub end_mathresponse { $error = $award; $award = 'ERROR'; } + if (($award eq 'INCORRECT' || $award eq 'APPROX_ANS' || + $award eq 'EXACT_ANS')) { + if ($Apache::lonhomework::type eq 'survey') { + $award='SUBMITTED'; + } elsif ($Apache::lonhomework::type eq 'surveycred') { + $award='SUBMITTED_CREDIT'; + } elsif ($Apache::lonhomework::type eq 'anonsurvey') { + $award='ANONYMOUS'; + } elsif ($Apache::lonhomework::type eq 'anonsurveycred') { + $award='ANONYMOUS_CREDIT'; + } + } &Apache::response::handle_previous(\%previous,$award); $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}= $award; @@ -839,8 +889,8 @@ sub answer_header { if ($Apache::lonhomework::type eq 'exam') { $bit = ($Apache::lonxml::counter+$increment).') '; } else { - $bit .= ' Answer for Part: \verb|'. - $Apache::inputtags::part.'| '; + $bit .= ' '.&mt('Answer for Part: [_1]', + '\verb|'.$Apache::inputtags::part.'|').' '; } push(@answer_bits,$bit); } else { @@ -1135,7 +1185,6 @@ sub scored_response { sub whichorder { my ($max,$randomize,$showall,$hash,$rndseed)=@_; #&Apache::lonxml::debug("man $max randomize $randomize"); - if (!defined(@{ $$hash{'names'} })) { return; } my @names; if (ref($hash->{'names'}) eq 'ARRAY') { @names = @{$hash->{'names'}}; @@ -1356,7 +1405,7 @@ sub check_status { if (!defined($id)) { $id=$Apache::inputtags::part; } my $curtime=&Apache::lonnet::EXT('system.time'); my $opendate=&Apache::lonnet::EXT("resource.$id.opendate"); - my $duedate=&Apache::lonnet::EXT("resource.$id.duedate"); + my $duedate=&Apache::lonhomework::due_date($id); my $answerdate=&Apache::lonnet::EXT("resource.$id.answerdate"); if ( $opendate && $curtime > $opendate && $duedate && $curtime > $duedate &&