--- loncom/interface/loncreateuser.pm 2009/02/05 17:15:04 1.278 +++ loncom/interface/loncreateuser.pm 2009/02/08 20:01:54 1.279 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.278 2009/02/05 17:15:04 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.279 2009/02/08 20:01:54 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -227,9 +227,9 @@ sub build_tools_display { 'official' => 'Can request creation of official courses', 'unofficial' => 'Can request creation of unofficial courses', ); - if ($context eq 'requestcourse') { + if ($context eq 'requestcourses') { %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, - 'requestcourse.official','requestcourse.unofficial'); + 'requestcourses.official','requestcourses.unofficial'); @usertools = ('official','unofficial'); } else { %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, @@ -870,7 +870,7 @@ ENDCHANGEUSER if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { $r->print('

'.&mt('User Can Request Creation of Courses?').'

'. &Apache::loncommon::start_data_table(). - &build_tools_display($ccuname,$ccdomain,'requestcourse'). + &build_tools_display($ccuname,$ccdomain,'requestcourses'). &Apache::loncommon::end_data_table()); } $r->print(''); @@ -1851,12 +1851,10 @@ sub update_user_data { \%changeHash,'tools'); } } - if (&Apache::lonnet::allowed('ccc',$env{'request.domain'})) { - foreach my $item (@requestcourses) { - $newcustom{$item} = $env{'form.requestcourse_'.$item}; - $changed{$item} = &tool_admin($item,$newcustom{$item}, - \%changeHash,'requestcourse'); - } + foreach my $item (@requestcourses) { + $newcustom{$item} = $env{'form.requestcourses_'.$item}; + $changed{$item} = &tool_admin($item,$newcustom{$item}, + \%changeHash,'requestcourses'); } if (keys(%changed)) { $changeHash{'firstname'} = $env{'form.cfirstname'}; @@ -1902,8 +1900,8 @@ sub update_user_data { my %userenv = &Apache::lonnet::get ('environment',['firstname','middlename','lastname','generation', 'id','permanentemail','portfolioquota','inststatus','tools.aboutme', - 'tools.blog','tools.portfolio','requestcourse.official', - 'requestcourse.unofficial'], + 'tools.blog','tools.portfolio','requestcourses.official', + 'requestcourses.unofficial'], $env{'form.ccdomain'},$env{'form.ccuname'}); my ($tmp) = keys(%userenv); if ($tmp =~ /^(con_lost|error)/i) { @@ -2084,7 +2082,7 @@ sub update_user_data { } &tool_changes('tools',\@usertools,\%oldaccess,\%oldaccesstext,\%userenv, \%changeHash,\%changed,\%newaccess,\%newaccesstext); - &tool_changes('requestcourse',\@requestcourses,\%oldaccess,\%oldaccesstext, + &tool_changes('requestcourses',\@requestcourses,\%oldaccess,\%oldaccesstext, \%userenv, \%changeHash,\%changed,\%newaccess,\%newaccesstext); if ($env{'form.cfirstname'} ne $userenv{'firstname'} || $env{'form.cmiddlename'} ne $userenv{'middlename'} || @@ -2112,16 +2110,26 @@ sub update_user_data { my %newenvhash; foreach my $key (keys(%changed)) { if (($key eq 'official') || ($key eq 'unofficial')) { - $newenvhash{'environment.canrequest.'.$key} = - $changeHash{'requestcourse.'.$key}; - $newenvhash{'environment.canrequest.'.$key} = - $changeHash{'requestcourse.'.$key}; - + $newenvhash{'environment.requestcourses.'.$key} = + $changeHash{'requestcourses.'.$key}; + if ($changeHash{'requestcourses.'.$key} ne '') { + $newenvhash{'environment.canrequest.'.$key} = + $changeHash{'requestcourses.'.$key}; + } else { + $newenvhash{'environment.canrequest.'.$key} = + &Apache::lonnet::usertools_access($env{'user.name'},$env{'user.domain'}, + $key,'reload','requestcourses'); + } } elsif ($key ne 'quota') { $newenvhash{'environment.tools.'.$key} = $changeHash{'tools.'.$key}; - $newenvhash{'environment.availabletools.'.$key} = - $changeHash{'tools.'.$key}; + if ($changeHash{'tools.'.$key} ne '') { + $newenvhash{'environment.availabletools.'.$key} = + $changeHash{'tools.'.$key}; + } else { + $newenvhash{'environment.availabletools.'.$key} = + &Apache::lonnet::usertools_access($env{'user.name'},$env{'user.domain'}, $key,'reload','tools'); + } } } if (keys(%newenvhash)) { @@ -2397,9 +2405,9 @@ sub tool_changes { } else { $oldaccesstext->{$tool} = &mt("availability set to 'off'"); } - $changeHash->{$context.'.'.$tool} = $userenv->{'tools.'.$tool}; + $changeHash->{$context.'.'.$tool} = $userenv->{$context.'.'.$tool}; if ($env{'form.custom'.$tool} == 1) { - if ($env{'form.'.$context.'_'.$tool} ne $userenv->{'tools.'.$tool}) { + if ($env{'form.'.$context.'_'.$tool} ne $userenv->{$context.'.'.$tool}) { $changed->{$tool} = &tool_admin($tool,$env{'form.'.$context.'_'.$tool}, $changeHash,$context); if ($changed->{$tool}) { @@ -2823,7 +2831,7 @@ sub quota_admin { sub tool_admin { my ($tool,$settool,$changeHash,$context) = @_; my $canchange = 0; - if ($context eq 'requestcourse') { + if ($context eq 'requestcourses') { if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { $canchange = 1; } @@ -4239,7 +4247,7 @@ sub update_selfenroll_queue { &Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'}).' ('.$env{'user.name'}.':'.$env{'user.domain'}.')'; my $chgmsg = "'Action was taken on the following enrollment requests by [_1].',$namelink"; my ($approvedlist,$rejectedlist); - if (@enrolled) { + if (@enrolled) { $approvedlist = join("\n",@enrolled); $r->print('

'.&mt('The following were enrolled in the course:').'