--- loncom/interface/lonrequestcourse.pm 2010/03/19 13:23:05 1.48 +++ loncom/interface/lonrequestcourse.pm 2010/03/30 15:01:17 1.49 @@ -1,7 +1,7 @@ # The LearningOnline Network # Request a course # -# $Id: lonrequestcourse.pm,v 1.48 2010/03/19 13:23:05 raeburn Exp $ +# $Id: lonrequestcourse.pm,v 1.49 2010/03/30 15:01:17 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']); + ['action','showdom','cnum','state','crstype','queue']); &Apache::lonhtmlcommon::clear_breadcrumbs(); my $dom = &get_course_dom(); my $action = $env{'form.action'}; @@ -179,7 +179,8 @@ sub handler { if (($dom eq $env{'request.role.domain'}) && (&Apache::lonnet::allowed('ccc',$dom))) { if ($env{'form.cnum'} ne '') { my $cnum = $env{'form.cnum'}; - my $reqkey = $cnum.'_approval'; + my $queue = $env{'form.queue'}; + my $reqkey = $cnum.'_'.$queue; my $namespace = 'courserequestqueue'; my $domconfig = &Apache::lonnet::get_domainconfiguser($dom); my %queued = @@ -317,7 +318,7 @@ sub handler { } elsif ($action eq 'display') { if ($warning ne '') { my $args = { only_body => 1 }; - $r->print(&header('Course/Community Requests','','',$args).$crumb. + $r->print(&header('Course/Community Requests','','' ,'',$args).$crumb. '

'.&mt('Course/Community Request Details').'

'. '
'.$warning.'
'. &close_popup_form()); @@ -1861,7 +1862,20 @@ sub current_lc_sections { } sub sorted_request_history { - my ($dom,$action,$after,$before) = @_; + my ($dom,$action,$curr_req) = @_; + my ($after,$before,$statusfilter,$crstypefilter); + if ($env{'form.status'} ne '') { + $statusfilter = $env{'form.status'}; + } + if ($env{'form.crstype'} ne '') { + $crstypefilter = $env{'form.crstype'}; + } + if (ref($curr_req) eq 'HASH') { + $after = $curr_req->{'requested_after_date'}, + $before = $curr_req->{'requested_before_date'}; + $statusfilter = $curr_req->{'status'}; + $crstypefilter = $curr_req->{'crstype'}; + } my %statusinfo = &Apache::lonnet::dump('courserequests',$env{'user.domain'}, $env{'user.name'},'^status:'.$dom); my %queue_by_date; @@ -1870,8 +1884,8 @@ sub sorted_request_history { if ($action eq 'view') { next unless (($statusinfo{$key} eq 'approval') || ($statusinfo{$key} eq 'pending')); } else { - next unless (($env{'form.status'} eq 'any') || - ($env{'form.status'} eq $statusinfo{$key})); + next unless (($statusfilter eq 'any') || + ($statusfilter eq $statusinfo{$key})); } (undef,my($cdom,$cnum)) = split(':',$key); next if ($cdom ne $dom); @@ -1890,8 +1904,8 @@ sub sorted_request_history { } else { next if (($reqtime < $after) || ($reqtime > $before)); } - next unless (($env{'form.crstype'} eq 'any') || - ($env{'form.crstype'} eq $crstype)); + next unless (($crstypefilter eq 'any') || + ($crstypefilter eq $crstype)); if ($action eq 'view') { next unless (($disposition eq 'approval') || ($disposition eq 'pending')); @@ -2154,9 +2168,7 @@ sub print_request_logs { my ($statuses,$statusnames) = &reqstatus_names($curr{'crstype'}); $r->print(''. &requestlog_display_filter($formname,\%curr)); - my %queue_by_date = &sorted_request_history($dom,$env{'form.action'}, - $curr{'requested_after_date'}, - $curr{'requested_before_date'}); + my %queue_by_date = &sorted_request_history($dom,$env{'form.action'},\%curr); my @sortedtimes = sort {$a <=> $b} (keys(%queue_by_date)); my $showntablehdr = 0; my $tablehdr = &Apache::loncommon::start_data_table(). @@ -2756,7 +2768,7 @@ ENDJS ''. ''. &Apache::lonhtmlcommon::row_closure(1). @@ -3286,6 +3298,9 @@ sub print_request_outcome { description => $env{'form.cdescr'}, }, }; + if ($crstype eq 'official') { + $request->{$requestid}->{'instcode'} = $instcode; + } my $statuskey = 'status:'.$dom.':'.$cnum; my %userreqhash = &Apache::lonnet::get('courserequests',[$statuskey], $env{'user.domain'},$env{'user.name'});