version 1.3, 2006/07/17 15:07:26
|
version 1.4, 2006/08/17 23:36:05
|
Line 52 sub handler {
|
Line 52 sub handler {
|
return HTTP_NOT_ACCEPTABLE; |
return HTTP_NOT_ACCEPTABLE; |
} |
} |
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['group','ref']); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
|
['group','ref','status']); |
|
|
my $gpterm = &Apache::loncommon::group_term(); |
my $gpterm = &Apache::loncommon::group_term(); |
my $ucgpterm = $gpterm; |
my $ucgpterm = $gpterm; |
$ucgpterm =~ s/^(\w)/uc($1)/e; |
$ucgpterm =~ s/^(\w)/uc($1)/e; |
my $crstype = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
my $group; |
my $group; |
|
my %curr_groups; |
|
|
|
# Validating group input. |
|
my $badinput; |
if ((!defined($env{'form.group'})) || ($env{'form.group'} eq '')) { |
if ((!defined($env{'form.group'})) || ($env{'form.group'} eq '')) { |
$r->print(&mt('No [_1] name provided',$gpterm)); |
$r->print(&mt('No group name provided.<br />')); |
|
$badinput = 1; |
} else { |
} else { |
$group = $env{'form.group'}; |
$group = $env{'form.group'}; |
$group =~ s/\W//g; |
$group =~ s/\W//g; |
} |
} |
if ($group eq '') { |
if (!$badinput && $group eq '') { |
$r->print(&mt('Invalid [_1] name provided',$gpterm)); |
$r->print(&mt('Invalid group name provided.<br />')); |
|
$badinput = 1; |
} |
} |
|
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
|
if ($cdom eq '' || $cnum eq '') { |
if ($cdom eq '' || $cnum eq '') { |
$r->print(&mt('Invalid [_1]',$crstype)); |
$r->print(&mt('Invalid [_1]<br />',$crstype)); |
|
$badinput = 1; |
} |
} |
|
|
my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum); |
if (!$badinput) { |
if (!defined($curr_groups{$group})) { |
%curr_groups = &Apache::longroup::coursegroups($cdom,$cnum); |
$r->print(&mt('[_1] is not the name of a valid [_2] in this [_3].', |
if (!defined($curr_groups{$group})) { |
$group,$gpterm,lc($crstype))); |
$r->print(&mt('"[_1]" is not the name of a valid group in this [_2].', |
|
$group,lc($crstype))); |
|
$badinput = 1; |
|
} |
|
} |
|
if ($badinput) { |
return OK; |
return OK; |
} |
} |
|
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
|
Line 119 sub handler {
|
Line 130 sub handler {
|
sub roster_header { |
sub roster_header { |
my ($cdom,$cnum,$group,$description,$gpterm,$ucgpterm) = @_; |
my ($cdom,$cnum,$group,$description,$gpterm,$ucgpterm) = @_; |
my $refarg; |
my $refarg; |
if (exists($env{'form.ref'})) { |
if (exists($env{'form.ref'}) && $env{'form.ref'} ne 'popup') { |
$refarg = 'ref='.$env{'form.ref'}; |
$refarg = 'ref='.$env{'form.ref'}; |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/coursegroups", |
({href=>"/adm/coursegroups", |
text=>"Groups", |
text=>"Groups", |
title=>"View course groups"}); |
title=>"View course groups"}); |
} |
} |
|
my $args; |
|
if ($env{'form.ref'} eq 'popup') { |
|
$args = { |
|
'no_nav_bar' => 1, |
|
'no_inline_link' => 1, |
|
}; |
|
} |
my $jscript = qq| |
my $jscript = qq| |
function changeSort(caller) { |
function changeSort(caller) { |
document.grouproster.sortby.value = caller; |
document.grouproster.sortby.value = caller; |
document.grouproster.submit(); |
document.grouproster.submit(); |
}\n|; |
}\n|; |
|
my $itemtitle = &mt('Group membership status - [_1]',$description); |
my $output = |
my $output = |
&Apache::loncommon::start_page(&mt('[_1] Membership ',$ucgpterm), |
&Apache::loncommon::start_page('Group Membership', |
'<script type="text/javascript">'. |
'<script type="text/javascript">'. |
$jscript.'</script>'); |
$jscript.'</script>',$args); |
&Apache::lonhtmlcommon::add_breadcrumb |
if ($env{'form.ref'} eq 'popup') { |
({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg", |
$output .= '<h3>'.&mt('Group membership status - [_1]',$description). |
text=>"$ucgpterm: $description", |
'</h3>'; |
title=>"Go to group's home page"}, |
} else { |
{href=>'/adm/grouproster?group='.$group.'&'.$refarg, |
&Apache::lonhtmlcommon::add_breadcrumb |
text=>"Membership roster", |
({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg", |
title=>"Display group membership"},); |
text=>"$ucgpterm: $description", |
$output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('[_1] membership status - [_2]',$gpterm,$description)); |
title=>"Go to group's home page"}, |
|
{href=>'/adm/grouproster?group='.$group.'&'.$refarg, |
|
text=>"Membership roster", |
|
title=>"Display group membership"},); |
|
$output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('[_1] membership status - [_2]',$gpterm,$description)); |
|
} |
return $output; |
return $output; |
} |
} |
|
|
Line 209 sub roster_table {
|
Line 233 sub roster_table {
|
$r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}. |
$r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}. |
'" />'); |
'" />'); |
} |
} |
$r->print('</form><br /><br />'); |
$r->print('</form><br />'); |
|
|
} |
} |
|
$r->print('<br />'); |
if (ref($numitems) eq 'HASH') { |
if (ref($numitems) eq 'HASH') { |
foreach my $key (keys(%{$numitems})) { |
foreach my $key (keys(%{$numitems})) { |
if ($status eq $key && !$$numitems{$key}) { |
if ($status eq $key && !$$numitems{$key}) { |
Line 225 sub roster_table {
|
Line 250 sub roster_table {
|
<form name="grouproster" action="/adm/grouproster" method="post"> |
<form name="grouproster" action="/adm/grouproster" method="post"> |
<input type="hidden" name="group" value="'.$group.'" /> |
<input type="hidden" name="group" value="'.$group.'" /> |
<input type="hidden" name="sortby" value="'.$env{'form.sortby'}.'" /> |
<input type="hidden" name="sortby" value="'.$env{'form.sortby'}.'" /> |
|
<input type="hidden" name="status" value="'.$status.'" /> |
'); |
'); |
if (exists($env{'form.ref'})) { |
if (exists($env{'form.ref'})) { |
$r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}. |
$r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}. |
Line 312 sub members_table_row {
|
Line 338 sub members_table_row {
|
my $curr_tool; |
my $curr_tool; |
my $privlist; |
my $privlist; |
foreach my $priv (@{$$userinfo{'privs'}}) { |
foreach my $priv (@{$$userinfo{'privs'}}) { |
unless ($curr_tool eq $$tooltype{$priv}) { |
if (defined($$tooltype{$priv})) { |
$curr_tool = $$tooltype{$priv}; |
if ($curr_tool ne $$tooltype{$priv}) { |
$privlist .= '<b>'.$curr_tool.'</b>: '; |
$curr_tool = $$tooltype{$priv}; |
|
$privlist .= '<b>'.$curr_tool.'</b>: '; |
|
} |
|
$privlist .= $$toolprivs{$curr_tool}{$priv}.', '; |
} |
} |
$privlist .= $$toolprivs{$curr_tool}{$priv}.', '; |
|
} |
} |
$privlist =~ s/, $//; |
$privlist =~ s/, $//; |
$output .= '<td>'.$privlist.'</td>'; |
$output .= '<td>'.$privlist.'</td>'; |