--- loncom/auth/lonroles.pm 2012/07/21 21:09:03 1.269
+++ loncom/auth/lonroles.pm 2012/08/15 16:56:52 1.273
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.269 2012/07/21 21:09:03 raeburn Exp $
+# $Id: lonroles.pm,v 1.273 2012/08/15 16:56:52 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -225,6 +225,13 @@ sub handler {
$updateresult .= &update_session_roles();
&Apache::lonnet::appenv({'user.update.time' => $now});
$update = $now;
+ &Apache::loncoursequeueadmin::reqauthor_check();
+ }
+
+# -------------------------------------------------- Check for author requests
+ my $reqauthor;
+ if ($env{'form.requestauthor'}) {
+ $reqauthor = &Apache::loncoursequeueadmin::process_reqauthor(\$update);
}
my $envkey;
@@ -684,6 +691,12 @@ function setToUpdate(thisform) {
thisform.submit();
}
+function setToRequestAuthor(thisform) {
+ thisform.requestauthor.value='1';
+ thisform.selectrole.value='';
+ thisform.submit();
+}
+
// ]]>
ENDHEADER
@@ -750,7 +763,12 @@ ENDHEADER
&Apache::loncommon::end_page());
return OK;
} else {
- $r->print($updateresult);
+ if ($updateresult || $reqauthor) {
+ $r->print('
'.
+ $updateresult.
+ $reqauthor.
+ '
');
+ }
if (($ENV{'REDIRECT_QUERY_STRING'}) && ($fn)) {
$fn.='?'.$ENV{'REDIRECT_QUERY_STRING'};
}
@@ -778,6 +796,42 @@ ENDHEADER
'';
}
+ my ($requestauthor,$requestcrs);
+ unless ($reqauthor) {
+ if ($env{'environment.canrequest.author'}) {
+ unless (&Apache::loncoursequeueadmin::is_active_author()) {
+ my ($status,$timestamp) = split(/:/,$env{'environment.requestauthorqueued'});
+ if ($status eq 'approval') {
+ $requestauthor = &mt('A request for authoring space submitted on [_1] is awaiting approval',&Apache::lonlocal::locallocaltime($timestamp));
+ } elsif (($status eq 'approved') && ($do_update)) {
+ my %roleshash = &Apache::lonnet::get_my_roles($env{'user.name'},$env{'user.domain'},'userroles',
+ ['active'],['au'],[$env{'user.domain'}]);
+ if (keys(%roleshash)) {
+ $requestauthor = &mt('Your request for an author role has been approved.').'
';
+ if ($show_course) {
+ $requestauthor .= &mt('Use the "Check for new courses" button to update your list of roles.');
+ } else {
+ $requestauthor .= &mt('Use the "Check for new roles" button to update your list of roles.');
+ }
+ $requestauthor = ''.$requestauthor.'';
+ }
+ }
+ unless ($requestauthor) {
+ $requestauthor =
+ ''.
+ '';
+ }
+ }
+ }
+ }
+ my $do_update;
+ unless (($env{'form.source'} eq 'login') || ($env{'form.doupdate'})) {
+ $do_update = ''.
+ '';
+ }
if ($env{'user.adv'}) {
my $showall = '