--- loncom/interface/lonrequestcourse.pm 2009/08/04 20:15:50 1.2 +++ loncom/interface/lonrequestcourse.pm 2009/08/05 12:46:44 1.3 @@ -1,7 +1,7 @@ # The LearningOnline Network # Request a course # -# $Id: lonrequestcourse.pm,v 1.2 2009/08/04 20:15:50 raeburn Exp $ +# $Id: lonrequestcourse.pm,v 1.3 2009/08/05 12:46:44 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -112,7 +112,18 @@ sub handler { } } + my %trail = ( + crstype => 'Pick Action', + codepick => 'Pick Category', + courseinfo => 'Information', + enrollment => 'Enrollment', + personnel => 'Personnel', + review => 'Review', + process => 'Result', + ); + my $page = 0; + my $crumb; if (defined($action)) { my $done = 0; my $i=0; @@ -125,6 +136,28 @@ sub handler { $i++; } } + for (my $i=0; $i<@{$states{$action}}; $i++) { + if ($state eq $states{$action}[$i]) { + &Apache::lonhtmlcommon::add_breadcrumb( + {text=>"$trail{$state}"}); + $crumb = &Apache::lonhtmlcommon::breadcrumbs('Course Requests','Course_Requests'); + last; + } else { + if (($state eq 'process') && ($i > 0)) { + &Apache::lonhtmlcommon::add_breadcrumb( + {href=>"javascript:backPage(document.requestcrs,'$states{$action}[0]')", + text=>"$trail{$states{$action}[$i]}"}); + } else { + &Apache::lonhtmlcommon::add_breadcrumb( + {href=>"javascript:backPage(document.requestcrs,'$states{$action}[$i]')", + text=>"$trail{$states{$action}[$i]}"}); + } + } + } + } else { + &Apache::lonhtmlcommon::add_breadcrumb( + {text=>'Pick Action'}); + $crumb = &Apache::lonhtmlcommon::breadcrumbs('Course Requests','Course_Requests'); } my %can_request; @@ -132,23 +165,24 @@ sub handler { if ($action eq 'new') { if ($canreq) { if ($state eq 'crstype') { - &print_main_menu($r,\%can_request,\%states,$dom,$jscript,$loaditems); + &print_main_menu($r,\%can_request,\%states,$dom,$jscript,$loaditems, + $crumb); } else { &request_administration($r,$action,$state,$page,\%states,$dom,$jscript, - $loaditems); + $loaditems,$crumb); } } else { - $r->print(&header('Course Requests'). + $r->print(&header('Course Requests').$crumb. '
'. &mt('You do not have privileges to request creation of courses.'). '
'.&Apache::loncommon::end_page()); } } elsif ($action eq 'view') { - &print_request_status($jscript,$loaditems); + &print_request_status($jscript,$loaditems,$crumb); } elsif ($action eq 'log') { - &print_request_logs($jscript,$loaditems); + &print_request_logs($jscript,$loaditems,$crumb); } else { - &print_main_menu($r,\%can_request,\%states,$dom,$jscript); + &print_main_menu($r,\%can_request,\%states,$dom,$jscript,'',$crumb); } return OK; } @@ -160,9 +194,11 @@ sub header { $jscript.''."\n"; } if ($loaditems) { - $loaditems = {'add_entries' => $loaditems,}; - } - return &Apache::loncommon::start_page($bodytitle,$jscript.$jsextra,$loaditems); + $loaditems = {'add_entries' => $loaditems,}; + return &Apache::loncommon::start_page($bodytitle,$jscript.$jsextra,$loaditems); + } else { + return &Apache::loncommon::start_page($bodytitle,$jscript.$jsextra); + } } sub form_elements { @@ -331,7 +367,7 @@ sub check_can_request { } sub print_main_menu { - my ($r,$can_request,$states,$dom,$jscript,$loaditems) = @_; + my ($r,$can_request,$states,$dom,$jscript,$loaditems,$crumb) = @_; my $onchange; unless ($env{'form.interface'} eq 'textual') { $onchange = 1; @@ -415,8 +451,8 @@ END END - $r->print(&header('Course Requests',$js.$jscript,$loaditems). - '

'. + $r->print(&header('Course Requests',$js.$jscript,$loaditems).$crumb. + '
'. '
'. &Apache::lonhtmlcommon::start_pick_box(). &Apache::lonhtmlcommon::row_title('Domain'). @@ -457,7 +493,7 @@ END } sub request_administration { - my ($r,$action,$state,$page,$states,$dom,$jscript,$loaditems) = @_; + my ($r,$action,$state,$page,$states,$dom,$jscript,$loaditems,$crumb) = @_; my $js; if (($action eq 'new') || ($action eq 'view')) { $js = <print(&header('Request a course',$js.$jscript,$loaditems,$jsextra)); + $r->print(&header('Request a course',$js.$jscript,$loaditems,$jsextra).$crumb); if ($state eq 'review') { &print_review($r,$state,$dom); } elsif ($state eq 'process') { @@ -487,9 +523,9 @@ END &print_request_form($r,$action,$state,$page,$states,$dom); } } elsif ($action eq 'view') { - $r->print(&header('Manage course requests',$js.$jscript,$loaditems)); + $r->print(&header('Manage course requests',$js.$jscript,$loaditems).$crumb); } elsif ($action eq 'log') { - $r->print(&coursereq_log('View request log',$jscript,$loaditems)); + $r->print(&coursereq_log('View request log',$jscript,$loaditems).$crumb); } $r->print(&Apache::loncommon::end_page()); return;