--- loncom/interface/grouproster.pm 2006/07/17 15:07:26 1.3
+++ loncom/interface/grouproster.pm 2008/12/06 20:31:14 1.6
@@ -1,5 +1,7 @@
# The LearningOnline Network with CAPA
#
+# $Id
+#
# Copyright Michigan State University Board of Trustees
#
# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
@@ -52,38 +54,49 @@ sub handler {
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 $ucgpterm = $gpterm;
$ucgpterm =~ s/^(\w)/uc($1)/e;
my $crstype = &Apache::loncommon::course_type();
my $group;
+ my %curr_groups;
+ # Validating group input.
+ my $badinput;
if ((!defined($env{'form.group'})) || ($env{'form.group'} eq '')) {
- $r->print(&mt('No [_1] name provided',$gpterm));
-
+ $r->print(&mt('No group name provided.').'
');
+ $badinput = 1;
} else {
$group = $env{'form.group'};
$group =~ s/\W//g;
}
- if ($group eq '') {
- $r->print(&mt('Invalid [_1] name provided',$gpterm));
+ if (!$badinput && $group eq '') {
+ $r->print(&mt('Invalid group name provided.').'
');
+ $badinput = 1;
}
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
if ($cdom eq '' || $cnum eq '') {
- $r->print(&mt('Invalid [_1]',$crstype));
+ $r->print(&mt('Invalid [_1]',$crstype).'
');
+ $badinput = 1;
}
- my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum);
- if (!defined($curr_groups{$group})) {
- $r->print(&mt('[_1] is not the name of a valid [_2] in this [_3].',
- $group,$gpterm,lc($crstype)));
+ if (!$badinput) {
+ %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum);
+ if (!defined($curr_groups{$group})) {
+ $r->print(&mt('"[_1]" is not the name of a valid group in this [_2].',
+ $group,lc($crstype)));
+ $badinput = 1;
+ }
+ }
+ if ($badinput) {
return OK;
- }
+ }
&Apache::lonhtmlcommon::clear_breadcrumbs();
@@ -95,7 +108,7 @@ sub handler {
my $editgrps = &Apache::lonnet::allowed('mdg',$env{'request.course.id'});
if ((!$can_view) && (!$view_details) && (!$viewgrps) && (!$editgrps)) {
- $r->print(&mt('You do not have privileges to view the membership roster in this [_1]',$gpterm));
+ $r->print(&mt('You do not have privileges to view the membership roster in this '.$gpterm.'.'));
return OK;
}
my %content = &Apache::longroup::get_group_settings($curr_groups{$group});
@@ -119,30 +132,43 @@ sub handler {
sub roster_header {
my ($cdom,$cnum,$group,$description,$gpterm,$ucgpterm) = @_;
my $refarg;
- if (exists($env{'form.ref'})) {
+ if (exists($env{'form.ref'}) && $env{'form.ref'} ne 'popup') {
$refarg = 'ref='.$env{'form.ref'};
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"/adm/coursegroups",
text=>"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|
function changeSort(caller) {
document.grouproster.sortby.value = caller;
document.grouproster.submit();
}\n|;
+ my $itemtitle = &mt('Group membership status - [_1]',$description);
my $output =
- &Apache::loncommon::start_page(&mt('[_1] Membership ',$ucgpterm),
+ &Apache::loncommon::start_page('Group Membership',
'');
- &Apache::lonhtmlcommon::add_breadcrumb
- ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg",
- text=>"$ucgpterm: $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));
+ $jscript.'',$args);
+ if ($env{'form.ref'} eq 'popup') {
+ $output .= '