--- loncom/interface/londocs.pm 2009/12/02 18:33:27 1.411 +++ 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 2009/12/02 18:33:27 bisitz Exp $ +# $Id: londocs.pm,v 1.411.2.6 2010/11/08 19:47:04 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -41,6 +41,7 @@ use Apache::lonratedt(); use Apache::lonxml; use Apache::lonclonecourse; use Apache::lonnavmaps; +use Apache::londocsgci; use HTML::Entities; use GDBM_File; use Apache::lonlocal; @@ -2618,6 +2619,15 @@ sub handler { return OK if $r->header_only; my $crstype = &Apache::loncommon::course_type(); + 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,$coursedom,$coursenum); + return OK; + } + } # --------------------------------------------- Initialize help topics for this foreach my $topic ('Adding_Course_Doc','Main_Course_Documents', @@ -3532,6 +3542,74 @@ sub generate_edit_table { return $form; } +sub concept_test_builder { + 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('