--- loncom/auth/lonroles.pm 2011/02/24 23:29:10 1.260 +++ loncom/auth/lonroles.pm 2012/05/14 04:17:16 1.265 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.260 2011/02/24 23:29:10 raeburn Exp $ +# $Id: lonroles.pm,v 1.265 2012/05/14 04:17:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -221,7 +221,7 @@ sub handler { } else { $checkingtxt = &mt('Checking for new roles ...'); } - $updateresult = '
'.$checkingtxt.'
'; + $updateresult = ''.$checkingtxt.''; $updateresult .= &update_session_roles(); &Apache::lonnet::appenv({'user.update.time' => $now}); $update = $now; @@ -601,10 +601,9 @@ ENDENTERKEY if ($role =~ /^(au|ca|aa)$/) { my $redirect_url = '/priv/'; if ($role eq 'au') { - $redirect_url.=$env{'user.name'}; + $redirect_url.=$env{'user.domain'}.'/'.$env{'user.name'}; } else { - $where =~ /\/(.*)$/; - $redirect_url .= $1; + $redirect_url .= $where; } $redirect_url .= '/'; &redirect_user($r,&mt('Entering Construction Space'), @@ -782,7 +781,7 @@ ENDHEADER if ($env{'form.showall'}) { $showall .= ' checked="checked" '; } - $showall .= ' />'.&mt('Show all roles').''. + $showall .= ' />'.&mt('Show all roles').' '. ''; if ($do_update) { $r->print('
'. @@ -1801,7 +1800,7 @@ sub display_cc_role { my %newhash=&Apache::lonnet::coursedescription($tcourseid); if (%newhash) { $twhere=$newhash{'description'}. - ' '. + ' '. &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom). ''; $ttype = $newhash{'type'}; @@ -1872,7 +1871,7 @@ sub update_session_roles { ['active','future','previous'], undef,undef,1); my ($msg,@newsec,$oldsec,$currrole_expired,@changed_roles, - %changed_groups,%dbroles, %deletedroles,%allroles,%allgroups, + %changed_groups,%dbroles,%deletedroles,%allroles,%allgroups, %userroles,%checkedgroup,%crprivs,$hasgroups,%rolechange, %groupchange,%newrole,%newgroup,%customprivchg,%groups_roles, @rolecodes); @@ -2109,7 +2108,9 @@ sub update_session_roles { foreach my $priv (@privs) { my ($blank,@prv) = split(/:/,$priv); @prv = map { $_ .= (/\&\w+$/ ? '':'&F') } @prv; - $priv = ':'.join(':',sort(@prv)); + if (@prv) { + $priv = ':'.join(':',sort(@prv)); + } $crprivs{$rest}{$scopes[$i]} = $priv; $i++; } @@ -2213,21 +2214,30 @@ sub update_session_roles { $msg .= '
'.&mt('However you can continue to use this role until you logout, click the "Re-Select" button, or your session has been idle for more than 24 hours.').'
'; } if (!@changed_roles || !(keys(%changed_groups))) { - $msg .= ''; if (!@changed_roles && !(keys(%changed_groups))) { + if (($msg ne '') || ($groupsmsg ne '')) { + $msg .= ''; + } else { + $msg = ' '.$rolesmsg.'

'; + } return $msg; } }