--- loncom/auth/lonroles.pm 2008/12/04 08:53:04 1.211 +++ loncom/auth/lonroles.pm 2008/12/04 16:56:46 1.212 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.211 2008/12/04 08:53:04 tempelho Exp $ +# $Id: lonroles.pm,v 1.212 2008/12/04 16:56:46 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -651,13 +651,12 @@ ENDHEADER my $roletext; my $sortkey; if ($envkey=~/^user\.role\./) { - my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend,$tfont); + my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend); &role_status($envkey,$then,$now,\$role,\$where,\$trolecode,\$tstatus,\$tstart,\$tend); next if (!defined($role) || $role eq '' || $role =~ /^gr/); $tremark=''; $tpstart=' '; $tpend=' '; - $tfont='#000000'; if ($tstart) { $tpstart=&Apache::lonlocal::locallocaltime($tstart); } @@ -674,30 +673,27 @@ ENDHEADER || ($tstatus eq 'future') || ($env{'form.showall'})) { if ($tstatus eq 'is') { - $tbg='#77FF77'; - $tfont='#003300'; + $tbg='LC_roles_is'; $possiblerole=$trolecode; $countactive++; } elsif ($tstatus eq 'future') { - $tbg='#FFFF77'; + $tbg='LC_roles_future'; $button=0; $futureroles{$trolecode} = $tstart.':'.$tend; $countfuture ++; } elsif ($tstatus eq 'will') { - $tbg='#FFAA77'; + $tbg='LC_roles_will'; $tremark.=&mt('Active at next login.').' '; $roles_nextlogin{$trolecode} = $tstart.':'.$tend; $countwill ++; } elsif ($tstatus eq 'expired') { - $tbg='#FF7777'; - $tfont='#330000'; + $tbg='LC_roles_expired'; $button=0; } elsif ($tstatus eq 'will_not') { - $tbg='#AAFF77'; + $tbg='LC_roles_will_not'; $tremark.=&mt('Expired after logout.').' '; } elsif ($tstatus eq 'selected') { - $tbg='#11CC55'; - $tfont='#002200'; + $tbg='LC_roles_selected'; $inrole=1; $countactive++; $tremark.=&mt('Currently selected.').' '; @@ -760,7 +756,7 @@ ENDHEADER $sortkey=$role."\0".$tdom."\0".$twhere."\0".$envkey; unless ($twhere eq &mt('Currently not available')) { $twhere.=' '. - &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom,$tfont). + &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom). ''; } } else { @@ -770,7 +766,7 @@ ENDHEADER "\0".$envkey; $twhere=$newhash{'description'}. ' '. - &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom,$tfont). + &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom). ''; $ttype = $newhash{'type'}; $trole = &Apache::lonnet::plaintext($role,$ttype); @@ -794,7 +790,7 @@ ENDHEADER $twhere=&mt('system wide'); $sortkey=$role.$twhere; } - $roletext.=&build_roletext($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tfont,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit); + $roletext.=&build_roletext($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit); $roletext{$envkey}=$roletext; if (!$sortkey) {$sortkey=$twhere."\0".$envkey;} $sortrole{$sortkey}=$envkey; @@ -804,9 +800,9 @@ ENDHEADER } if ($env{'user.adv'}) { $r->print( - '
'); + $r->print(' />

