--- loncom/interface/lonparmset.pm 2015/08/16 20:45:41 1.552 +++ loncom/interface/lonparmset.pm 2015/08/28 22:44:59 1.553 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.552 2015/08/16 20:45:41 raeburn Exp $ +# $Id: lonparmset.pm,v 1.553 2015/08/28 22:44:59 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1138,10 +1138,11 @@ ENDHEAD sub print_row { my ($r,$which,$part,$name,$symbp,$rid,$default,$defaulttype,$display,$defbgone, - $defbgtwo,$defbgthree,$parmlev,$uname,$udom,$csec,$cgroup,$usersgroups)=@_; + $defbgtwo,$defbgthree,$parmlev,$uname,$udom,$csec,$cgroup,$usersgroups,$noeditgrp)=@_; my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $courseopt=&Apache::lonnet::get_courseresdata($cnum,$cdom); + # get the values for the parameter in cascading order # empty levels will remain empty my ($result,@outpar)=&parmval($$part{$which}.'.'.$$name{$which}, @@ -1184,7 +1185,7 @@ sub print_row { if ($uname) { &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); } elsif ($cgroup) { - &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); + &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display,$noeditgrp); } elsif ($csec) { &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); } else { @@ -1195,7 +1196,7 @@ sub print_row { if ($uname) { &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); } elsif ($cgroup) { - &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); + &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display,$noeditgrp); } elsif ($csec) { &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); } else { @@ -1232,9 +1233,9 @@ sub print_row { } if ($cgroup) { - &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); - &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); - &print_td($r,4,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display); + &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display,$noeditgrp); + &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display,$noeditgrp); + &print_td($r,4,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display,$noeditgrp); } if ($uname) { @@ -1263,7 +1264,7 @@ sub print_row { } sub print_td { - my ($r,$which,$defbg,$result,$outpar,$mprefix,$value,$typeoutpar,$display)=@_; + my ($r,$which,$defbg,$result,$outpar,$mprefix,$value,$typeoutpar,$display,$noeditgrp)=@_; $r->print('
' @@ -2753,7 +2776,7 @@ ENDTABLEHEADFOUR &print_row($r,$item,\%part,\%name,\%symbp,$rid,\%default, \%type,\%display,$defbgone,$defbgtwo, $defbgthree,$parmlev,$uname,$udom,$csec, - $cgroup,\@usersgroups); + $cgroup,\@usersgroups,$noeditgrp); } } } @@ -2875,7 +2898,7 @@ ENDTABLEHEADFOUR $r->print(&Apache::loncommon::start_data_table_row()); &print_row($r,$item,\%part,\%name,\%symbp,$mapid,\%default, \%type,\%display,$defbgone,$defbgtwo,$defbgthree, - $parmlev,$uname,$udom,$csec,$cgroup); + $parmlev,$uname,$udom,$csec,$cgroup,'',$noeditgrp); } $r->print(&Apache::loncommon::end_data_table().'
' .'' @@ -2965,7 +2988,7 @@ ENDMAPONE $r->print(&Apache::loncommon::start_data_table_row()); &print_row($r,$item,\%part,\%name,\%symbp,$mapid,\%default, \%type,\%display,$defbgone,$defbgtwo,$defbgthree, - $parmlev,$uname,$udom,$csec,$cgroup); + $parmlev,$uname,$udom,$csec,$cgroup,'',$noeditgrp); } $r->print(&Apache::loncommon::end_data_table() .'' @@ -3244,7 +3267,11 @@ sub listdata { my ($secidx,%grouphash); if (($env{'request.course.sec'} ne '') && ($caller eq 'overview')) { $secidx = &Apache::loncoursedata::CL_SECTION(); - %grouphash = &Apache::longroup::coursegroups(); + if (&Apache::lonnet::allowed('mdg',$env{'request.course.id'})) { + %grouphash = &Apache::longroup::coursegroups(); + } elsif ($env{'request.course.groups'} ne '') { + map { $grouphash{$_} = 1; } split(/,/,$env{'request.course.groups'}); + } } foreach my $thiskey (sort { @@ -3950,16 +3977,26 @@ ENDOVER &displaymenu($r,\%allparms,\@pscat,\%keyorder); $r->print(&Apache::lonhtmlcommon::start_pick_box()); $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parts to View'))); + my $sectionselector = §ionmenu(\@selected_sections); + my $groupselector = &groupmenu(\@selected_groups); $r->print(''.&mt('Parts').' | '.&mt('Section(s)'). - ' | '.&mt('Group(s)').' |
---|---|---|
'); + ' | ||
'.&mt('Parts').' | '); + if ($sectionselector) { + $r->print(''.&mt('Section(s)').' | '); + } + if ($groupselector) { + $r->print(''.&mt('Group(s)').' | '); + } + $r->print('
'); &partmenu($r,\%allparts,\@psprt); - $r->print(' | '); - §ionmenu($r,\@selected_sections); - $r->print(' | '); - &groupmenu($r,\@selected_groups); - $r->print(' |