[LON-CAPA-cvs] cvs: loncom /interface loncreateuser.pm
raeburn
raeburn@source.lon-capa.org
Sun, 08 Feb 2009 20:01:54 -0000
raeburn Sun Feb 8 20:01:54 2009 EDT
Modified files:
/loncom/interface loncreateuser.pm
Log:
Work on ability of individual users to request creation of (a) official courses,
and (b) unofficial courses.
"requestcourse" switched to "requestcourses" for consistency.
- When setting availability to default, need to call lonnet::usertools_access() with $action set to 'reload' to get value to set $env{'environment.canrequest.$type} to.
- Same applies to 'availabletools for portfolio, blog, aboutme.
Index: loncom/interface/loncreateuser.pm
diff -u loncom/interface/loncreateuser.pm:1.278 loncom/interface/loncreateuser.pm:1.279
--- loncom/interface/loncreateuser.pm:1.278 Thu Feb 5 17:15:04 2009
+++ loncom/interface/loncreateuser.pm Sun Feb 8 20:01:54 2009
@@ -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 @@
'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 @@
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) {
$r->print('<h3>'.&mt('User Can Request Creation of Courses?').'</h3>'.
&Apache::loncommon::start_data_table().
- &build_tools_display($ccuname,$ccdomain,'requestcourse').
+ &build_tools_display($ccuname,$ccdomain,'requestcourses').
&Apache::loncommon::end_data_table());
}
$r->print('</div>');
@@ -1851,12 +1851,10 @@
\%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 @@
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 @@
}
&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 @@
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 @@
} 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 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 @@
&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('<p>'.&mt('The following were enrolled in the course:').'<ul>');
foreach my $user (@enrolled) {