--- loncom/interface/loncoursegroups.pm 2006/07/20 22:17:14 1.55
+++ loncom/interface/loncoursegroups.pm 2006/07/21 02:46:51 1.56
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: loncoursegroups.pm,v 1.55 2006/07/20 22:17:14 raeburn Exp $
+# $Id: loncoursegroups.pm,v 1.56 2006/07/21 02:46:51 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2808,7 +2808,47 @@ sub write_group_data {
$r->print(&mt('A problem occurred when creating folders for the new [_1]. [_2].
',$gpterm,$result));
}
$r->print(&mt('[_1] [_2] was created.
',$ucgpterm,$groupname));
- } else {
+ } elsif ($action eq 'modify') {
+ my (@oldtools,@newtools);
+ if (ref($$stored{'tool'}) eq 'ARRAY') {
+ @oldtools = @{$$stored{'tool'}};
+ }
+ if (ref($tools) eq 'ARRAY') {
+ @newtools = @{$tools};
+ }
+ if (!grep(/^discussion$/,@oldtools) &&
+ grep(/^discussion$/,@newtools)) {
+ my $crspath = '/uploaded/'.$cdom.'/'.$cnum.'/';
+ my $boardsmap = $crspath.'group_boards_'.$groupname.'.sequence';
+ my $navmap = Apache::lonnavmaps::navmap->new();
+ my $bbmapres = $navmap->getResourceByUrl($boardsmap);
+ undef($navmap);
+ if (!$bbmapres) {
+ my $grpmap = $crspath.'group_folder_'.$groupname.'.sequence';
+ my $disctitle = &mt('Discussion Boards');
+ my $outcome = &map_updater($cdom,$cnum,'group_boards_'.
+ $groupname.'.sequence','bbseq',
+ $disctitle,$grpmap);
+ my ($furl,$ferr) =
+ &Apache::lonuserstate::readmap($cdom.'/'.$cnum);
+ $navmap = Apache::lonnavmaps::navmap->new();
+ # modify parameter
+ if ($outcome eq 'ok') {
+ my $parm_result = &parm_setter($navmap,$cdom,$boardsmap,
+ $groupname);
+ if ($parm_result) {
+ $r->print(&mt('Error while setting parameters '.
+ 'for Discussion Boards folder: '.
+ '[_1]
.',$parm_result));
+ } else {
+ $r->print(&mt('Discussion Boards Folder created.
'));
+ }
+ } else {
+ $r->print($outcome);
+ }
+ undef($navmap);
+ }
+ }
$r->print(&mt('[_1] [_2] was updated.
',$ucgpterm,$groupname));
}
} else {