--- loncom/interface/lonrequestcourse.pm 2013/12/27 14:34:52 1.72 +++ loncom/interface/lonrequestcourse.pm 2015/09/01 14:11:26 1.94 @@ -1,7 +1,7 @@ # The LearningOnline Network # Request a course # -# $Id: lonrequestcourse.pm,v 1.72 2013/12/27 14:34:52 raeburn Exp $ +# $Id: lonrequestcourse.pm,v 1.94 2015/09/01 14:11:26 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -128,7 +128,7 @@ sub handler { } &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, - ['action','showdom','cnum','state','crstype','queue']); + ['action','showdom','cnum','state','crstype','queue','tabs']); &Apache::lonhtmlcommon::clear_breadcrumbs(); my $dom = &get_course_dom(); my $action = $env{'form.action'}; @@ -155,16 +155,47 @@ sub handler { } if ($canreq) { - if ((scalar(keys(%can_request)) == 1) && ($can_request{'textbook'})) { + if (($env{'form.crstype'} eq 'textbook') || + (scalar(keys(%can_request)) == 1) && ($can_request{'textbook'})) { my %domconfig = &Apache::lonnet::get_dom('configuration',['requestcourses'],$dom); if ($action eq 'log') { + my $usetabs; + if ((scalar(keys(%can_request)) == 1) && ($can_request{'textbook'})) { + $usetabs = 1; + } elsif ($env{'form.tabs'} eq 'on') { + $usetabs = 1; + } &Apache::lonhtmlcommon::add_breadcrumb({text=>'Course Request'}); my $crumb = &Apache::lonhtmlcommon::breadcrumbs('Course Requests','Course_Requests'); - &print_request_logs($r,$dom,undef,undef,$crumb); + &print_request_logs($r,$dom,undef,undef,$crumb,$usetabs); } elsif ($action eq 'process') { - &process_textbook_request($r,$dom,$action,\%domdefs,\%domconfig); + if ($can_request{'textbook'}) { + &process_textbook_request($r,$dom,$action,\%domdefs,\%domconfig,\%can_request); + } else { + &textbook_request_disabled($r,$dom,$action,\%can_request); + } + } elsif ($action eq 'display') { + my ($uname,$udom,$result,$warning) = &domcoord_display($dom); + if ($warning ne '') { + my $args = { only_body => 1 }; + $r->print(&header('Course/Community Requests','','' ,'',$args). + '
'.$pageinfo.'
'. - ''.$pageinfo.'
'); + if ($earlyout) { + $r->print(&Apache::loncommon::end_page()); + return; + } + $r->print('