--- loncom/interface/loncoursegroups.pm 2006/07/07 20:31:09 1.45 +++ loncom/interface/loncoursegroups.pm 2006/07/07 21:04:57 1.47 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursegroups.pm,v 1.45 2006/07/07 20:31:09 albertel Exp $ +# $Id: loncoursegroups.pm,v 1.47 2006/07/07 21:04:57 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -968,18 +968,17 @@ sub display_control { $rowColor2,$gpterm,$ucgpterm,$crstype) = @_; if ($action eq 'create') { if ($state eq 'pick_name') { - &general_settings_form($r,$cdom,$cnum,$action,$tabcol,$state,$page, + &general_settings_form($r,$cdom,$cnum,$action,$state,$page, $functions,$tools,$toolprivs,$fixedprivs, $sectioncount,$stored,$states,$navbuttons, - $rowColor1,$rowColor2,$gpterm,$ucgpterm, - $crstype); + $gpterm,$ucgpterm,$crstype); } elsif ($state eq 'pick_members') { - &choose_members_form($r,$cdom,$cnum,$tabcol,$action,$state,$page, + &choose_members_form($r,$cdom,$cnum,$action,$state,$page, $groupname,$description,$granularity,$quota, $startdate,$enddate,$tools,$fixedprivs, $toolprivs,$functions,$users,$userdata,$idx, - $stored,$states,$navbuttons,$rowColor1, - $rowColor2,$gpterm,$ucgpterm,$crstype); + $stored,$states,$navbuttons,$gpterm,$ucgpterm, + $crstype); } elsif ($state eq 'pick_privs') { &choose_privs_form($r,$cdom,$cnum,$action,$state,$page, $startdate,$enddate,$tools,$functions, @@ -1003,11 +1002,10 @@ sub display_control { } elsif ($state eq 'pick_task') { &modify_menu($r,$groupname,$page,$gpterm); } elsif ($state eq 'change_settings') { - &general_settings_form($r,$cdom,$cnum,$action,$tabcol,$state,$page, + &general_settings_form($r,$cdom,$cnum,$action,$state,$page, $functions,$tools,$toolprivs,$fixedprivs, $sectioncount,$stored,$states,$navbuttons, - $rowColor1,$rowColor2,$gpterm,$ucgpterm, - $crstype); + $gpterm,$ucgpterm,$crstype); } elsif ($state eq 'change_members') { &change_members_form($r,$cdom,$cnum,$tabcol,$action,$state,$page, $groupname,$description,$startdate,$enddate, @@ -1016,24 +1014,23 @@ sub display_control { $idx,$states,$navbuttons,$rowColor1,$rowColor2, $gpterm,$ucgpterm); } elsif ($state eq 'add_members') { - &add_members_form($r,$tabcol,$action,$state,$page,$startdate, + &add_members_form($r,$action,$state,$page,$startdate, $enddate,$groupname,$description,$granularity, $quota,$sectioncount,$tools,$functions,$stored, - $states,$navbuttons,$rowColor1,$rowColor2,$gpterm, - $ucgpterm); + $states,$navbuttons,$gpterm,$ucgpterm); } elsif ($state eq 'pick_members') { - &choose_members_form($r,$cdom,$cnum,$tabcol,$action,$state,$page, + &choose_members_form($r,$cdom,$cnum,$action,$state,$page, $groupname,$description,$granularity,$quota, $startdate,$enddate,$tools,$fixedprivs, $toolprivs,$functions,$users,$userdata,$idx, - $stored,$states,$navbuttons,$rowColor1, - $rowColor2,$gpterm,$ucgpterm,$crstype); + $stored,$states,$navbuttons,$gpterm,$ucgpterm, + $crstype); } elsif ($state eq 'pick_privs') { - &choose_privs_form($r,$cdom,$cnum,$tabcol,$action,$state,$page, + &choose_privs_form($r,$cdom,$cnum,$action,$state,$page, $startdate,$enddate,$tools,$functions, $toolprivs,$fixedprivs,$userdata,$usertools, $idx,$states,$stored,$sectioncount,$navbuttons, - $rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype); + $gpterm,$ucgpterm,$crstype); } elsif ($state eq 'change_privs') { &change_privs_form($r,$cdom,$cnum,$action,$state,$page, $startdate,$enddate,$tools,$functions, @@ -1167,16 +1164,19 @@ sub group_members { if ($totalmembers == 0) { $$group_info{$group}{'totalmembers'} = 'None'; } else { - $$group_info{$group}{'totalmembers'} = $active.' - active
'.$previous.' -previous
'.$future.' -future'; + $$group_info{$group}{'totalmembers'} = ''.$active. + ' - active
'.$previous. + ' - previous
'.$future. + ' - future'; } return 'ok'; } sub general_settings_form { - my ($r,$cdom,$cnum,$action,$tabcol,$formname,$page,$functions,$tools, + my ($r,$cdom,$cnum,$action,$formname,$page,$functions,$tools, $toolprivs,$fixedprivs,$sectioncount,$stored,$states,$navbuttons, - $rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype) = @_; + $gpterm,$ucgpterm,$crstype) = @_; my ($nexttext,$prevtext); &groupsettings_options($r,$functions,$action,$formname,$stored,1, $gpterm,$ucgpterm,$crstype); @@ -1190,9 +1190,9 @@ sub general_settings_form { my @unavailable = (); &check_tools($functions,$tools,\@available,\@unavailable); @{$tools} = sort(keys(%{$functions})); - &privilege_specificity($r,$tabcol,$rowColor1,$rowColor2,$action, - 3,$tools,$stored,$toolprivs,$fixedprivs, - \@available,$formname,$gpterm,$ucgpterm); + &privilege_specificity($r,$action,3,$tools,$stored,$toolprivs, + $fixedprivs,\@available,$formname, + $gpterm,$ucgpterm); &mapping_options($r,$action,$formname,$page,$sectioncount, $states,$stored,$navbuttons,4,5, $gpterm,$ucgpterm,$crstype); @@ -1439,10 +1439,10 @@ sub access_date_settings { } sub choose_members_form { - my ($r,$cdom,$cnum,$tabcol,$action,$formname,$page,$groupname,$description, + my ($r,$cdom,$cnum,$action,$formname,$page,$groupname,$description, $granularity,$quota,$startdate,$enddate,$tools,$fixedprivs,$toolprivs, $functions,$users,$userdata,$idx,$stored,$states,$navbuttons, - $rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype) = @_; + $gpterm,$ucgpterm,$crstype) = @_; my @regexps = ('user_','userpriv_','sec_'); my %origmembers; $r->print(&Apache::lonhtmlcommon::echo_form_input( @@ -1452,7 +1452,7 @@ sub choose_members_form { my $earlyout = &validate_groupname($groupname,$action,$cdom,$cnum,$gpterm, $ucgpterm,$crstype); if ($earlyout) { - $r->print($earlyout) + $r->print($earlyout); &display_navbuttons($r,$formname,$$states{$action}[$page-1], $$navbuttons{'gtps'}); return; @@ -1484,8 +1484,7 @@ sub choose_members_form { } } } - &privilege_specificity($r,$tabcol,$rowColor1,$rowColor2,$action, - $specimg,$tools,$stored,$toolprivs, + &privilege_specificity($r,$action,$specimg,$tools,$stored,$toolprivs, $fixedprivs,\@available,$formname,$gpterm,$ucgpterm); my $newusers = &pick_new_members($r,$action,$formname,\@available,$idx, $stored,$memimg,$users,$userdata, @@ -1769,8 +1768,8 @@ sub pick_new_members { } sub privilege_specificity { - my ($r,$tabcol,$rowColor1,$rowColor2,$action,$img,$tools,$stored, - $toolprivs,$fixedprivs,$available,$formname,$gpterm,$ucgpterm) = @_; + my ($r,$action,$img,$tools,$stored,$toolprivs,$fixedprivs,$available, + $formname,$gpterm,$ucgpterm) = @_; my %lt = &Apache::lonlocal::texthash ( 'uprv' => 'User privileges', 'frty' => 'For each type of functionality you have chosen to include, '. @@ -2365,9 +2364,9 @@ sub change_privs_form { } sub add_members_form { - my ($r,$tabcol,$action,$formname,$page,$startdate,$enddate,$groupname, + my ($r,$action,$formname,$page,$startdate,$enddate,$groupname, $description,$granularity,$quota,$sectioncount,$tools,$functions, - $stored,$states,$navbuttons,$rowColor1,$rowColor2,$gpterm,$ucgpterm)=@_; + $stored,$states,$navbuttons,$gpterm,$ucgpterm)=@_; $r->print('
'); my @available = (); my @unavailable = (); @@ -3284,23 +3283,23 @@ sub add_group_folder { my ($outcome,$allgrpsmap,$grpmap,$boardsmap,$grppage); my $navmap = Apache::lonnavmaps::navmap->new(); my $crspath = '/uploaded/'.$cdom.'/'.$cnum.'/'; - $allgrpsmap = $crspath.'default_0.sequence'; + $allgrpsmap = $crspath.'group_allfolders.sequence'; my $topmap = $navmap->getResourceByUrl($allgrpsmap); undef($navmap); if ($action eq 'create') { - # check if default_0.sequence exists. + # check if group_allfolders.sequence exists. if (!$topmap) { my $grpstitle = &mt('[_1] [_2]',$crstype,$ucgpterm); my $topmap_url = '/'.$env{'course.'.$env{'request.course.id'}.'.url'}; $topmap_url =~ s|/+|/|g; if ($topmap_url =~ m|^/uploaded|) { - $outcome = &map_updater($cdom,$cnum,'default_0.sequence', + $outcome = &map_updater($cdom,$cnum,'group_allfolders.sequence', 'toplevelgroup',$grpstitle,$topmap_url); if ($outcome ne 'ok') { return $outcome; } } else { - $outcome = &mt('Non-standard course - group folder not added.'); + $outcome = &mt('Non-standard course - folder for all groups not added.'); return $outcome; } } @@ -3308,7 +3307,7 @@ sub add_group_folder { $grppage='/adm/'.$cdom.'/'.$cnum.'/'.$groupname.'/grppg'; my $grptitle = &mt('Group homepage').' - '.$description; my ($seqid,$discussions,$disctitle); - my $outcome = &map_updater($cdom,$cnum,'default_'.$now.'.sequence', + my $outcome = &map_updater($cdom,$cnum,'group_folder_'.$groupname.'.sequence', 'grpseq',$grpfolder,$allgrpsmap,$grppage, $grptitle); if ($outcome ne 'ok') { @@ -3317,16 +3316,16 @@ sub add_group_folder { my $pageout = &create_homepage($cdom,$cnum,$groupname,$groupinfo, $tools,$gpterm,$ucgpterm,$now); # Link to folder for bulletin boards - $grpmap = $crspath.'default_'.$now.'.sequence'; + $grpmap = $crspath.'group_folder_'.$groupname.'.sequence'; if (grep/^discussion$/,@{$tools}) { $seqid = $now + 1; $disctitle = &mt('Discussion Boards'); - my $outcome = &map_updater($cdom,$cnum,'default_'.$seqid. + my $outcome = &map_updater($cdom,$cnum,'group_boards_'.$groupname. '.sequence','bbseq',$disctitle,$grpmap); if ($outcome ne 'ok') { return $outcome; } - $boardsmap = $crspath.'default_'.$seqid.'.sequence'; + $boardsmap = $crspath.'group_boards_'.$groupname.'.sequence'; } } else { #modify group folder if status of discussions tools is changed