--- loncom/interface/grouproster.pm 2006/07/08 00:59:22 1.2 +++ loncom/interface/grouproster.pm 2006/07/17 15:07:26 1.3 @@ -52,7 +52,7 @@ sub handler { return HTTP_NOT_ACCEPTABLE; } - &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['group']); + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['group','ref']); my $gpterm = &Apache::loncommon::group_term(); my $ucgpterm = $gpterm; @@ -91,7 +91,7 @@ sub handler { '/'.$group); my $view_details = &Apache::lonnet::allowed('vmd',$env{'request.course.id'}.'/'.$group); - my $viewgrps = &Apache::lonnet::allowed('vcg',$env{'request.course.id'}); + my $viewgrps = &Apache::lonnet::allowed('vcg',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')); my $editgrps = &Apache::lonnet::allowed('mdg',$env{'request.course.id'}); if ((!$can_view) && (!$view_details) && (!$viewgrps) && (!$editgrps)) { @@ -118,6 +118,14 @@ sub handler { sub roster_header { my ($cdom,$cnum,$group,$description,$gpterm,$ucgpterm) = @_; + my $refarg; + if (exists($env{'form.ref'})) { + $refarg = 'ref='.$env{'form.ref'}; + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"/adm/coursegroups", + text=>"Groups", + title=>"View course groups"}); + } my $jscript = qq| function changeSort(caller) { document.grouproster.sortby.value = caller; @@ -128,10 +136,10 @@ function changeSort(caller) { ''); &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"/adm/$cdom/$cnum/$group/smppg", + ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg", text=>"$ucgpterm: $description", title=>"Go to group's home page"}, - {href=>"/adm/grouproster?group=$group", + {href=>'/adm/grouproster?group='.$group.'&'.$refarg, text=>"Membership roster", title=>"Display group membership"},); $output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('[_1] membership status - [_2]',$gpterm,$description)); @@ -144,7 +152,7 @@ sub roster_table { my $fixedprivs = &Apache::longroup::get_fixed_privs(); - my ($memberinfo,$hastools,$addtools,$numitems) = + my ($memberinfo,$numitems,$hastools,$addtools) = &Apache::longroup::group_memberlist($cdom,$cnum,$group,$fixedprivs, $available); my (%tooltype,$toolprivs); @@ -196,8 +204,12 @@ sub roster_table { ''. - '

'); + ''); + if (exists($env{'form.ref'})) { + $r->print(''); + } + $r->print('

'); } if (ref($numitems) eq 'HASH') { @@ -214,6 +226,10 @@ sub roster_table { '); + if (exists($env{'form.ref'})) { + $r->print(''); + } my %Sortby = (); my $usercount = 0; foreach my $user (sort(keys(%{$memberinfo}))) {