--- loncom/homework/lonhomework.pm 2016/09/14 16:36:49 1.344.2.5 +++ loncom/homework/lonhomework.pm 2018/09/21 04:37:36 1.344.2.10 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.344.2.5 2016/09/14 16:36:49 raeburn Exp $ +# $Id: lonhomework.pm,v 1.344.2.10 2018/09/21 04:37:36 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -235,6 +235,12 @@ sub check_slot_access { $Apache::lonhomework::history{"resource.$version.0.status"} eq 'pass') { return ('SHOW_ANSWER'); } + } elsif (($type eq 'problem') && + ($Apache::lonhomework::browse eq 'F') && + ($ENV{'REMOTE_ADDR'} eq '127.0.0.1') && + ($env{'form.grade_courseid'} eq $env{'request.course.id'}) && + (&Apache::lonnet::allowed('mgr',$env{'request.course.id'}))) { + return ($status,$datemsg); } my $availablestudent = &Apache::lonnet::EXT("resource.0.availablestudent",$symb); @@ -311,7 +317,7 @@ sub check_slot_access { $earlyout = 1; } } - if (($currtries == $maxtries) || ($is_correct)) { + if ($currtries == $maxtries) { $earlyout = 1; } else { $numgraded ++; @@ -1107,7 +1113,7 @@ sub editxmlmode {
'.&mt('Invalid template file.').'
'; + } + } else { + $errormsg = ''.&mt('Invalid template file; template needs to be a .problem, .library, or .task file.').'
'; + } } my ($extension) = ($request->uri =~ m/\.(\w+)$/); @@ -1392,7 +1417,6 @@ sub newproblem { } else { my $url=&HTML::Entities::encode($request->uri,'<>&"'); my $dest = &Apache::lonnet::filelocation("",$request->uri); - my $errormsg; my $instructions; my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), 'text' => 'Authoring Space'}, @@ -1553,19 +1577,19 @@ sub template_dropdown_datastructure { sub responseblock_dropdown_datastructure { - my $mathCat = [ - [ + my $mathCat = [ + [ ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_formularesponse())) . "\')", &mt("Formula Response"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_functionplotresponse())) . "\')", &mt("Function Plot Response"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_mathresponse())) . "\')", &mt("Math Response"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_numericalresponse())) . "\')", &mt("Numerical Response"), undef] - ], - &mt("Math"), - undef + ], + &mt("Math"), + undef ]; - my $miscCat = [ - [ + my $miscCat = [ + [ ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_imageresponse())) . "\')", &mt("Click on Image"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_customresponse())) . "\')", &mt("Custom Response"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_externalresponse())) . "\')", &mt("External Response"), undef], @@ -1578,23 +1602,23 @@ sub responseblock_dropdown_datastructure undef ]; - my $chemCat = [ - [ + my $chemCat = [ + [ ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_reactionresponse())) . "\')", &mt("Chemical Reaction"), undef], ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_organicresponse())) . "\')", &mt("Organic Chemical Structure"), undef] - ], - &mt("Chemistry"), - undef - ]; - - my $textCat = [ - [ - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_stringresponse())) . "\')", &mt("String Response"), undef], - ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_essayresponse())) . "\')", &mt("Essay"), undef] - ], - &mt("Text"), - undef - ]; + ], + &mt("Chemistry"), + undef + ]; + + my $textCat = [ + [ + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_stringresponse())) . "\')", &mt("String Response"), undef], + ["javascript:insertText(\'" . &convert_for_js(&HTML::Entities::encode(&Apache::edit::insert_essayresponse())) . "\')", &mt("Essay"), undef] + ], + &mt("Text"), + undef + ]; return [$mathCat, $miscCat, $chemCat, $textCat]; } @@ -1609,18 +1633,18 @@ sub conditional_scripting_datastructure #TODO translated is currently temporarily here, another solution should be found where the # needed string can be retrieved - my $translatedTag = ' + my $translatedTag = '