[LON-CAPA-cvs] cvs: loncom /auth lonroles.pm
www
lon-capa-cvs@mail.lon-capa.org
Fri, 11 Nov 2005 18:47:10 -0000
www Fri Nov 11 13:47:10 2005 EDT
Modified files:
/loncom/auth lonroles.pm
Log:
Trying to catch if Role is initialized twice in a row
Index: loncom/auth/lonroles.pm
diff -u loncom/auth/lonroles.pm:1.133 loncom/auth/lonroles.pm:1.134
--- loncom/auth/lonroles.pm:1.133 Tue Nov 8 17:08:12 2005
+++ loncom/auth/lonroles.pm Fri Nov 11 13:47:09 2005
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.133 2005/11/08 22:08:12 albertel Exp $
+# $Id: lonroles.pm,v 1.134 2005/11/11 18:47:09 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -89,6 +89,9 @@
# ================================================================== Roles Init
if ($env{'form.selectrole'}) {
+ if ($env{'form.newrole'}) {
+ $env{'form.'.$env{'form.newrole'}}=1;
+ }
if ($env{'request.course.id'}) {
my %temp=('logout_'.$env{'request.course.id'} => time);
&Apache::lonnet::put('email_status',\%temp);
@@ -312,6 +315,7 @@
my $swinfo=&Apache::lonmenu::rawconfig();
my $bodytag=&Apache::loncommon::bodytag('User Roles');
+ my $standby=&mt('Role selected. Please stand by.');
my $helptag='<table><tr><td>'.&Apache::loncommon::help_open_menu('','General Intro','General_Intro','User Roles',1,undef,undef,undef,undef,,&mt("Click here for help")).'</td></td></tr></table>';
$r->print(<<ENDHEADER);
<html>
@@ -323,6 +327,20 @@
<script>
$swinfo
window.focus();
+
+active=true;
+
+function enterrole (thisform,rolecode,buttonname) {
+ if (active) {
+ active=false;
+ document.title='$standby';
+ window.status='$standby';
+ thisform.newrole.value=rolecode;
+ thisform.submit();
+ } else {
+ alert('$standby');
+ }
+}
</script>
ENDHEADER
@@ -396,6 +414,7 @@
$r->print('<form method="post" name="rolechoice" action="'.(($fn)?$fn:$r->uri).'">');
$r->print('<input type="hidden" name="orgurl" value="'.$fn.'" />');
$r->print('<input type="hidden" name="selectrole" value="1" />');
+ $r->print('<input type="hidden" name="newrole" value="" />');
}
if ($env{'user.adv'}) {
$r->print(
@@ -662,7 +681,7 @@
}
unless ($nochoose) {
if ($env{'request.role'} ne 'cm') {
- $r->print('<td><input type=submit value="'.
+ $r->print('<td><input type="submit" value="'.
&mt('Select').'" name="cm"></td>');
} else {
$r->print('<td> </td>');
@@ -773,6 +792,8 @@
: ' rowspan="2" ';
unless ($nochoose) {
+ my $buttonname=$trolecode;
+ $buttonname=~s/\W//g;
if (!$button) {
if ($switchserver) {
$roletext.='<td'.$rowspan.'><a href="/adm/switchserver?'.
@@ -781,17 +802,19 @@
$roletext.=('<td> </td>');
}
} elsif ($tstatus eq 'is') {
- $roletext.=('<td'.$rowspan.'><input type=submit value="'.
- &mt('Select').'" name="'.
- $trolecode.'"></td>');
+ $roletext.='<td'.$rowspan.'><input name="'.$buttonname.'" type="button" value="'.
+ &mt('Select').'" onClick="javascript:enterrole(this.form,\''.
+ $trolecode."','".$buttonname.'\');"></td>';
} elsif ($tryagain) {
$roletext.=
- '<td'.$rowspan.'><input type=submit value="'.
- &mt('Try Selecting Again').'" name="'.$trolecode.'"></td>';
+ '<td'.$rowspan.'><input name="'.$buttonname.'" type="button" value="'.
+ &mt('Try Selecting Again').'" onClick="javascript:enterrole(this.form,\''.
+ $trolecode."','".$buttonname.'\');"></td>';
} elsif ($advanced) {
$roletext.=
- '<td'.$rowspan.'><input type=submit value="'.
- &mt('Re-Initialize').'" name="'.$trolecode.'"></td>';
+ '<td'.$rowspan.'><input name="'.$buttonname.'" type="button" value="'.
+ &mt('Re-Initialize').'" onClick="javascript:enterrole(this.form,\''.
+ $trolecode."','".$buttonname.'\');"></td>';
} else {
$roletext.='<td'.$rowspan.'> </td>';
}