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