--- loncom/homework/structuretags.pm 2015/02/22 01:34:48 1.528 +++ loncom/homework/structuretags.pm 2015/04/21 12:28:05 1.536 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.528 2015/02/22 01:34:48 raeburn Exp $ +# $Id: structuretags.pm,v 1.536 2015/04/21 12:28:05 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -224,10 +224,55 @@ sub end_tex { } sub homework_js { + my ($postsubmit,$timeout); + if (($env{'request.course.id'}) && ($env{'request.state'} ne 'construct')) { + my $crstype; + if (&Apache::loncommon::course_type() eq 'Community') { + $crstype = 'community'; + } else { + if ($env{'course.'.$env{'request.course.id'}.'.internal.coursecode'}) { + $crstype = 'official'; + } elsif ($env{'course.'.$env{'request.course.id'}.'.internal.textbook'}) { + $crstype = 'textbook'; + } else { + $crstype = 'unofficial'; + } + } + $postsubmit = $env{'course.'.$env{'request.course.id'}.'.internal.postsubmit'}; + if ($postsubmit eq '') { + my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'}); + $postsubmit = $domdefs{'postsubmit'}; + unless ($postsubmit eq 'off') { + $timeout = $domdefs{$crstype.'postsubtimeout'}; + } + } elsif ($postsubmit eq '0') { + $postsubmit = 'off'; + } elsif ($postsubmit eq '1') { + $postsubmit = 'on'; + $timeout = $env{'course.'.$env{'request.course.id'}.'.internal.postsubtimeout'}; + if ($timeout eq '') { + my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'}); + $timeout = $domdefs{$crstype.'postsubtimeout'}; + } + } + if ($timeout eq '') { + $timeout = 60; + } + } else { + my %domdefs = &Apache::lonnet::get_domain_defaults($env{'request.role.domain'}); + $postsubmit = $domdefs{'postsubmit'}; + unless ($postsubmit eq 'off') { + $timeout = 60; + } + } + my $jstimeout = 0; + if ($timeout) { + $jstimeout = 1000 * $timeout; + } return &Apache::loncommon::resize_textarea_js(). &Apache::loncommon::colorfuleditor_js(). &setmode_javascript(). - <<'JS'; + <<"JS"; '; @@ -931,7 +801,8 @@ sub problem_edit_header { $(\'.LC_edit_actionbar\').scrollToFixed( { fixed: function(){ - $(this).find(\'.LC_edit_actionbar\').css(\'height\', \'31px\'); + //$(this).find(\'.LC_edit_actionbar\').css(\'height\', \'31px\'); + $(this).find(\'.LC_edit_actionbar\'); } } ); @@ -1517,6 +1388,7 @@ sub init_problem_globals { @Apache::inputtags::importlist = (); @Apache::inputtags::previous=(); @Apache::inputtags::previous_version=(); + $Apache::inputtags::leniency=''; $Apache::structuretags::printanswer='No'; @Apache::structuretags::whileconds=(); @Apache::structuretags::whilebody=(); @@ -1532,6 +1404,7 @@ sub reset_problem_globals { undef(%Apache::lonhomework::history); undef(%Apache::lonhomework::results); undef($Apache::inputtags::part); + undef($Apache::inputtags::leniency); if ($type eq 'Task') { undef($Apache::inputtags::slot_name); } elsif ($type eq 'problem') { @@ -1677,14 +1550,14 @@ sub start_problem { my $rndseed=&setup_rndseed($safeeval,$target,$probpartlist); if (($target eq 'grade') && &Apache::response::submitted()) { if ($Apache::lonhomework::type eq 'randomizetry') { - $Apache::lonhomework::results{'resource.0.rawrndseed'}=$rndseed; + $Apache::lonhomework::results{'resource.0.rndseed'}=$rndseed; } else { my @parts; if (ref($probpartlist) eq 'ARRAY') { @parts = @{$probpartlist}; } unless (@parts) { - $Apache::lonhomework::results{'resource.0.rawrndseed'}=$Apache::lonhomework::rawrndseed; + $Apache::lonhomework::results{'resource.0.rndseed'}=$Apache::lonhomework::rawrndseed; } } } @@ -2735,6 +2608,7 @@ sub start_part { my $id= &Apache::lonxml::get_id($parstack,$safeeval); $Apache::inputtags::part=$id; push(@Apache::inputtags::partlist,$id); + $Apache::inputtags::leniency=''; @Apache::inputtags::response=(); @Apache::inputtags::previous=(); @Apache::inputtags::previous_version=(); @@ -2747,10 +2621,10 @@ sub start_part { if ($Apache::lonhomework::type eq 'randomizetry') { my $rndseed=&setup_rndseed($safeeval,$target); if (($target eq 'grade') && &Apache::response::submitted()) { - $Apache::lonhomework::results{"resource.$id.rawrndseed"}=$rndseed; + $Apache::lonhomework::results{"resource.$id.rndseed"}=$rndseed; } } elsif (($target eq 'grade') && &Apache::response::submitted()) { - $Apache::lonhomework::results{"resource.$id.rawrndseed"}=$Apache::lonhomework::rawrndseed; + $Apache::lonhomework::results{"resource.$id.rndseed"}=$Apache::lonhomework::rawrndseed; } my $in_order_show=&ordered_show_check(); my $expression='$external::part=\''.$Apache::inputtags::part.'\';'; @@ -2900,6 +2774,7 @@ sub end_part { } pop @Apache::inputtags::status; $Apache::inputtags::part=''; + $Apache::inputtags::leniency=''; $Apache::lonhomework::type = $Apache::lonhomework::default_type; return $result; }