Diff for /loncom/interface/lonmenu.pm between versions 1.309.2.21 and 1.309.2.22

version 1.309.2.21, 2010/12/02 16:44:09 version 1.309.2.22, 2010/12/05 17:24:13
Line 166  sub primary_menu { Line 166  sub primary_menu {
     my $menu;      my $menu;
     my $custommenu = &Apache::loncommon::needs_gci_custom();      my $custommenu = &Apache::loncommon::needs_gci_custom();
     my $numdc = &Apache::loncommon::check_for_gci_dc();      my $numdc = &Apache::loncommon::check_for_gci_dc();
       my %allnums = &Apache::loncommon::get_faculty_cnums();
     # each element of @primary contains following array:      # each element of @primary contains following array:
     # (link url, icon path, alt text, link text, condition)      # (link url, icon path, alt text, link text, condition)
     my $public;      my ($public,$faculty);
     if ((($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public'))      if ((($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public'))
         || (($env{'user.name'} eq '') && ($env{'user.domain'} eq ''))) {          || (($env{'user.name'} eq '') && ($env{'user.domain'} eq ''))) {
         $public = 1;          $public = 1;
       } elsif (ref($allnums{$env{'user.domain'}}) eq 'HASH') {
           $faculty = 1;
     }      }
     foreach my $menuitem (@primary_menu) {      foreach my $menuitem (@primary_menu) {
         # evaluate conditions           # evaluate conditions 
Line 186  sub primary_menu { Line 189  sub primary_menu {
         next if    $$menuitem[4]        eq 'onlypublic'# hide links which are           next if    $$menuitem[4]        eq 'onlypublic'# hide links which are 
                 && !$public;                           # only visible to public                  && !$public;                           # only visible to public
                                                        # users                                                         # users
         next if    $$menuitem[4]        eq 'gci'          next if    $$menuitem[4]        eq 'ci'
                 && (!$custommenu || $env{'request.role'} =~ m{^st\./gcitest/});                  && (!$custommenu || $env{'request.role'} =~ m{^st\./\w+citest/});
         next if    $$menuitem[4]        eq 'home'          next if    $$menuitem[4]        eq 'home'
                 && (($custommenu) || ($env{'user.domain'} eq 'gcitest') ||                   && (($custommenu) || ($env{'user.domain'} =~ /^\w+citest$/) || 
                     (($env{'user.domain'} eq 'gci') && !$numdc));                      ($faculty && !$numdc));
         next if    $$menuitem[4]        eq 'gcitest'          next if    $$menuitem[4]        eq 'citest'
                 && (($env{'user.domain'} eq 'gci') || ($env{'request.role'} eq 'cm'));                  && ($faculty || ($env{'request.role'} eq 'cm'));
         next if    $$menuitem[4]        eq 'roles'     # hide links which are          next if    $$menuitem[4]        eq 'roles'     # hide links which are
                 && $custommenu;                        # not visible when GCI                  && $custommenu;                        # not visible when GCI
         next if    $$menuitem[4]        eq 'courses'   # tabbed interface in use          next if    $$menuitem[4]        eq 'courses'   # tabbed interface in use
Line 316  sub secondary_menu { Line 319  sub secondary_menu {
 }  }
   
 sub gci_secondary_menu {  sub gci_secondary_menu {
     my %courses = (      my %courses;
         'review' => 'gci_9615072b469884921gcil1',      my $inventory;
         'submit' => 'gci_1H96711d710194bfegcil1',      if ($env{'user.domain'} =~ /^(\w+ci)test$/) {
         'tutorial' => 'gci_5422913620b814c90gcil1',          $inventory = $1;
     );      } else {
           $inventory = $env{'user.domain'};
       }
       my %allnums = &Apache::loncommon::get_faculty_cnums();
       if ($inventory ne '' && ref($allnums{$inventory} eq 'HASH') {
           foreach my $key (%{$allnums{$inventory}}) {
               $courses{$inventory.'_'.$key} = $allnums{$inventory}->{$key};
           }
       }
   
     my %linktext = (      my %linktext = (
         'review'      => 'Review Questions',          'review'      => 'Review Questions',
         'submit'      => 'Submit Questions',          'submit'      => 'Submit Questions',
Line 331  sub gci_secondary_menu { Line 343  sub gci_secondary_menu {
                   'managetest' => '/adm/menu',                    'managetest' => '/adm/menu',
                 );                  );
     my $current = 'managetest';      my $current = 'managetest';
     if ($env{'form.destinationurl'} eq '/adm/gci_info') {      if ($env{'form.destinationurl'} eq '/adm/ci_info') {
         undef($current);          undef($current);
     }      }
     foreach my $key (keys(%courses)) {      foreach my $key (keys(%courses)) {
Line 1457  ENDSCRIPT Line 1469  ENDSCRIPT
             }              }
             $switcher = $switcher_js.$switcher;              $switcher = $switcher_js.$switcher;
         }          }
         if ($env{'user.domain'} eq 'gci') {          if ($env{'user.domain'} !~ /^\w+citest$/) {
             $canreq =              $canreq =
                 &Apache::lonnet::check_can_request('gcitest',\%can_request,\%request_domains);                  &Apache::lonnet::check_can_request($env{'user.domain'}.'test',\%can_request,\%request_domains);
             $createtext = &mt('Create Concept Test');              $createtext = &mt('Create Concept Test');
             if ($numcourses) {              if ($numcourses) {
                 $createtext = &mt('Create New Test');                  $createtext = &mt('Create New Test');
Line 1500  ENDSCRIPT Line 1512  ENDSCRIPT
             } else {              } else {
                 my $navtext = &mt('Table of Contents');                  my $navtext = &mt('Table of Contents');
                 my $navdesc = &mt('Display Table of Contents for Geoscience Concept Inventory');                  my $navdesc = &mt('Display Table of Contents for Geoscience Concept Inventory');
                 if ($env{'request.role.domain'} eq 'gcitest') {                  if ($env{'request.role.domain'} =~ /^\w+citest$/) {
                     $navtext = &mt('Display Test Contents');                      $navtext = &mt('Display Test Contents');
                     $navdesc = &mt('Display the table of contents for this Concept Test');                      $navdesc = &mt('Display the table of contents for this Concept Test');
                 }                  }
Line 1890  sub utilityfunctions { Line 1902  sub utilityfunctions {
         my $managetesturl = '/adm/menu';          my $managetesturl = '/adm/menu';
         my $createtesturl = '/adm/requestcourse';          my $createtesturl = '/adm/requestcourse';
         if (($env{'request.course.id'}) &&          if (($env{'request.course.id'}) &&
             ($env{'course.'.$env{'request.course.id'}.'.domain'} eq 'gci')) {              ($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];
Line 1903  sub utilityfunctions { Line 1915  sub utilityfunctions {
         if ($env{'request.course.id'}) {          if ($env{'request.course.id'}) {
             $createtesturl = '/adm/roles?selectrole=1&cm=1&orgurl=%2fadm%2frequestcourse';              $createtesturl = '/adm/roles?selectrole=1&cm=1&orgurl=%2fadm%2frequestcourse';
         }          }
           my %allnums = &Apache::loncommon::get_faculty_cnums();
           my $udom = $env{'user.domain'};
           my %crs_by_caller;
           if (ref($allnums{$udom}) eq 'HASH') {
               foreach my $key (%{$allnums{$udom}}) {
                   $crs_by_caller{$allnums{$udom}->{$key}} = 'st./'.$udom.'/'.$key.'=1';
               }
           }
       }
   
         $gcimenujs = <<"ENDCUSTOM";          $gcimenujs = <<"ENDCUSTOM";
   
 function switchpage(caller) {  function switchpage(caller) {
     if (caller == 'review') {      if (caller == 'review') {
         document.location.href = '/adm/roles?selectrole=1&st./gci/9615072b469884921gcil1=1';          document.location.href = '/adm/roles?selectrole=1&'.$crs_by_caller{'review'};
     }      }
     if (caller == 'submit') {      if (caller == 'submit') {
         document.location.href = '/adm/roles?selectrole=1&st./gci/1H96711d710194bfegcil1=1';          document.location.href = '/adm/roles?selectrole=1&'.$crs_by_caller{'submit'};
     }      }
     if (caller == 'createtest') {      if (caller == 'createtest') {
         document.location.href = '$createtesturl';          document.location.href = '$createtesturl';
Line 1919  function switchpage(caller) { Line 1941  function switchpage(caller) {
         document.location.href = '$managetesturl';          document.location.href = '$managetesturl';
     }      }
     if (caller == 'tutorial') {      if (caller == 'tutorial') {
         document.location.href = '/adm/roles?selectrole=1&st./gci/5422913620b814c90gcil1=1';          document.location.href = '/adm/roles?selectrole=1&'.$crs_by_caller{'tutorial'};
     }      }
     return;      return;
 }  }

Removed from v.1.309.2.21  
changed lines
  Added in v.1.309.2.22


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