--- loncom/homework/lonhomework.pm 2018/09/20 14:16:51 1.374 +++ loncom/homework/lonhomework.pm 2023/06/04 05:27:28 1.377 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.374 2018/09/20 14:16:51 raeburn Exp $ +# $Id: lonhomework.pm,v 1.377 2023/06/04 05:27:28 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -50,6 +50,8 @@ use Apache::chemresponse(); use Apache::functionplotresponse(); use Apache::drawimage(); use Apache::loncapamath(); +use Apache::loncourseuser(); +use Apache::grades(); use Apache::Constants qw(:common); use Apache::loncommon(); use Apache::lonparmset(); @@ -369,7 +371,7 @@ sub check_slot_access { my $probstatus = &Apache::structuretags::get_problem_status($part); my $earlyout; unless (($probstatus eq 'no') || - ($probstatus eq 'no_feedback_ever')) { + ($probstatus eq 'no_feedback_ever')) { if ($Apache::lonhomework::history{"resource.$part.solved"} =~/^correct_/) { $numcorrect ++; } else { @@ -378,7 +380,7 @@ sub check_slot_access { } if ($currtries == $maxtries) { $earlyout = 1; - } else { + } else { $numgraded ++; } last if ($earlyout); @@ -795,6 +797,9 @@ sub setuppermissions { $env{'request.course.sec'} !~ /^\s*$/) { $viewgrades = &Apache::lonnet::allowed('vgr',$env{'request.course.id'}. '/'.$env{'request.course.sec'}); + if ($viewgrades) { + $Apache::lonhomework::viewgradessec = $env{'request.course.sec'}; + } } $Apache::lonhomework::viewgrades = $viewgrades; @@ -812,6 +817,9 @@ sub setuppermissions { $modifygrades = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}. '/'.$env{'request.course.sec'}); + if ($modifygrades) { + $Apache::lonhomework::modifygradessec = $env{'request.course.sec'}; + } } $Apache::lonhomework::modifygrades = $modifygrades; @@ -830,7 +838,9 @@ sub setuppermissions { sub unset_permissions { undef($Apache::lonhomework::queuegrade); undef($Apache::lonhomework::modifygrades); + undef($Apache::lonhomework::modifygradessec); undef($Apache::lonhomework::viewgrades); + undef($Apache::lonhomework::viewgradessec); undef($Apache::lonhomework::browse); } @@ -1201,27 +1211,27 @@ sub editxmlmode { unless ($env{'environment.nocodemirror'}) { # dropdown menus - $result .= Apache::lonmenu::create_submenu("#", "", + $result .= Apache::lonmenu::create_submenu("#", "", &mt("Problem Templates"), template_dropdown_datastructure()); - $result .= Apache::lonmenu::create_submenu("#", "", + $result .= Apache::lonmenu::create_submenu("#", "", &mt("Response Types"), responseblock_dropdown_datastructure()); - $result .= Apache::lonmenu::create_submenu("#", "", + $result .= Apache::lonmenu::create_submenu("#", "", &mt("Conditional Blocks"), conditional_scripting_datastructure()); - $result .= Apache::lonmenu::create_submenu("#", "", + $result .= Apache::lonmenu::create_submenu("#", "", &mt("Miscellaneous"), misc_datastructure()); } - $result .= Apache::lonmenu::create_submenu("#", "", + $result .= Apache::lonmenu::create_submenu("#", "", &mt("Help") . ' ' . &mt(', + '" style="vertical-align:text-bottom; height: auto; margin:0; "/>', helpmenu_datastructure(),""); $result.=""; - - $result .= '' . + + $result .= '' . &Apache::lonxml::message_location() . &Apache::loncommon::xmleditor_js() . '