--- loncom/interface/londocs.pm 2009/12/08 04:30:41 1.411.2.2 +++ loncom/interface/londocs.pm 2010/11/08 19:47:04 1.411.2.6 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.411.2.2 2009/12/08 04:30:41 raeburn Exp $ +# $Id: londocs.pm,v 1.411.2.6 2010/11/08 19:47:04 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2621,9 +2621,10 @@ sub handler { my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'}; if ($coursedom eq 'gcitest') { + my $coursenum = $env{'course.'.$env{'request.course.id'}.'.num'}; my $allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'}); if ($allowed) { - &concept_test_builder($r); + &concept_test_builder($r,$coursedom,$coursenum); return OK; } } @@ -3542,15 +3543,69 @@ sub generate_edit_table { } sub concept_test_builder { - my ($r) = @_; - $r->print(&Apache::loncommon::start_page('Assemble Test')); + my ($r,$cdom,$cnum) = @_; &Apache::londocsgci::setdefaults(); + 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('