--- loncom/interface/lonmainmenu.pm 2009/12/07 18:47:31 1.8.4.2 +++ loncom/interface/lonmainmenu.pm 2010/01/05 15:27:31 1.8.4.6 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # displays the main menu # -# $Id: lonmainmenu.pm,v 1.8.4.2 2009/12/07 18:47:31 raeburn Exp $ +# $Id: lonmainmenu.pm,v 1.8.4.6 2010/01/05 15:27:31 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -67,21 +67,29 @@ sub handler { $utility ENDSCRIPT - } elsif ($custommenu) { + } elsif (($custommenu) || ($env{'user.domain'} eq 'gcitest')) { + my $role = 'st'; + if ($custommenu) { + $role = 'cc'; + } my $switcher_js; - my %courses = &Apache::loncommon::existing_gcitest_courses(); + my %courses = &Apache::loncommon::existing_gcitest_courses($role); my $numcourses = keys(%courses); if ($numcourses > 0) { - $switcher = &gcitest_switcher(%courses); + $switcher = &gcitest_switcher($role,%courses); my $current; if ($env{'request.course.id'}) { - $current = 'cc./'.$env{'course.'.$env{'request.course.id'}.'.domain'}. + $current = $role.'./'.$env{'course.'.$env{'request.course.id'}.'.domain'}. '/'.$env{'course.'.$env{'request.course.id'}.'.num'}; } $switcher_js = &gcitest_switcher_js($current,$numcourses); $script_tag= <<"ENDSCRIPT"; ENDSCRIPT } @@ -97,6 +105,8 @@ ENDSCRIPT {'bread_crumbs' => 1})); if ($custommenu) { $r->print(&Apache::lonmenu::inlinemenu('gcicustom',$switcher).$form); + } elsif ($env{'user.domain'} eq 'gcitest') { + $r->print(&Apache::lonmenu::inlinemenu('gcistudent',$switcher).$form); } else { $r->print(&Apache::lonmenu::inlinemenu().$form); } @@ -105,7 +115,7 @@ ENDSCRIPT } sub gcitest_switcher { - my (%courses) = @_; + my ($role,%courses) = @_; my $output; my %Sortby; foreach my $course (sort(keys(%courses))) { @@ -132,12 +142,12 @@ sub gcitest_switcher { } if ($default) { $output = '
'. - ''. ''; foreach my $item (@sorted_courses) { foreach my $course (@{$Sortby{$item}}) { my ($cdom,$cnum) = split('_',$course); - $output .= ''; + $output .= ''; } } $output .= '
'; @@ -145,6 +155,38 @@ sub gcitest_switcher { return $output; } +sub gcitest_switcher_js { + my ($current,$numcourses) = @_; + my $output = <<"ENDJS"; + +function courseswitcher(caller) { + var numcourses = $numcourses; + var current = '$current'; + var choice = document.pickrole.newrole.options[document.pickrole.newrole.selectedIndex].value; + if (choice == '') { + if (caller == 'icon') { + alert('No Concept Test selected'); + } + document.pickrole.selectrole.value = ''; + return; + } + if (choice == current) { + if ((caller != 'icon') && (numcourses > 1)) { + alert('You have selected the current course.\\nPlease select a different Concept Test course'); + } + document.pickrole.newrole.selectedIndex = 0; + document.pickrole.selectrole.value = ''; + return; + } + document.pickrole.selectrole.value = '1'; + document.pickrole.submit(); + return; +} + +ENDJS + return $output; +} + 1; __END__