Diff for /loncom/interface/lonmenu.pm between versions 1.309.2.23 and 1.309.2.24

version 1.309.2.23, 2010/12/05 19:44:36 version 1.309.2.24, 2010/12/07 04:33:49
Line 328  sub gci_secondary_menu { Line 328  sub gci_secondary_menu {
     }      }
     my %allnums = &Apache::loncommon::get_faculty_cnums();      my %allnums = &Apache::loncommon::get_faculty_cnums();
     if (($inventory ne '') && (ref($allnums{$inventory}) eq 'HASH')) {      if (($inventory ne '') && (ref($allnums{$inventory}) eq 'HASH')) {
         foreach my $key (%{$allnums{$inventory}}) {          foreach my $key (keys(%{$allnums{$inventory}})) {
             $courses{$inventory.'_'.$key} = $allnums{$inventory}->{$key};              $courses{$key} = $inventory.'_'.$allnums{$inventory}->{$key};
         }          }
     }      }
   
Line 339  sub gci_secondary_menu { Line 339  sub gci_secondary_menu {
         'managetest'  => 'Manage Tests',          'managetest'  => 'Manage Tests',
         'tutorial'    => 'Tutorials',          'tutorial'    => 'Tutorials',
     );      );
     my %links = (      my (%links,@menutabs,$current,%can_request,%request_domains);
                   'managetest' => '/adm/menu',      my %concepttests = &Apache::loncommon::existing_gcitest_courses('cc');
                 );      my $canreq = &Apache::lonnet::check_can_request($env{'user.domain'}.'test',
     my $current = 'managetest';                                                      \%can_request,\%request_domains);
       if (($canreq) || (keys(%concepttests) > 0)) { 
           %links = (
                        'managetest' => '/adm/menu',
                    );
           $current = 'managetest';
       }
     if ($env{'form.destinationurl'} eq '/adm/ci_info') {      if ($env{'form.destinationurl'} eq '/adm/ci_info') {
         undef($current);          undef($current);
     }      }