'); } else { if ($countactive > 0) { my $domdesc = &Apache::lonnet::domain($env{'user.domain'},'description'); @@ -831,19 +827,23 @@ ENDHEADER &print_rolerows($r,$doheaders,\%roleclass,\%sortrole,\%dcroles, \%roletext); my $tremark=''; - my $tfont='#003300'; + my $tbg; if ($env{'request.role'} eq 'cm') { - $r->print(''); + $tbg="LC_roles_selected"; $tremark=&mt('Currently selected.').' '; - $tfont='#002200'; } else { - $r->print(''); + $tbg="LC_roles_is"; } - $r->print(''.&mt('No role specified'). - ''.$tremark. - ' '."\n"); + $r->print(&Apache::loncommon::start_data_table_row() + .' ' + .'' + .&mt('No role specified') + .'' + .''.$tremark.' ' + .&Apache::loncommon::end_data_table_row() + ); - $r->print(''); + $r->print(&Apache::loncommon::end_data_table()); } $r->print(&Apache::loncommon::end_page()); return OK; @@ -871,8 +871,12 @@ ENDHEADER } } if ($output) { - $r->print("". - &mt('Recent Roles').""); + $r->print(&Apache::loncommon::start_data_table_empty_row() + .'' + .&mt('Recent Roles') + .'' + .&Apache::loncommon::end_data_table_empty_row() + ); $r->print($output); $doheaders ++; } @@ -886,33 +890,36 @@ ENDHEADER &print_rolerows($r,$doheaders,\%roleclass,\%sortrole,\%dcroles,\%roletext); if ($countactive > 1) { my $tremark=''; - my $tfont='#003300'; + my $tbg; if ($env{'request.role'} eq 'cm') { - $r->print(''); + $tbg="LC_roles_selected"; $tremark=&mt('Currently selected.').' '; - $tfont='#002200'; } else { - $r->print(''); + $tbg="LC_roles_is"; } + $r->print(&Apache::loncommon::start_data_table_row()); unless ($nochoose) { if ($env{'request.role'} ne 'cm') { - $r->print(''); } else { - $r->print(' '); + $r->print(' '); } } - $r->print(''.&mt('No role specified'). - ''.$tremark. - ' '."\n"); + $r->print('' + .&mt('No role specified') + .'' + .''.$tremark.' ' + .&Apache::loncommon::end_data_table_row() + ); } - $r->print(''); + $r->print(&Apache::loncommon::end_data_table()); unless ($nochoose) { $r->print("\n"); } # ------------------------------------------------------------ Privileges Info if (($advanced) && (($env{'user.error.msg'}) || ($error))) { - $r->print('

Current Privileges

'); + $r->print('

'.&mt('Current Privileges').'

