--- loncom/interface/lonrequestcourse.pm 2009/09/08 13:20:27 1.32 +++ loncom/interface/lonrequestcourse.pm 2009/10/02 16:15:49 1.36.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network # Request a course # -# $Id: lonrequestcourse.pm,v 1.32 2009/09/08 13:20:27 raeburn Exp $ +# $Id: lonrequestcourse.pm,v 1.36.2.2 2009/10/02 16:15:49 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -178,7 +178,7 @@ sub handler { $trail{'enrollment'} = 'Enrollment'; } - my ($page,$crumb,$newinstcode,$codechk,$checkedcode) = + my ($page,$crumb,$newinstcode,$codechk,$checkedcode,$description) = &get_breadcrumbs($dom,$action,\$state,\%states,\%trail); if ($action eq 'display') { if (($dom eq $env{'request.role.domain'}) && (&Apache::lonnet::allowed('ccc',$dom))) { @@ -238,8 +238,8 @@ sub handler { foreach my $item (@code_order) { $crosslistcode .= $env{'form.crosslist_'.$i.'_'.$item}; } - if ($crosslistcode ne '') { - $codechk{$i} = + if ($crosslistcode ne '') { + ($codechk{$i}, my $rest) = &Apache::lonnet::auto_validate_instcode('',$dom,$crosslistcode); } unless ($codechk{$i} eq 'valid') { @@ -286,7 +286,8 @@ sub handler { } else { &request_administration($r,$action,$state,$page,\%states,$dom, $jscript,$loaditems,$crumb,$newinstcode, - $codechk,$checkedcode,\@invalidcrosslist); + $codechk,$checkedcode,$description, + \@invalidcrosslist); } } else { $r->print(&header('Course Requests').$crumb. @@ -310,7 +311,7 @@ sub handler { &close_popup_form()); } else { &request_administration($r,$action,$state,$page,\%states,$dom,$jscript, - $loaditems,$crumb,'','','','',$uname,$udom); + $loaditems,$crumb,'','','','','',$uname,$udom); } } elsif ($action eq 'log') { &print_request_logs($jscript,$loaditems,$crumb); @@ -346,7 +347,7 @@ END sub get_breadcrumbs { my ($dom,$action,$state,$states,$trail) = @_; - my ($crumb,$newinstcode,$codechk,$checkedcode,$numtitles); + my ($crumb,$newinstcode,$codechk,$checkedcode,$numtitles,$description); my $page = 0; if ((ref($states) eq 'HASH') && (ref($trail) eq 'HASH') && (ref($state))) { if (defined($action)) { @@ -371,7 +372,7 @@ sub get_breadcrumbs { $$state = 'codepick'; $page --; } else { - $codechk = + ($codechk,$description) = &Apache::lonnet::auto_validate_instcode('', $dom,$newinstcode); if ($codechk ne 'valid') { @@ -416,7 +417,7 @@ sub get_breadcrumbs { {text=>'Pick Action'}); $crumb = &Apache::lonhtmlcommon::breadcrumbs('Course Requests','Course_Requests'); } - return ($page,$crumb,$newinstcode,$codechk,$checkedcode); + return ($page,$crumb,$newinstcode,$codechk,$checkedcode,$description); } sub header { @@ -626,12 +627,12 @@ sub check_can_request { } sub course_types { - my @types = ('official','unofficial','community'); + my @types = ('unofficial'); my %typename = ( official => 'Official course', unofficial => 'Unofficial course', community => 'Community', - ); + ); return (\@types,\%typename); } @@ -657,8 +658,31 @@ sub print_main_menu { } } + my $standby=&mt('Course selected. Please stand by.'); my $js = <<"END"; +function enterrole (thisform,rolecode,buttonname) { + document.title='$standby'; + window.status='$standby'; + thisform.newrole.value=rolecode; + thisform.selectrole.value='1'; + thisform.submit(); +} + +function ToSyllabus(cdom,cnum) { + if (cdom == '' || cdom == null) { + return; + } + if (cnum == '' || cnum == null) { + return; + } + var options = 'height=600,width=800,resizable=yes,scrollbars=yes,location=no,menubar=no,toolbar=no'; + var url = "/public/"+cdom+"/"+cnum+"/syllabus"; + syllwin = window.open(url,'',options,1); + syllwin.focus(); + return; +} + function nextPage(formname) { var crschoice = document.mainmenu_coursetype.crstype.value; var actionchoice = document.mainmenu_action.action.value; @@ -723,16 +747,20 @@ END } END - - $r->print(&header('Course Requests',$js.$jscript,$loaditems).$crumb.'
'. &Apache::lonhtmlcommon::start_pick_box(). &Apache::lonhtmlcommon::row_title(&mt('Course Domain')). - '
'.&Apache::lonhtmlcommon::row_closure()); my $formname = 'requestcrs'; @@ -742,41 +770,217 @@ END '. &Apache::lonhtmlcommon::row_closure(1). - &Apache::lonhtmlcommon::row_title(&mt('Course Type')).' -'."\n". + &Apache::lonhtmlcommon::row_title(&mt('Course Type')). + &mt($typename->{'unofficial'})."\n". + ''."\n". &Apache::lonhtmlcommon::row_closure(1)."\n". - &Apache::lonhtmlcommon::end_pick_box().'