--- 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}))) {