--- loncom/interface/londocs.pm 2009/12/20 02:09:00 1.411.2.3 +++ loncom/interface/londocs.pm 2010/12/05 16:40:11 1.411.2.7 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.411.2.3 2009/12/20 02:09:00 raeburn Exp $ +# $Id: londocs.pm,v 1.411.2.7 2010/12/05 16:40:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2620,7 +2620,7 @@ sub handler { my $crstype = &Apache::loncommon::course_type(); my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'}; - if ($coursedom eq 'gcitest') { + if ($coursedom =~ /^\w+citest$/) { my $coursenum = $env{'course.'.$env{'request.course.id'}.'.num'}; my $allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'}); if ($allowed) { @@ -3544,25 +3544,45 @@ sub generate_edit_table { sub concept_test_builder { my ($r,$cdom,$cnum) = @_; + &Apache::londocsgci::setdefaults($cdom); + if ($env{'form.context'} eq 'requestcrs') { + if ($env{'form.phase'} eq 'storemap') { + &Apache::londocsgci::evaluate(); + my $error = &Apache::londocsgci::store('requestcrs',$cdom,$cnum); + my $output = '

'; + if ($error) { + $output .= ''. + &mt('An error occurred saving your concept test: [_1].',$error). + ''; + } else { + &Apache::lonuserstate::readmap($cdom.'/'.$cnum); + $output .= &mt('Your concept test has been saved.'); + } + $output .= '

'; + if (&Apache::lonrequestcourse::generate_page($r,'new','chooseitems')) { + my $formname = 'requestcrs'; + $r->print('
'); + my $title = &mt('Concept Test Created'); + &Apache::lonrequestcourse::roster_upload_form($r,$output,$formname,$title); + } + $r->print(&Apache::loncommon::end_page()); + return; + } + } my $js = ' '; - my $starthash = { - add_entries => {'onload' => "javascript:setInitialVisibility();"}, - }; - - $r->print(&Apache::loncommon::start_page('Assemble Test',$js,$starthash)); + $r->print(&Apache::loncommon::start_page('Assemble Test',$js)); &Apache::lonhtmlcommon::clear_breadcrumbs(); &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/coursedocs', text=>"Assemble Test"}); - &Apache::londocsgci::setdefaults(); if ($env{'form.phase'} eq 'storemap') { &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/coursedocs?phase=storemap', @@ -3584,7 +3604,7 @@ sub concept_test_builder { $r->print(&Apache::lonhtmlcommon::breadcrumbs ('Build Concept Test','Concept_Test_Assembly')); } - &Apache::londocsgci::load(); + &Apache::londocsgci::load($cdom); &Apache::londocsgci::listresources($r,'edit',$cdom,$cnum); $r->print(&Apache::loncommon::end_page()); return;