Line 355  sub gci_secondary_menu { Line 361  sub gci_secondary_menu {
                 $links{$key} = '/adm/navmaps';                  $links{$key} = '/adm/navmaps';
             }              }
             $current = $key;              $current = $key;
             $links{'managetest'} = '/adm/roles?selectrole=1&cm=1&orgurl=%2fadm%2fmenu';              if (($canreq) || (keys(%concepttests) > 0) {
                   $links{'managetest'} = '/adm/roles?selectrole=1&cm=1&orgurl=%2fadm%2fmenu';
               }
         }          }
     }      }
     my @menutabs = ('review','submit','managetest','tutorial');      my @posstabs = ('review','submit','managetest','tutorial');
     my $tabs;      my $tabs;
     foreach my $item (@menutabs) {      foreach my $item (@posstabs) {
           next if ($links{$item} eq '');
           push(@menutabs,$item);
         if ($item eq $current) {          if ($item eq $current) {
             $tabs .= '<li id="current"><a href="'.$links{$item}.'">'.              $tabs .= '<li id="current"><a href="'.$links{$item}.'">'.
                      $linktext{$item}.'</a></li>';                       $linktext{$item}.'</a></li>';
Line 1899  sub utilityfunctions { Line 1909  sub utilityfunctions {
     my $gcimenujs;      my $gcimenujs;
     if ($custommenu) {      if ($custommenu) {
         my %concepttests = &Apache::loncommon::existing_gcitest_courses('cc');          my %concepttests = &Apache::loncommon::existing_gcitest_courses('cc');
         my $managetesturl = '/adm/menu';          my (@calls,%switchpage_call,%canrequest,%request_domains);
         my $createtesturl = '/adm/requestcourse';          my $canreq = &Apache::lonnet::check_can_request($env{'user.domain'}.'test',
                                                           \%canrequest,\%request_domains);
           if ($canreq) {
               foreach my $call ('createtest','managetest') {
                   push(@calls,$call);
               }
               $switchpage_call{'managetest'} = '/adm/menu';
               $switchpage_call{'createtest'} = '/adm/requestcourse';
               if ($env{'request.course.id'}) {
                   $switchpage_call{'createtest'} = '/adm/roles?selectrole=1&cm=1&orgurl=%2fadm%2frequestcourse';
               }
           }
         if (($env{'request.course.id'}) &&          if (($env{'request.course.id'}) &&
             ($env{'course.'.$env{'request.course.id'}.'.domain'} !~ /^\w+citest$/)) {              ($env{'course.'.$env{'request.course.id'}.'.domain'} !~ /^\w+citest$/)) {
             my @items = keys(%concepttests);              my @items = keys(%concepttests);
             if (@items== 1) {              if (@items==1) {
                 my $newrole = $items[0];                  my $newrole = $items[0];
                 $newrole =~ s{_}{/};                  $newrole =~ s{_}{/};
                 $managetesturl = '/adm/roles?selectrole=1&cc./'.$newrole.'=1';                  $switchpage_call{'managetest'} = '/adm/roles?selectrole=1&cc./'.$newrole.'=1';
             } else {              } else {
                 $managetesturl = '/adm/roles?selectrole=1&cm=1&orgurl=%2fadm%2fmenu';                  $switchpage_call{'managetest'} = '/adm/roles?selectrole=1&cm=1&orgurl=%2fadm%2fmenu';
             }              }
         }          }
         if ($env{'request.course.id'}) {  
             $createtesturl = '/adm/roles?selectrole=1&cm=1&orgurl=%2fadm%2frequestcourse';  
         }  
         my %allnums = &Apache::loncommon::get_faculty_cnums();          my %allnums = &Apache::loncommon::get_faculty_cnums();
         my $udom = $env{'user.domain'};          my $udom = $env{'user.domain'};
         my %crs_by_caller;  
         if (ref($allnums{$udom}) eq 'HASH') {          if (ref($allnums{$udom}) eq 'HASH') {
             foreach my $key (keys(%{$allnums{$udom}})) {              foreach my $key (keys(%{$allnums{$udom}})) {
                 $crs_by_caller{$allnums{$udom}->{$key}} = 'st./'.$udom.'/'.$key.'=1';                  $switchpage_call{$key} = '/adm/roles?selectrole=1&'.
                                            'st./'.$udom.'/'.$allnums{$udom}->{$key}.'=1';
                   push(@calls,$key);
             }              }
         }          }
         $gcimenujs = <<"ENDCUSTOM";          if (@calls > 0) {
               $gcimenujs = '
 function switchpage(caller) {  function switchpage(caller) {
     if (caller == 'review') {  ';
         document.location.href = '/adm/roles?selectrole=1&'.$crs_by_caller{'review'};              foreach my $call (@calls) {
     }                  $gcimenujs .= " 
     if (caller == 'submit') {      if (caller == '$call') {
         document.location.href = '/adm/roles?selectrole=1&'.$crs_by_caller{'submit'};          document.location.href = '$switchpage_call{$call}';
     }      }";
     if (caller == 'createtest') {              }
         document.location.href = '$createtesturl';              $gcimenujs .= '
     }  
     if (caller == 'managetest') {  
         document.location.href = '$managetesturl';  
     }  
     if (caller == 'tutorial') {  
         document.location.href = '/adm/roles?selectrole=1&'.$crs_by_caller{'tutorial'};  
     }  
     return;      return;
 }  }
   ';
 ENDCUSTOM          }
     }      }
                 
     my $currenturl=&Apache::lonnet::clutter(&Apache::lonnet::fixversion((split(/\?/,$env{'request.noversionuri'}))[0]));      my $currenturl=&Apache::lonnet::clutter(&Apache::lonnet::fixversion((split(/\?/,$env{'request.noversionuri'}))[0]));

Removed from v.1.309.2.23  
changed lines
  Added in v.1.309.2.24


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