'); $r->print(&privileges_info()); } $r->print(&Apache::lonnet::getannounce()); @@ -934,11 +941,17 @@ sub roletable_headers { my ($r,$roleclass,$sortrole,$nochoose) = @_; my $doheaders; if ((ref($sortrole) eq 'HASH') && (ref($roleclass) eq 'HASH')) { - $r->print('
'); + $r->print('
' + .&Apache::loncommon::start_data_table() + .&Apache::loncommon::start_data_table_header_row() + ); if (!$nochoose) { $r->print(''); } - $r->print(''."\n"); + $r->print('' + .'' + .'' + .'' + .&Apache::loncommon::end_data_table_header_row() + ); $doheaders=-1; my @roletypes = &roletypes(); foreach my $type (@roletypes) { @@ -981,9 +994,12 @@ sub print_rolerows { } if ($output) { if ($doheaders > 0) { - $r->print("". - ""); + $r->print(&Apache::loncommon::start_data_table_empty_row() + .'' + .&Apache::loncommon::end_data_table_empty_row() + ); } $r->print($output); } @@ -1093,8 +1109,8 @@ sub role_status { } sub build_roletext { - my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tfont,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit) = @_; - my $roletext=''; + my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit) = @_; + my $roletext=&Apache::loncommon::start_data_table_row(); my $is_dc=($trolecode =~ m/^dc\./); my $rowspan=($is_dc) ? '' : ' rowspan="2" '; @@ -1104,33 +1120,40 @@ sub build_roletext { $buttonname=~s/\W//g; if (!$button) { if ($switchserver) { - $roletext.=''.&mt('Switch Server').''; + $roletext.='' + .'' + .&mt('Switch Server') + .''; } else { - $roletext.=(' '); + $roletext.=(' '); } } elsif ($tstatus eq 'is') { - $roletext.=''. + ''; } elsif ($tryagain) { $roletext.= - ''. + ''; } elsif ($advanced) { $roletext.= - ''. + ''; } elsif ($reinit) { $roletext.= - ''. + ''; } else { $roletext.= - ''. + ''; } @@ -1139,14 +1162,17 @@ sub build_roletext { $tremark.=&Apache::lonannounce::showday(time,1, &Apache::lonannounce::readcalendar($tdom.'_'.$trest)); } - $roletext.=''; + $roletext.='' + .'' + .'' + .'' + .&Apache::loncommon::end_data_table_row(); if (!$is_dc) { - $roletext.=''."\n"; + $roletext.=&Apache::loncommon::continue_data_table_row() + .'' + .&Apache::loncommon::end_data_table_row(); } return $roletext; } @@ -1190,7 +1216,7 @@ sub check_privs { my ($cdom,$cnum,$then,$now,$checkrole) = @_; my $cckey = 'user.role.'.$checkrole.'./'.$cdom.'/'.$cnum; if ($env{$cckey}) { - my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend,$tfont); + my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend); &role_status($cckey,$then,$now,\$role,\$where,\$trolecode,\$tstatus,\$tstart,\$tend); unless (($tstatus eq 'is') || ($tstatus eq 'will_not')) { &set_privileges($cdom,$cnum,$checkrole); @@ -1363,13 +1389,12 @@ sub display_cc_role { my $trolecode = 'cc./'.$1.'/'.$2; my $twhere; my $ttype; - my $tbg='#77FF77'; - my $tfont='#003300'; + my $tbg='LC_roles_is'; my %newhash=&Apache::lonnet::coursedescription($tcourseid); if (%newhash) { $twhere=$newhash{'description'}. ' '. - &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$2,$1,$tfont). + &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$2,$1). ''; $ttype = $newhash{'type'}; } else { @@ -1378,7 +1403,7 @@ sub display_cc_role { } my $trole = &Apache::lonnet::plaintext('cc',$ttype); $twhere.="
".&mt('Domain').":".$1; - $roletext = &build_roletext($trolecode,$1,$2,'is',$tryagain,$advanced,'',$tbg,$tfont,$trole,$twhere,'','','',1,''); + $roletext = &build_roletext($trolecode,$1,$2,'is',$tryagain,$advanced,'',$tbg,$trole,$twhere,'','','',1,''); } } return ($roletext); @@ -1386,20 +1411,24 @@ sub display_cc_role { sub adhoc_roles_row { my ($dcdom,$rowtype) = @_; - my $output = ''. - ' ' + .&Apache::loncommon::end_data_table_row(); return $output; }
 '.&mt('User Role').''.&mt('Extent') - .''.&mt('Start').''.&mt('End') - .'
'.&mt('User Role').''.&mt('Extent').''.&mt('Start').''.&mt('End').'
". - &mt($type)."
' + .&mt($type) + .'
'.$trole. - ''.$twhere. - ''.$tpstart. - ''.$tpend. - '
'.$trole.''.$twhere.''.$tpstart.''.$tpend.'
'.$tremark. - ' 
' + .$tremark.' ' + .'
'. - ''."\n"; + $output.=&mt('[_1]: [_2]',$ccrole,$selectcclink) + .'
' + .'' + .'' + .'
' - .&mt('[_1]Ad hoc[_2] roles in domain [_3] --', - '','',$dcdom).''; + my $output = &Apache::loncommon::continue_data_table_row() + .' ' + .'' + .'
' + .&mt('[_1]Ad hoc[_2] roles in domain [_3] --' + ,'','',$dcdom) + .''; my $selectcclink = &courselink($dcdom,$rowtype); my $ccrole = &Apache::lonnet::plaintext('cc'); my $carole = &Apache::lonnet::plaintext('ca'); my $selectcalink = &coauthorlink($dcdom,$rowtype); - $output.= ''. - &mt('[_1]: [_2]',$ccrole,$selectcclink). - '
  '. - &mt('[_1]: [_2]',$carole,$selectcalink). - '
  '.&mt('[_1]: [_2]',$carole,$selectcalink).'
' + .'