--- loncom/interface/londocs.pm 2009/10/31 19:58:48 1.409 +++ 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.409 2009/10/31 19:58:48 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 # @@ -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; @@ -2478,7 +2479,7 @@ ENDHEADERS ('select_form_order' => ['',1..$currentversion,'mostrecent'], '' => '', - 'mostrecent' => 'most recent', + 'mostrecent' => &mt('most recent'), map {$_,$_} (1..$currentversion)))); $r->print(''); my $lastold=1; @@ -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 =~ /^\w+citest$/) { + 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', @@ -2972,9 +2982,9 @@ FUFORM SEDFFORM my @simpleeditdefaultforma = ( - { 'pic03' => "$uploadtag$lt{'srch'}" }, - { 'pic04' => "$lt{'impo'}$help{'Importing_LON-CAPA_Resource'}" }, - { 'pic05' => "$lt{'book'}" }, + { ''.&mt('Search').'' => "$uploadtag$lt{'srch'}" }, + { ''.&mt('Import').'' => "$lt{'impo'}$help{'Importing_LON-CAPA_Resource'}" }, + { ''.&mt('Import Bookmarks').'' => "$lt{'book'}" }, ); $simpleeditdefaultform .= create_form_ul(create_list_elements(@simpleeditdefaultforma)); $simpleeditdefaultform .=(< NGFFORM @specialdocumentsforma=( - {'pic06'=>$newpageform}, - {'pic07'=>$newsylform}, - {'pic08'=>$newgroupfileform}, + {''.&mt('New Composite Page').''=>$newpageform}, + {''.&mt('Syllabus').''=>$newsylform}, + {''.&mt('Group Portfolio').''=>$newgroupfileform}, ); } - push @specialdocumentsforma, ({'pic09'=>$newnavform}, - {'pic10'=>$newsmppageform}, - {'pic11'=>$newsmpproblemform}, - {'pic12'=>$newdropboxform}, - {'pic13'=>$newexuploadform}, - {'pic14'=>$newbulform}, - {'pic15'=>$newaboutmeform}, - {'pic16'=>$newaboutsomeoneform}, - {'pic17'=>$newrosterform},); + push @specialdocumentsforma, ({''.&mt('Navigate Contents').''=>$newnavform}, + {''.&mt('Simple Course Page').''=>$newsmppageform}, + {''.&mt('Simple Problem').''=>$newsmpproblemform}, + {''.&mt('Drop Box').''=>$newdropboxform}, + {''.&mt('Score Upload Form').''=>$newexuploadform}, + {''.&mt('Discussion Board').''=>$newbulform}, + {''.&mt('My Personal Information Page').''=>$newaboutmeform}, + {''.&mt('Personal Information Page for a User').''=>$newaboutsomeoneform}, + {''.&mt('Course Roster').''=>$newrosterform},); $specialdocumentsform = create_form_ul(create_list_elements(@specialdocumentsforma)); if($env{'form.pagepath'}) { @specialdocumentsforma=( - {'pic32'=>$newsmpproblemform}, - {'pic33'=>$newexuploadform} + {''.&mt('Simple Problem').''=>$newsmpproblemform}, + {''.&mt('Score Upload Form').''=>$newexuploadform} ); $specialdocumentsform= create_form_ul(create_list_elements(@specialdocumentsforma)); } my @tools = ( - {'pic18'=>$extresourcesform}, - {'pic19'=>$imspform}, - {'pic20'=>$recoverform}, + {''.&mt('External Resource').''=>$extresourcesform}, + {''.&mt('IMS Import').''=>$imspform}, + {''.&mt('Recover Deleted Resources').''=>$recoverform}, ); my %orderhash = ( @@ -3409,9 +3419,9 @@ SNAMFORM my @specialdocs = ( - {'pic29'=>$supnewextform}, - {'pic30'=>$supnewsylform}, - {'pic31'=>$supnewaboutmeform}, + {''.&mt('External Resource').''=>$supnewextform}, + {''.&mt('Syllabus').''=>$supnewsylform}, + {''.&mt('My Personal Information Page').''=>$supnewaboutmeform}, ); my %suporderhash = ( '00' => ['Supnewfolder', $supnewfolderform], @@ -3473,15 +3483,15 @@ sub generate_admin_options { my $dumpbut=&dumpbutton(); my $exportbut=&exportbutton(); my @list = ( - {'pic21'=>"$lt{'vc'}$help{'Verify_Content'}"}, - {'pic22'=>"$lt{'cv'}$help{'Check_Resource_Versions'}"}, + {''.&mt('Verify Content').''=>"$lt{'vc'}$help{'Verify_Content'}"}, + {''.&mt('Check/Set Resource Versions').''=>"$lt{'cv'}$help{'Check_Resource_Versions'}"}, ); if($dumpbut ne ''){ - push @list, {'pic23'=>$dumpbut}; + push @list, {''.&mt('Dump Course DOCS to Construction Space: available on other servers').''=>$dumpbut}; } - push @list, ({'pic24'=>$exportbut}, - {'pic25'=>"$lt{'ls'}"}, - {'pic26'=>"$lt{'sl'}"}, + push @list, ({''.&mt('IMS Export').''=>$exportbut}, + {''.&mt('List Symbs').''=>"$lt{'ls'}"}, + {''.&mt('Show Log').''=>"$lt{'sl'}"}, ); return '
'.create_form_ul(create_list_elements(@list)).'
'; @@ -3532,6 +3542,74 @@ sub generate_edit_table { return $form; } +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 = ' + +'; + $r->print(&Apache::loncommon::start_page('Assemble Test',$js)); + &Apache::lonhtmlcommon::clear_breadcrumbs(); + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>'/adm/coursedocs', + text=>"Assemble Test"}); + if ($env{'form.phase'} eq 'storemap') { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>'/adm/coursedocs?phase=storemap', + text=>"Validate Test"}); + &Apache::londocsgci::evaluate(); + $r->print(&Apache::lonhtmlcommon::breadcrumbs + ('Build Concept Test','Concept_Test_Assembly')); + $r->print(&Apache::londocsgci::store('edit',$cdom,$cnum)); + } elsif ($env{'form.phase'} eq 'storeparms') { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>'/adm/coursedocs?phase=storeparms', + text=>"Set Availability"}); + $r->print(&Apache::lonhtmlcommon::breadcrumbs + ('Build Concept Test','Concept_Test_Assembly')); + $r->print(&Apache::londocsgci::store_dates_parms($cdom,$cnum)); + $r->print(&Apache::loncommon::end_page()); + return; + } else { + $r->print(&Apache::lonhtmlcommon::breadcrumbs + ('Build Concept Test','Concept_Test_Assembly')); + } + &Apache::londocsgci::load($cdom); + &Apache::londocsgci::listresources($r,'edit',$cdom,$cnum); + $r->print(&Apache::loncommon::end_page()); + return; +} + sub editing_js { my ($udom,$uname) = @_; my $now = time();