--- loncom/interface/loncoursegroups.pm 2008/12/24 07:35:17 1.88
+++ loncom/interface/loncoursegroups.pm 2009/11/06 19:49:26 1.104
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: loncoursegroups.pm,v 1.88 2008/12/24 07:35:17 raeburn Exp $
+# $Id: loncoursegroups.pm,v 1.104 2009/11/06 19:49:26 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -54,7 +54,7 @@ sub handler {
if (! ($env{'request.course.fn'})) {
# Not in a course
$env{'user.error.msg'}=
- "/adm/coursegroups:mdg:0:0:Cannot edit or view course groups";
+ "/adm/coursegroups:mdg:0:0:Cannot edit or view course/community groups";
return HTTP_NOT_ACCEPTABLE;
}
@@ -75,10 +75,10 @@ sub handler {
my $crstype = &Apache::loncommon::course_type();
my %functions = (
- email => 'Send Messages',
+ email => 'Send Messages',
discussion => 'Discussion Boards',
- chat => 'Chat',
- files => 'File Repository',
+ chat => 'Chat Room',
+ files => 'Group Portfolio',
roster => 'Membership Roster',
homepage => $ucgpterm.' home page',
);
@@ -141,7 +141,7 @@ function openGroupRoster(group,status) {
rosterbrowser = open(url,title,options,'1');
rosterbrowser.focus();
}\n|;
- $r->print(&header('Groups',$jscript,$action,$state));
+ $r->print(&header('My Space',$jscript,$action,$state));
if ($env{'form.refpage'} eq 'cusr') {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"/adm/createuser",
@@ -537,7 +537,7 @@ sub group_administration {
if (ref($stored{'autorole'}) eq 'ARRAY') {
foreach my $role (@{$stored{'autorole'}}) {
- unless ($role eq 'cc') {
+ unless (($role eq 'cc') || ($role eq 'co')) {
$elements{'modify'}{'change_settings'}{'sec_'.$role} =
'selectbox';
}
@@ -785,7 +785,7 @@ sub group_administration {
}
var maxposs = '.sprintf("%.2f",$maxposs).';
if (newquota > maxposs) {
- alert("The file repository quota you entered for this group ("+newquota+" Mb) exceeds the maximum possible ("+maxposs+" Mb). Please enter a smaller number.");
+ alert("The group portfolio quota you entered for this group ("+newquota+" Mb) exceeds the maximum possible ("+maxposs+" Mb). Please enter a smaller number.");
return;
}
var re_quota = '.$float_check.';
@@ -804,7 +804,7 @@ sub group_administration {
}
}
if (warn_zero == 1) {
- alert("You have indicated that the file repository 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 respository quota to 0 Mb.\nThis will prevent any upload of files.\nPlease set a value or disable the repository feature.");
return;
}
}
@@ -915,11 +915,11 @@ function changeSort(caller) {
result => 'Re-enabled'
);
my %navbuttons = &Apache::lonlocal::texthash(
- gtns => 'Go to next step',
- gtps => 'Go to previous step',
+ gtns => 'Next',#'Go to next step',
+ gtps => 'Back',#'Go to previous step',
crgr => 'Create '.$gpterm,
- mose => 'Modify settings',
- gtpp => 'Go to previous page',
+ mose => 'Save',#'Modify settings',
+ gtpp => 'Back',#'Go to previous page',
adme => 'Add members',
);
if ((($action eq 'create') || ($action eq 'modify') || ($action eq 'delete') || ($action eq 'reenable')) &&
@@ -1086,7 +1086,7 @@ sub display_control {
&add_members_form($r,$cdom,$cnum,$action,$state,$page,$startdate,
$enddate,$groupname,$description,$granularity,
$quota,$sectioncount,$tools,$functions,$stored,
- $states,$navbuttons,$gpterm,$ucgpterm);
+ $states,$navbuttons,$gpterm,$ucgpterm,$crstype);
} elsif ($state eq 'pick_members') {
&choose_members_form($r,$cdom,$cnum,$action,$state,$page,
$groupname,$description,$granularity,$quota,
@@ -1119,31 +1119,36 @@ sub display_control {
my %stored = &retrieve_settings($cdom,$cnum,$groupname,$action);
if ($state eq 'verify') {
&verify_delete($r,$groupname,$state,$action,$page,$states,
- \%stored);
+ \%stored,$crstype);
} elsif ($state eq 'result') {
- &delete_group($r,$cdom,$cnum,$groupname);
+ &delete_group($r,$cdom,$cnum,$groupname,$crstype);
}
} elsif ($action eq 'reenable') {
my %stored = &retrieve_settings($cdom,$cnum,$groupname,$action);
if ($state eq 'verify') {
&verify_reenable($r,$groupname,$state,$action,$page,$states,
- \%stored);
+ \%stored,$crstype);
} elsif ($state eq 'result') {
- &reenable_group($r,$cdom,$cnum,$groupname);
+ &reenable_group($r,$cdom,$cnum,$groupname,$crstype);
}
}
}
sub verify_delete {
- my ($r,$groupname,$formname,$action,$page,$states,$stored) = @_;
+ my ($r,$groupname,$formname,$action,$page,$states,$stored,$crstype) = @_;
$r->print(&Apache::lonhtmlcommon::echo_form_input([]));
$r->print(&mt('You have requested deletion of the group [_1].'
,''.$stored->{'description'}.'').
'
'.&mt('When a group is deleted the following occurs:').'
'.
'
'.&mt('All group membership is terminated.').'
'.
- '
'.&mt('The group ceases to be available either for viewing or for modification of group settings and membership.').'
'.
- '
'.&mt('The group folder is removed from the folder containing it - normally this is the "Course Groups" folder which contains folders for all groups in the course.').'
'.
- '
'.&mt('Although a deleted group is no longer accessible, the group name used for the group will be reserved, and will not be available for assignment to a new group in the same course in the future.'));
+ '
'.&mt('The group ceases to be available either for viewing or for modification of group settings and membership.').'
');
+ if ($crstype eq 'Community') {
+ $r->print( '
'.&mt("The group folder is removed from the folder containing it - normally this is the 'Community Groups' folder which contains folders for all groups in the community.").'
'.
+ ''.&mt("Although a deleted group is no longer accessible, the group name used for the group will be reserved, and will not be available for assignment to a new group in the same community in the future."));
+ } else {
+ $r->print( '
'.&mt("The group folder is removed from the folder containing it - normally this is the 'Course Groups' folder which contains folders for all groups in the course.").'
'.
+ ''.&mt("Although a deleted group is no longer accessible, the group name used for the group will be reserved, and will not be available for assignment to a new group in the same course in the future."));
+ }
my $prevtext = &mt('Go back');
my $nexttext = &mt('Delete group');
my $prev;
@@ -1156,7 +1161,7 @@ sub verify_delete {
}
sub delete_group {
- my ($r,$cdom,$cnum,$groupname) = @_;
+ my ($r,$cdom,$cnum,$groupname,$crstype) = @_;
my %membership = &Apache::lonnet::get_group_membership($cdom,$cnum,
$groupname);
my $now = time;
@@ -1198,22 +1203,24 @@ sub delete_group {
.&mt('Group deletion failed because deletion of [_1] out of [_2] members failed.'
,$num_fail,$num_users)
.'');
-
} else {
my ($result,$message) =
&Apache::lonnet::toggle_coursegroup_status($cdom,$cnum,
$groupname,'delete');
if ($result eq 'ok') {
- my $outcome = &modify_folders($cdom,$cnum,$groupname);
+ my $outcome = &modify_folders($cdom,$cnum,$groupname,$crstype);
if ($outcome eq '') {
$r->print('
'
.&mt('Group successfully deleted.')
.'
');
} else {
- $r->print('
'
- .&mt("Although the group was deleted, an error occurred when removing"
- ." the group's folder from the 'Course Groups' folder: [_1]",$outcome)
- .'
');
+ $r->print('
');
+ if ($crstype eq 'Comunity') {
+ $r->print(&mt("Although the group was deleted, an error occurred when removing the group's folder from the 'Community Groups' folder: [_1]",$outcome));
+ } else {
+ $r->print(&mt("Although the group was deleted, an error occurred when removing the group's folder from the 'Course Groups' folder: [_1]",$outcome));
+ }
+ $r->print('
');
}
} else {
$r->print('
'
@@ -1225,11 +1232,16 @@ sub delete_group {
}
sub reenable_folder {
- my ($cdom,$cnum,$groupname,$description) = @_;
+ my ($cdom,$cnum,$groupname,$description,$crstype) = @_;
my $outcome;
my $crspath = '/uploaded/'.$cdom.'/'.$cnum.'/';
my $allgrpsmap = $crspath.'group_allfolders.sequence';
- my $foldertitle = &mt('Course Folder -[_1]',$description);
+ my $foldertitle;
+ if ($crstype eq 'Community') {
+ $foldertitle = &mt("Community Folder -[_1]",$description);
+ } else {
+ $foldertitle = &mt("Course Folder -[_1]",$description);
+ }
my $mapurl = $crspath.'group_folder_'.
$groupname.'.sequence';
my ($errtext,$fatal)=&LONCAPA::map::mapread($allgrpsmap);
@@ -1258,14 +1270,19 @@ sub reenable_folder {
}
sub modify_folders {
- my ($cdom,$cnum,$groupname) = @_;
+ my ($cdom,$cnum,$groupname,$crstype) = @_;
my ($outcome,$groupmap,$groupmapres,$map,$id,$src);
my $navmap = Apache::lonnavmaps::navmap->new();
if (!defined($navmap)) {
- $outcome = '
'.
- &mt('Error reading course contents.').' '.
- &mt('You need to re-initialize the course.').
- '
';
+ $outcome = '
';
+ if ($crstype eq 'Community') {
+ $outcome .= &mt("Error reading community contents.").' '.
+ &mt("You need to re-initialize the community.");
+ } else {
+ $outcome .= &mt("Error reading course contents.").' '.
+ &mt("You need to re-initialize the course.");
+ }
+ $outcome .= '
';
return $outcome;
}
$groupmap = '/uploaded/'.$cdom.'/'.$cnum.'/'.'group_folder_'.
@@ -1320,13 +1337,18 @@ sub modify_folders {
}
sub verify_reenable {
- my ($r,$groupname,$formname,$action,$page,$states,$stored) = @_;
+ my ($r,$groupname,$formname,$action,$page,$states,$stored,$crstype) = @_;
$r->print(&Apache::lonhtmlcommon::echo_form_input([]));
$r->print(&mt('You have requested enabling the previously deleted group [_1].'
,''.$stored->{'description'}.'').
'
'.&mt('When a deleted group is re-enabled the following occurs:').'
'.
- '
'.&mt('Group settings and membership at the time the group was deleted are reinstated.').'
'.
- '
'.&mt('A group folder is added to the "Course Groups" folder which contains folders for all groups in the course.').'
');
+ '
'.&mt('Group settings and membership at the time the group was deleted are reinstated.').'
');
+ if ($crstype eq 'Community') {
+ $r->print(&mt("A group folder is added to the 'Community Groups' folder which contains folders for all groups in the community."));
+ } else {
+ $r->print(&mt("A group folder is added to the 'Course Groups' folder which contains folders for all groups in the course."));
+ }
+ $r->print('
');
my $prevtext = &mt('Go back');
my $nexttext = &mt('Reenable group');
my $prev;
@@ -1339,7 +1361,7 @@ sub verify_reenable {
}
sub reenable_group {
- my ($r,$cdom,$cnum,$groupname) = @_;
+ my ($r,$cdom,$cnum,$groupname,$crstype) = @_;
my %groups =
&Apache::longroup::coursegroups($cdom,$cnum,$groupname,
'deleted_groups');
@@ -1413,15 +1435,19 @@ $context) eq 'ok') {
.&mt('There were no group members to reinstate, as none were removed when the group was deleted.')
.'
');
}
- my $outcome = &reenable_folder($cdom,$cnum,$groupname,$description);
+ my $outcome = &reenable_folder($cdom,$cnum,$groupname,$description,$crstype);
if ($outcome eq '') {
$r->print('
'
.&mt('Group successfully re-enabled.')
.'
');
} else {
- $r->print('
'
- .&mt("Although the group was re-enabled, an error occurred when adding the group's folder to the 'Course Groups' folder: [_1]",$outcome)
- .'
');
+ $r->print('
');
+ if ($crstype eq 'Comunity') {
+ $r->print(&mt("Although the group was re-enabled, an error occurred when adding the group's folder to the 'Community Groups' folder: [_1]",$outcome));
+ } else {
+ $r->print(&mt("Although the group was re-enabled, an error occurred when adding the group's folder to the 'Course Groups' folder: [_1]",$outcome));
+ }
+ $r->print('
');
}
} else {
$r->print('
'
@@ -1440,7 +1466,7 @@ sub header {
{'add_entries' => $loaditems,});
my $output = <<"END";
$start_page
-