--- loncom/interface/loncoursegroups.pm 2014/02/27 11:16:06 1.124
+++ loncom/interface/loncoursegroups.pm 2017/03/19 17:59:15 1.127.2.1
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: loncoursegroups.pm,v 1.124 2014/02/27 11:16:06 bisitz Exp $
+# $Id: loncoursegroups.pm,v 1.127.2.1 2017/03/19 17:59:15 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -37,6 +37,7 @@ use Apache::lonnavmaps();
use Apache::longroup();
use Apache::portfolio();
use Apache::Constants qw(:common :http);
+use HTML::Entities;
use LONCAPA::map();
use lib '/home/httpd/lib/perl/';
use LONCAPA;
@@ -135,7 +136,7 @@ function changeSort(caller) {
}
function openGroupRoster(group,status) {
var url = '/adm/grouproster?';
- url += 'group='+group+'&status='+status+'&ref=popup';
+ url += 'group='+group+'&status='+status+'&ref=popup';
var title = 'Group_Membership';
var options = 'scrollbars=1,resizable=1,menubar=0';
options += ',width=700,height=600';
@@ -169,13 +170,13 @@ sub display_groups {
my %curr_groups = ();
my %grp_info = ();
my %actionlinks = (
- modify => ' ' '/adm/coursegroups?action=modify&refpage='.
+ $env{'form.refpage'}.'&state=pick_task&groupname=',
+ view => '',
+ delete => '/adm/coursegroups?action=delete&refpage='.
+ $env{'form.refpage'}.'&state=verify&groupname=',
+ reenable => '/adm/coursegroups?action=reenable&refpage='.
+ $env{'form.refpage'}.'&state=verify&groupname=',
);
my %lt = &Apache::lonlocal::texthash(
modify => 'Modify',
@@ -226,7 +227,7 @@ sub display_groups {
if (!defined($navmap)) {
$r->print(''.
&mt('An error occurred retrieving information about resources in the course.').'
'.
- &mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','
','').
+ &mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','
','').
'
');
return;
}
@@ -249,7 +250,7 @@ sub display_groups {
$lt{'crea'} |
$lt{'crtd'} |
$lt{'last'} |
- $lt{'func'}
+ | $lt{'func'} |
$lt{'quot'} |
$lt{'memb'} |
$lt{'file'} |
@@ -328,25 +329,30 @@ END
if (!$functionality) {
$functionality = &mt('None available');
}
- my $link = $actionlinks{$action};
+ my $link;
if ($action eq 'modify' || $action eq 'delete' ||
$action eq 'reenable') {
- $link .= $group;
+ $link = ''.$lt{$action}.'';
} else {
- $link .=
- &Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap);
- $link .= (($link=~/\?/)?'&':'?').'ref=grouplist';
- if (exists($env{'form.refpage'})) {
- $link .= '&refpage='.$env{'form.refpage'};
+ $link =
+ &Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap);
+ if ($link) {
+ $link = ''.$lt{$action}.'';
}
}
- $link .= '">'.$lt{$action}.'';
if ($action eq 'view') {
if ($manage_permission) {
- $link .= ' '.$actionlinks{'modify'}.
- $group.'">'.$lt{'modify'}.''.
- ' '.$actionlinks{'delete'}.
- $group.'">'.$lt{'delete'}.'';
+ $link .= ' '.$lt{'modify'}.' '.$lt{'delete'}.'';
}
}
$r->print(&Apache::loncommon::start_data_table_row('LC_data_table_dense').
@@ -401,7 +407,7 @@ END
if (!defined($navmap)) {
$r->print(''.
&mt('An error occurred retrieving information about resources in the course.').'
'.
- &mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','
','').
+ &mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','
','').
'
');
return;
}
@@ -831,7 +837,7 @@ sub group_administration {
}
}
if (warn_zero == 1) {
- alert("You have indicated that the group portfolio should be enabled, but you have set the respository quota to 0 MB.\nThis will prevent any upload of files.\nPlease set a value or disable the repository feature.");
+ alert("You have indicated that the group portfolio should be enabled, but you have set the repository quota to 0 MB.\nThis will prevent any upload of files.\nPlease set a value or disable the repository feature.");
return;
}
}
@@ -897,7 +903,7 @@ function changeSort(caller) {
faq=>9,bug=>'Instructor Interface',});
if ($action eq 'modify' || $action eq 'delete') {
&Apache::lonhtmlcommon::add_breadcrumb
- ({href=>"/adm/coursegroups?refpage=cusr&action=$action",
+ ({href=>"/adm/coursegroups?refpage=cusr&action=$action",
text=>"Groups",
faq=>9,bug=>'Instructor Interface',});
}
@@ -1587,7 +1593,7 @@ sub group_members {
future => 0,
);
my $totalmembers = 0;
- foreach my $member (keys %memberhash) {
+ foreach my $member (keys(%memberhash)) {
$totalmembers ++;
my ($end,$start) = split(/:/,$memberhash{$member});
unless ($start == -1) {
@@ -1702,7 +1708,7 @@ sub groupsettings_options {
if ($remnum) {
$halfnum ++;
}
- my @allfunctions = sort(keys (%{$functions}));
+ my @allfunctions = sort(keys(%{$functions}));
$r->print(&Apache::lonhtmlcommon::row_title($lt{'func'})
.''
@@ -3503,7 +3509,7 @@ sub process_membership {
if (grep/^$user$/,@reenable) {
$start = $startdate;
$end = $enddate;
- $type = 'reenabled';
+ $type = 're-enabled';
}
}
if ($type eq '') {
@@ -3756,21 +3762,21 @@ sub modify_menu {
items => [
{ linktext => "Modify default $gpterm settings",
- url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_settings&branch=settings',
+ url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_settings&branch=settings',
icon => 'grp_settings.png',
alttext => "Modify default $gpterm settings",
permission => '1',
help => 'Course_Modify_Group',
},
{ linktext => 'Modify access, tools and privileges for members',
- url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_members&branch=members',
+ url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_members&branch=members',
icon => 'grp_tools.png',
alttext => 'Modify access, tools and privileges for members',
permission => '1',
help => 'Course_Modify_Group_Membership',
},
{ linktext => "Add member(s) to the $gpterm",
- url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=add_members&branch=adds',
+ url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=add_members&branch=adds',
icon => 'grp_add.png',
alttext => "Add member(s) to the $gpterm",
permission => '1',
@@ -4188,43 +4194,40 @@ sub validate_groupname {
}
my %lt = &Apache::lonlocal::texthash (
igna => "Invalid $gpterm name",
- tgne => "The $gpterm name entered ",
grna => "$ucgpterm names and section names used in a ".
"$crstype must be unique.",
- isno => "is not a valid name.",
gnmo => "$ucgpterm names may only contain letters, ".
"numbers or underscores.",
- cnnb => "can not be used as it is the name of ",
- inth => " in this $crstype",
- thgr => "- does not correspond to the name of an ".
- "existing $gpterm",
);
- my $exitmsg = ''.$lt{'igna'}.'
'.
- $lt{'tgne'}.' "'.$groupname.'" ';
- my $dupmsg = $lt{'grna'};
- my $earlyout;
+ my $exitmsg = ''.$lt{'igna'}.'
';
+ my $nameshown = &Apache::loncommon::cleanup_html($groupname);
if (($groupname eq '') || ($groupname =~ /\W/)) {
- $earlyout = $exitmsg.$lt{'isno'}.'
'.$lt{'gnmo'};
- return $earlyout;
+ return $exitmsg.
+ &mt("The $gpterm name entered '[_1]' is not a valid name.",$nameshown).
+ '
'.$lt{'gnmo'};
+ } elsif ($groupname eq 'syllabus') {
+ return $exitmsg.
+ &mt("The $gpterm name entered '[_1]' is reserved for use by LON-CAPA.",$nameshown);
}
if (exists($sectioncount{$groupname})) {
- return $exitmsg.$lt{'cnnb'}.&mt('a section').$lt{'inth'}.
- '
'.$lt{'grna'};
+ return $exitmsg.
+ &mt("The $gpterm name entered '[_1]' can not be used as it is the name of a section in this $crstype.",$nameshown).
+ '
'.$lt{'grna'};
}
if ($action eq 'create') {
if (exists($curr_groups{$groupname})) {
- return $exitmsg.$lt{'cnnb'}.&mt("an existing $gpterm").
- $lt{'inth'}.'.
'.$lt{'grna'};
+ return $exitmsg.
+ &mt("The $gpterm name entered '[_1]' can not be used as it is the name of an existing $gpterm in this $crstype.",$nameshown).
+ '
'.$lt{'grna'};
} elsif (exists($deleted_groups{$groupname})) {
- return $exitmsg.$lt{'cnnb'}.&mt("a $gpterm which previously existed").
- $lt{'inth'}.'.
'.$lt{'grna'};
+ return $exitmsg.
+ &mt("The $gpterm name entered '[_1]' can not be used as it is the name of a $gpterm which previously existed in this $crstype.",$nameshown).
+ '
'.$lt{'grna'};
}
} elsif ($action eq 'modify') {
unless(exists($curr_groups{$groupname})) {
- $earlyout = &mt("$ucgpterm name:").' '.$groupname.$lt{'thgr'}.
- $lt{'inth'};
- return $earlyout;
+ return &mt("$ucgpterm name: [_1] does not correspond to the name of an existing $gpterm in this $crstype.",$nameshown);
}
}
return;