Diff for /loncom/interface/lonmenu.pm between versions 1.285 and 1.286

version 1.285, 2009/10/13 13:18:25 version 1.286, 2009/10/15 20:48:16
Line 200  sub primary_menu { Line 200  sub primary_menu {
 sub secondary_menu {  sub secondary_menu {
     my $menu;      my $menu;
   
       my $crstype = &Apache::loncommon::course_type();
       my $canedit = &Apache::lonnet::allowed('mdc', $env{'request.course.id'});
       my $canviewgrps = &Apache::lonnet::allowed('vcg', $env{'request.course.id'}
                      . ($env{'request.course.sec'} ? "/$env{'request.course.sec'}"
                                                    : '')); 
       my $showlink = &show_return_link();
       my %groups = &Apache::lonnet::get_active_groups(
                        $env{'user.domain'}, $env{'user.name'},
                        $env{'course.' . $env{'request.course.id'} . '.domain'},
                        $env{'course.' . $env{'request.course.id'} . '.num'});
     foreach my $menuitem (@secondary_menu) {      foreach my $menuitem (@secondary_menu) {
         # evaluate conditions           # evaluate conditions 
         next if    $$menuitem[4]   ne 'always'          next if    $$menuitem[4]   ne 'always'
                 && !$env{'request.course.id'};                  && !$env{'request.course.id'};
         next if    $$menuitem[4]   eq 'showreturn'          next if    $$menuitem[4]   eq 'showreturn'
                 && !show_return_link()                   && !$showlink
                 && !($env{'request.state'} eq 'construct');                  && !($env{'request.state'} eq 'construct');
         next if    $$menuitem[4]   =~ /^mdc/          next if    $$menuitem[4]   =~ /^mdc/
                 && !Apache::lonnet::allowed('mdc', $env{'request.course.id'});                  && !$canedit;
         next if    $$menuitem[4]   =~ /nogrp$/          next if    $$menuitem[4]  eq 'mdcCourse'
                 && Apache::loncommon::course_type() eq 'Group';                  && $crstype eq 'Community';
         next if    $$menuitem[4]   =~ /group$/          next if    $$menuitem[4]  eq 'mdcCommunity'
                 && Apache::loncommon::course_type() ne 'Group';                  && $crstype ne 'Community';
         next if    $$menuitem[4]   eq 'remotenav'          next if    $$menuitem[4]  =~ /^remotenav/
                 && $env{'environment.remotenavmap'} ne 'on';                  && $env{'environment.remotenavmap'} ne 'on';
         next if    $$menuitem[4]   eq 'noremotenav'          next if    $$menuitem[4]  =~ /noremotenav/
                 && $env{'environment.remotenavmap'} eq 'on';                  && $env{'environment.remotenavmap'} eq 'on';
         next if    $$menuitem[4]   =~ /showgroups$/          next if    $$menuitem[4]   =~ /showgroups$/
                 && !Apache::lonnet::allowed('vcg', $env{'request.course.id'}                  && $canviewgrps
                    . ($env{'request.course.sec'} ? "/$env{'request.course.sec'}"                  && !%groups;
                                                  : ''))  
                 && !Apache::lonnet::get_active_groups(  
                    $env{'user.domain'}, $env{'user.name'},  
                    $env{'course.' . $env{'request.course.id'} . '.domain'},  
                    $env{'course.' . $env{'request.course.id'} . '.num'});  
   
           if ($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) {
         if($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) {   
             # special treatment for role selector              # special treatment for role selector
             my $roles_selector = roles_selector(              my $roles_selector = roles_selector(
                         $env{'course.' . $env{'request.course.id'} . '.domain'},                          $env{'course.' . $env{'request.course.id'} . '.domain'},
Line 280  sub initlittle { Line 284  sub initlittle {
                                        'login' => 'Log In',                                         'login' => 'Log In',
        'launch' => 'Launch Remote Control',         'launch' => 'Launch Remote Control',
                                        'groups' => 'Groups',                                         'groups' => 'Groups',
                                        'gdoc' => 'Group Documents',                                         'gdoc' => 'Community Documents',
                                        );                                         );
 }  }
   
Line 381  ENDINLINEMENU Line 385  ENDINLINEMENU
     $navmaps=(<<ENDNAV);      $navmaps=(<<ENDNAV);
 <li><a href="$link" target="_top">$lt{'nav'}</a></li>  <li><a href="$link" target="_top">$lt{'nav'}</a></li>
 ENDNAV  ENDNAV
             my $is_group = (&Apache::loncommon::course_type() eq 'Group');              my $is_community = 
                   (&Apache::loncommon::course_type() eq 'Community');
     if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {      if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {
                 my $text = ($is_group) ? $lt{'gdoc'} : $lt{'docs'};                  my $text = ($is_community) ? $lt{'gdoc'} : $lt{'docs'};
  $docs=(<<ENDDOCS);   $docs=(<<ENDDOCS);
 <li><a href="/adm/coursedocs" target="_top">$text</a></li>  <li><a href="/adm/coursedocs" target="_top">$text</a></li>
 ENDDOCS  ENDDOCS
Line 1317  sub rawconfig { Line 1322  sub rawconfig {
         $prt=~s/\$requested_domain/$requested_domain/g;          $prt=~s/\$requested_domain/$requested_domain/g;
         if ($category_names{$cat}!~/\w/) { $cat='oth'; }          if ($category_names{$cat}!~/\w/) { $cat='oth'; }
         my $type = &Apache::loncommon::course_type();          my $type = &Apache::loncommon::course_type();
 #  
 # I don't think we support this  
 #  
 #        if ($type eq 'Group') {  #        if ($type eq 'Group') {
 #            $desc = &convert_menu_function($desc,$type);  #            $desc = &convert_menu_function($desc,$type);
 #        }  #        }
Line 1714  sub get_nav_status { Line 1716  sub get_nav_status {
     return $navstatus;      return $navstatus;
 }  }
   
 #FIXME this needs to move into mydesk.tab and the other locations   
 # the text is generated  
 #  
 # We currently do not support this anyway.  
 #  
 #sub convert_menu_function {  
 #    my ($rolename,$type) = @_;  
 #    if ($type eq 'Group') {  
 #        $rolename =~ s/student/member/g;  
 #        $rolename =~ s/group/team/g;  
 #        $rolename =~ s/course/group/g;  
 #        $rolename =~ s/Course/Group/g;  
 #    }  
 #    return $rolename;  
 #}  
   
 sub hidden_button_check {  sub hidden_button_check {
     my $hidden;      my $hidden;
     if ($env{'request.course.id'} eq '') {      if ($env{'request.course.id'} eq '') {
Line 1744  sub hidden_button_check { Line 1730  sub hidden_button_check {
   
 sub roles_selector {  sub roles_selector {
     my ($cdom,$cnum) = @_;      my ($cdom,$cnum) = @_;
       my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'};
       if ($crstype eq '') {
           $crstype = 'Course';
       }
     my $now = time;      my $now = time;
     my (%courseroles,%seccount);      my (%courseroles,%seccount);
     my $is_cc;      my $is_cc;
Line 1793  sub roles_selector { Line 1783  sub roles_selector {
             }              }
         }          }
     }      }
       my $switchtext;
       if ($crstype eq 'Community') {
           $switchtext = &mt('Switch community role to...')
       } else {
           $switchtext = &mt('Switch course role to...')
       }
     my @roles_order = ('cc','in','ta','ep','ad','st');      my @roles_order = ('cc','in','ta','ep','ad','st');
     if (keys(%courseroles) > 1) {      if (keys(%courseroles) > 1) {
         $role_selector = &jump_to_role($cdom,$cnum,\%seccount,\%courseroles);          $role_selector = &jump_to_role($cdom,$cnum,\%seccount,\%courseroles);
         $role_selector .= '<form name="rolechooser" method="post" action="/adm/roles">          $role_selector .= '<form name="rolechooser" method="post" action="/adm/roles">
                           <select name="switchrole" onchange="javascript:adhocRole('."'switchrole'".')">';                            <select name="switchrole" onchange="javascript:adhocRole('."'switchrole'".')">';
         $role_selector .= '<option value="">'.&mt('Switch course role to...').'</option>';          $role_selector .= '<option value="">'.$switchtext.'</option>';
         foreach my $role (@roles_order) {          foreach my $role (@roles_order) {
             if (defined($courseroles{$role})) {              if (defined($courseroles{$role})) {
                 $role_selector .= "\n".'<option value="'.$role.'">'.&Apache::lonnet::plaintext($role).'</option>';                   $role_selector .= "\n".'<option value="'.$role.'">'.&Apache::lonnet::plaintext($role).'</option>'; 

Removed from v.1.285  
changed lines
  Added in v.1.286


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