Diff for /loncom/auth/lonroles.pm between versions 1.112 and 1.113

version 1.112, 2004/11/23 07:29:24 version 1.113, 2004/12/03 05:15:30
Line 84  sub handler { Line 84  sub handler {
     my $envkey;      my $envkey;
     my %dcroles = ();      my %dcroles = ();
     my $numdc = &check_fordc(\%dcroles,$then);      my $numdc = &check_fordc(\%dcroles,$then);
     my %recentroles;  
     if ($numdc > 0) {  
         %recentroles = &Apache::lonnet::dump(&recent_filename('roles'));  
     }  
   
 # ================================================================== Roles Init  # ================================================================== Roles Init
     if ($ENV{'form.selectrole'}) {      if ($ENV{'form.selectrole'}) {
Line 117  sub handler { Line 113  sub handler {
             }              }
         }          }
   
 # Check if user is a DC with courses in the recent list which need privs.  
 #        if ($numdc > 0) {  
 #            %recentroles = &Apache::lonnet::dump(&recent_filename('recent_roles'));  
 #            foreach my $rolekey (keys %recentroles) {  
 #                if ($rolekey =~ m-^user\.role.cc\./\w+/\w+$-) {  
 #                    &check_privs($rolekey,$then,$now);  
 #                }  
 #            }  
 #        }  
   
         foreach $envkey (keys %ENV) {          foreach $envkey (keys %ENV) {
             next if ($envkey!~/^user\.role\./);              next if ($envkey!~/^user\.role\./);
             my ($where,$trolecode,$role,$tstatus,$tend,$tstart);              my ($where,$trolecode,$role,$tstatus,$tend,$tstart);
Line 276  ENDENTERKEY Line 262  ENDENTERKEY
   '.course.helper.not.run'}) {    '.course.helper.not.run'}) {
  $furl = "/adm/helper/course.initialization.helper";   $furl = "/adm/helper/course.initialization.helper";
     }      }
                             # Check to see if the user is a DC selecting a course  
                             if (($numdc > 0) && ($role eq 'cc')) {  
                                 my $formaction = '/adm/roles/';  
                                 my ($dcdom,$pickedcourse) = split/_/,$courseid;  
                                 if ($ENV{'user.role.dc./'.$dcdom.'/'}) {  
                                     &Apache::lonhtmlcommon::store_recent('roles',  
                                     $envkey,$formaction);  
                                 }  
                             }  
                             #  
                             # Send the user to the course they selected                              # Send the user to the course they selected
                             &redirect_user($r,&mt('Entering Course'),                              &redirect_user($r,&mt('Entering Course'),
                                            $furl,$msg,                                             $furl,$msg,
Line 618  ENDHEADER Line 594  ENDHEADER
  foreach (sort(keys(%recent_roles))) {   foreach (sort(keys(%recent_roles))) {
     if (defined($roletext{'user.role.'.$_})) {      if (defined($roletext{'user.role.'.$_})) {
  $output.=$roletext{'user.role.'.$_};   $output.=$roletext{'user.role.'.$_};
     }      } elsif ($numdc > 0) {
                   unless ($_ =~/^error\:/) {
                       $output.=&display_cc_role('user.role.'.$_);
                   }
               } 
  }   }
  if ($output) {   if ($output) {
     $r->print("<tr bgcolor='#BBffBB'><td align='center' colspan='7'>".      $r->print("<tr bgcolor='#BBffBB'><td align='center' colspan='7'>".
Line 629  ENDHEADER Line 609  ENDHEADER
     }      }
   
     if ($numdc > 0) {      if ($numdc > 0) {
         &display_recent_roles($r,\%roletext,\%recentroles);  
         $r->print(&coursepick_jscript());          $r->print(&coursepick_jscript());
         $r->print(&Apache::loncommon::coursebrowser_javascript());          $r->print(&Apache::loncommon::coursebrowser_javascript());
     }      }
Line 923  END Line 902  END
     return $process_pick;      return $process_pick;
 }  }
   
 sub display_recent_roles {  sub display_cc_role {
     my ($r,$roletext,$recentroles)=@_;      my $rolekey = shift;
       my $roletext;
     my $advanced = $ENV{'user.adv'};      my $advanced = $ENV{'user.adv'};
     my $tryagain = $ENV{'form.tryagain'};      my $tryagain = $ENV{'form.tryagain'};
     my $numrecent = 0;      unless ($rolekey =~/^error\:/) {
     my $roledisplay = '<tr bgcolor="#BBffBB">'.          if ($rolekey =~ m-^user\.role.cc\./(\w+)/(\w+)$-) {
                    '<td align="center" colspan="7">'.              my $tcourseid = $1.'_'.$2;
                    &mt('Recent courses accessed by DC').              my $trolecode = 'cc./'.$1.'/'.$2;
                     '</td></tr>'."\n";              my $trole = Apache::lonnet::plaintext('cc');
     foreach my $rolekey (sort keys %{$recentroles}) {              my $twhere;
         unless ($rolekey =~/^error\:/) {              my $tbg='#77FF77';
             unless ($$roletext{$rolekey}) {              my $tfont='#003300';
                 if ($rolekey =~ m-^user\.role.cc\./(\w+)/(\w+)$-) {              my %newhash=&Apache::lonnet::coursedescription($tcourseid);
                     my $tcourseid = $1.'_'.$2;              if (%newhash) {
                     my $trolecode = 'cc./'.$1.'/'.$2;                  $twhere=$newhash{'description'}.
                     my $trole = Apache::lonnet::plaintext('cc');                          ' <font size="-2">'.
                     my $twhere;                          &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$2,$1,$tfont).
                     my $tbg='#77FF77';                          '</font>';
                     my $tfont='#003300';              } else {
                     my %newhash=&Apache::lonnet::coursedescription($tcourseid);                  $twhere=&mt('Currently not available');
                     if (%newhash) {                  $ENV{'course.'.$tcourseid.'.description'}=$twhere;
                         $twhere=$newhash{'description'}.  
                                ' <font size="-2">'.  
                                &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$2,$1,$tfont).  
                                '</font>';  
                     } else {  
                         $twhere=&mt('Currently not available');  
                         $ENV{'course.'.$tcourseid.'.description'}=$twhere;  
                     }  
                     $twhere.="<br />".&mt('Domain').":".$1;  
                     $$roletext{$rolekey} = &build_roletext($trolecode,$1,$2,'is',$tryagain,$advanced,'',$tbg,$tfont,$trole,&mt('Course'),$twhere,'','','',1,'');  
                 }  
             }              }
             $roledisplay.=$$roletext{$rolekey};              $twhere.="<br />".&mt('Domain').":".$1;
             $numrecent ++;              $roletext = &build_roletext($trolecode,$1,$2,'is',$tryagain,$advanced,'',$tbg,$tfont,$trole,&mt('Course'),$twhere,'','','',1,'');
         }          }
     }      }
     if ($numrecent > 0) {      return $roletext;
         $r->print("$roledisplay\n");  
     }  
 }  }
   
 sub allcourses_row {  sub allcourses_row {

Removed from v.1.112  
changed lines
  Added in v.1.113


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>