--- loncom/interface/loncreatecourse.pm 2009/10/02 19:10:23 1.129 +++ loncom/interface/loncreatecourse.pm 2013/12/25 09:52:42 1.153 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.129 2009/10/02 19:10:23 raeburn Exp $ +# $Id: loncreatecourse.pm,v 1.153 2013/12/25 09:52:42 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -61,8 +61,6 @@ described at http://www.lon-capa.org. =item creation_display_filter() -=item course_types() - =item context_names() =item instcode_srchstr() @@ -95,6 +93,7 @@ sub print_course_creation_page { $crstype = 'Course'; } my $defdom=$env{'request.role.domain'}; + my %domdefaults = &Apache::lonnet::get_domain_defaults($defdom); my %host_servers = &Apache::lonnet::get_servers($defdom,'library'); my $course_home = '' - .&Apache::loncommon::studentbrowser_javascript() - .&Apache::loncommon::selectstudent_link('ccrs','ccuname','ccdomain') - .&Apache::lonhtmlcommon::row_closure() - - .&Apache::lonhtmlcommon::row_title($lt{'dmn'},"","LC_odd_row_value") - .$domform - .&Apache::lonhtmlcommon::row_closure() - - .&Apache::lonhtmlcommon::row_headline() - .'

'.$lt{'cinf'}.'

' - .&Apache::lonhtmlcommon::row_closure() - - .&Apache::lonhtmlcommon::row_title($lt{'ctit'}) - .'' - .&Apache::lonhtmlcommon::row_closure() - - .&Apache::lonhtmlcommon::row_title($lt{'chsr'}) - .$course_home - .&Apache::lonhtmlcommon::row_closure() + $r->print('
' + .&Apache::lonhtmlcommon::start_pick_box() - .&Apache::lonhtmlcommon::row_title($lt{'cidn'}.' ('.$lt{'opt'}.')') - .'' - .&Apache::lonhtmlcommon::row_closure() - - .&Apache::lonhtmlcommon::row_headline() + .&Apache::lonhtmlcommon::row_headline() + .'

'.$lt{'ow'}.' '.$lt{'cc'}.'

' + .&Apache::lonhtmlcommon::row_closure() + + .&Apache::lonhtmlcommon::row_title($lt{'user'}) + .'' + .&Apache::loncommon::studentbrowser_javascript() + .&Apache::loncommon::selectstudent_link('ccrs','ccuname','ccdomain') + .&Apache::lonhtmlcommon::row_closure() + + .&Apache::lonhtmlcommon::row_title($lt{'dmn'},"","LC_odd_row_value") + .$domform + .&Apache::lonhtmlcommon::row_closure() + + .&Apache::lonhtmlcommon::row_headline() + .'

'.$lt{'cinf'}.'

' + .&Apache::lonhtmlcommon::row_closure() + + .&Apache::lonhtmlcommon::row_title($lt{'ctit'}) + .'' + .&Apache::lonhtmlcommon::row_closure() + + .&Apache::lonhtmlcommon::row_title($lt{'chsr'}) + .$course_home + .&Apache::lonhtmlcommon::row_closure() + + .&Apache::lonhtmlcommon::row_title($lt{'cidn'}.' ('.$lt{'opt'}.')') + .'' + .&Apache::lonhtmlcommon::row_closure() + ); + if ($crstype eq 'Course') { + $r->print(&Apache::lonhtmlcommon::row_headline() .'

'.$lt{'iinf'}.'

' - .$lt{'stat'} + .$lt{'stat'}.' ' + .&mt('Default credits can also be specified, if different from the domain defaults (official courses: [_1]; unofficial courses: [_2]; textbook courses: [_3]).', + $domdefaults{'officialcredits'},$domdefaults{'unofficialcredits'},$domdefaults{'textbookcredits'}) .&Apache::lonhtmlcommon::row_closure() .&Apache::lonhtmlcommon::row_title($lt{'ccod'}) @@ -330,9 +337,22 @@ END .'
('.$lt{'cscs'}.')' .&Apache::lonhtmlcommon::row_closure() ); - - # Table: New Course / Clone Course - $r->print(&Apache::lonhtmlcommon::row_headline() + if ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'} || $domdefaults{'textbookcredits'}) { + $r->print(&Apache::lonhtmlcommon::row_title($lt{'ccre'}) + .'' + .'
('.$lt{'cred'}.')' + .&Apache::lonhtmlcommon::row_closure() + ); + } + $r->print(&Apache::lonhtmlcommon::row_title($lt{'crcd'}) + .'' + .''.&mt('Yes').(' 'x2) + .''.&mt('No') + .&Apache::lonhtmlcommon::row_closure() + ); + } + # Table: New Course / Clone Course + $r->print(&Apache::lonhtmlcommon::row_headline() .'

'.$lt{'crco'}.'

' .&Apache::loncommon::start_data_table() .&Apache::loncommon::start_data_table_header_row() @@ -357,15 +377,21 @@ END .'' - .' ' - .''); + } + $r->print('
('.$lt{'stco'}.')' .&Apache::lonhtmlcommon::row_closure(1) .&Apache::lonhtmlcommon::end_pick_box() @@ -397,24 +423,24 @@ END .' ' .&Apache::lonhtmlcommon::row_closure() .&Apache::lonhtmlcommon::row_headline() - .$lt{'asov'} + .''.$lt{'asov'}.'' .&Apache::lonhtmlcommon::row_closure(1) .&Apache::lonhtmlcommon::end_pick_box() .'' .&Apache::loncommon::end_data_table_row() .&Apache::loncommon::end_data_table() .&Apache::lonhtmlcommon::row_closure() - ); + ); - $r->print(&Apache::lonhtmlcommon::row_headline() + $r->print(&Apache::lonhtmlcommon::row_headline() .'

'.$lt{'dads'}.'

' .&Apache::lonhtmlcommon::row_closure() .&Apache::lonhtmlcommon::row_title($lt{'dacc'}) .$access_table .&Apache::lonhtmlcommon::row_closure() - ); + ); - $r->print(&Apache::lonhtmlcommon::row_headline() + $r->print(&Apache::lonhtmlcommon::row_headline() .'

'.$lt{'assp'}.'

' .&Apache::lonhtmlcommon::row_closure() @@ -465,8 +491,9 @@ END .&Apache::lonhtmlcommon::row_title($lt{'rshm'}) .'' .&Apache::lonhtmlcommon::row_closure() - - .&Apache::lonhtmlcommon::row_headline() + ); + if ($crstype eq 'Course') { + $r->print(&Apache::lonhtmlcommon::row_headline() .'

'.$lt{'aens'}.'

' .&Apache::lonhtmlcommon::row_closure() @@ -509,8 +536,10 @@ END .''.$lt{'no'} .' ' .&Apache::lonhtmlcommon::row_closure() - - .&Apache::lonhtmlcommon::row_headline() + ); + } + + $r->print(&Apache::lonhtmlcommon::row_headline() .'

'.$lt{'cgrs'}.'

' .&Apache::lonhtmlcommon::row_closure() @@ -519,149 +548,26 @@ END .&Apache::lonhtmlcommon::row_closure(1) .&Apache::lonhtmlcommon::end_pick_box() - ); - $r->print(< + .'
' + ); + if ($crstype eq 'Course') { + $r->print('

- -

-
-ENDDOCUMENT - +' + ); } elsif ($crstype eq 'Community') { - $r->print(< -

$lt{'co'} $lt{'gc'}

-

- -

- -

-

$lt{'ginf'}

-

- -

- -

- -

-

$lt{'grco'}

- - - -
$lt{'cngr'}$lt{'cegr'}
-

- -$lt{'smap'} -

- -
-($lt{'ocik'}): - -

-$lt{'fres'}
($lt{'stgo'}): - -  - -  - -

-
- -
- -
-
-
- -
 
-$lt{'asov'}. -
-

-

-

$lt{'mssg'}

-

- -
- -

-

$lt{'cmmn'}

-

- -
- -

-

$lt{'acco'}

-

- -
- -

-

$lt{'rshm'}

-

- -

-

$lt{'grts'}

-

-$lt{'grtq'} -Mb -

-
+ $r->print('

- -

- -ENDDOCUMENT + +

' + ); } - $r->print($end_page); + $r->print(''. + $end_page); } # ====================================================== Phase two: make course @@ -672,6 +578,8 @@ sub create_course { my $ccdomain=&LONCAPA::clean_domain($env{'form.ccdomain'}); my $crstype = 'Community'; my ($enrollstart,$enrollend,$startaccess,$endaccess); + my %domdefaults = + &Apache::lonnet::get_domain_defaults($env{'request.role.domain'}); if ($env{'form.phase'} eq 'coursetwo') { $crstype='Course'; @@ -747,6 +655,15 @@ sub create_course { firstres => $env{'form.firstres'} }; + if (($crstype eq 'Course') && + ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'} || $domdefaults{'textbookcredits'})) { + $args->{'defaultcredits'} = $env{'form.defaultcredits'}; + } + + if ($env{'form.uniquecode'}) { + $args->{'uniquecode'} = 1; + } + # # Verify data # @@ -775,29 +692,38 @@ sub create_course { ,$env{'form.course_home'}.&Apache::loncommon::end_page())); return; } - my ($courseid,$crsudom,$crsunum); + my ($courseid,$crsudom,$crsunum,$code); my ($success,$output) = &Apache::loncommon::construct_course($args,\$logmsg,\$courseid, \$crsudom,\$crsunum, $env{'user.domain'}, - $env{'user.name'},'dc_create'); + $env{'user.name'},'dc_create',undef,undef,\$code); $r->print($output); if ($success) { # # Make the requested user a course coordinator or group coordinator # if (($ccdomain) && ($ccuname)) { + my $ccrole = 'cc'; + if ($crstype eq 'Community') { + $ccrole = 'co'; + } $r->print(&mt('Assigning role of '.$crstype.' Coordinator to [_1]:', ,''.$ccuname.':'.$ccdomain.'') .&Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid, - 'cc','','','','','createcourse').'

'); + $ccrole,'','','','','createcourse').'

'); } if ($env{'form.setkeys'}) { $r->print( '

'.&mt('Manage Access Keys').'

'); } + if ($code) { + $r->print( + '

'.&mt('Course indentifier to share with students: [_1]',$code).'

' + ); + } # Flush the course logs so reverse user roles immediately updated - &Apache::lonnet::flushcourselogs(); + $r->register_cleanup(\&Apache::lonnet::flushcourselogs); $r->print('

'.&mt('Roles will be active at next login').'.

'); } $r->print('

'. @@ -806,7 +732,7 @@ sub create_course { } sub print_intro_page { - my $r = shift; + my ($r,$show_all_choices) = @_; my $start_page = &Apache::loncommon::start_page('Create a New Course or Community'); my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses'); @@ -814,51 +740,78 @@ sub print_intro_page { &Apache::loncommon::end_page(); my $helplink=&Apache::loncommon::help_open_topic('Create_Course_Community',&mt('Help on Creating Courses and Communities')); - my @choices = ({ internal_name => 'courseone', - name => &mt('Create a single course'), - short_description => - &mt('Create a new course by completing an online form.'), - }, - { internal_name => 'groupone', - name => &mt('Create a single community'), - short_description => - &mt('Create a new collaborative community by completing an online form.'), - }, - { internal_name => 'batchone', - name => &mt('Create courses/communities by uploading an attributes file'), - short_description => - &mt('Upload an attributes file containing specifications for one or more courses or communities in XML format.'), - help => 'Batch_Creation', - }, - { internal_name => 'requestdisplay', - name => &mt('Approve or reject course requests'), - short_description => - &mt('Display course creation requests submitted by authorized users, held pending approval by a Domain Coordinator.'), - }, - { internal_name => 'creationlog', - name => &mt('View course creation log'), - short_description => - &mt('Display information about when, how and by whom courses were created in this domain.'), - }, + # Create menu + my @menu; + @menu = + ({ categorytitle => 'Course/Community Creation', + items => [ + { + linktext => 'Create a single course', + url => '/adm/createcourse?phase=courseone', + permission => 1, + #help => '', + icon => 'crsnew.png', + linktitle => 'Create a new course by completing an online form.' + }, + { + linktext => 'Create a single community', + url => '/adm/createcourse?phase=groupone', + permission => $show_all_choices, + #help => '', + icon => 'crsnew.png', + linktitle => 'Create a new collaborative community by completing an online form.' + }, + { + linktext => 'Create courses/communities by uploading an attributes file', + url => '/adm/createcourse?phase=batchone', + permission => 1, + help => 'Batch_Creation', + icon => 'uplcrs.png', + linktitle => 'Upload an attributes file containing specifications for one or more courses or communities in XML format.' + }, + ] + }, + { categorytitle => 'Course/Community Requests', + items => [ + { + linktext => 'Approve or reject requests', + url => '/adm/createcourse?phase=requestdisplay', + permission => $show_all_choices, + #help => '', + icon => 'rcrs.png', + linktitle => 'Display course and community creation requests submitted by authorized users, held pending approval by a Domain Coordinator.' + }, + { + linktext => 'View pending official course requests', + url => '/adm/createcourse?phase=pendingdisplay', + permission => $show_all_choices, + #help => '', + icon => 'edit-find.png', + alttext => '', + linktitle => 'Display official course requests submitted by authorized users, held pending validation of instructor status.' + }, + ] + }, + { categorytitle => 'Administration', + items => [ + { + linktext => 'View creation log', + url => '/adm/createcourse?phase=creationlog', + permission => $show_all_choices, + #help => '', + icon => 'document-properties.png', + linktitle => 'Display information about when, how and by whom courses and communities were created in this domain.' + }, + ] + }, + ); + + $r->print( + $start_page + .$crumbs + .&Apache::lonhtmlcommon::generate_menu(@menu) + .$end_page ); - my $options; - foreach my $choice (@choices) { - $options .='

'. - $choice->{'name'}.''; - if (exists($choice->{'help'})) { - $options .= &Apache::loncommon::help_open_topic($choice->{'help'}); - } - $options .= "

\n".' '.(' 'x8).$choice->{'short_description'}. - "\n"; - } - - $r->print(<'. '

'. ''); + 'value="'.&mt('Create Courses/Communities').'" />'); $r->print($end_page); return; } @@ -926,15 +879,16 @@ sub courserequestbrowser_javascript { ENDREQBRW @@ -962,8 +916,6 @@ sub print_creation_logs { foreach my $item ('show','page','type','context') { $curr{$item} = $env{'form.'.$item}; } - my $createdafter = &Apache::lonhtmlcommon::get_date_from_form('created_after_date'); - my $createdbefore = &Apache::lonhtmlcommon::get_date_from_form('created_before_date'); $curr{'created_after_date'} = &Apache::lonhtmlcommon::get_date_from_form('created_after_date'); $curr{'created_before_date'} = &Apache::lonhtmlcommon::get_date_from_form('created_before_date'); foreach my $key (keys(%defaults)) { @@ -971,15 +923,14 @@ sub print_creation_logs { $curr{$key} = $defaults{$key}; } } - my (%whodunit,$version); - ($version) = ($r->dir_config('lonVersion') =~ /^([\d\.]+)\-/); - $r->print(&creation_display_filter($formname,\%curr,$version)); + my %whodunit; + $r->print(&creation_display_filter($formname,\%curr)); my $showntablehdr = 0; my $tablehdr = &Apache::loncommon::start_data_table(). &Apache::loncommon::start_data_table_header_row(). ' '.&mt('Creation Date').''. ''.&mt('Creator').''.&mt('Description').''. - ''.&mt('Course Owner(s)').''; + ''.&mt('Owner(s)').''; if (($curr{'type'} eq 'official') || ($curr{'type'} eq 'any')) { $tablehdr .= ''.&mt('Institutional Code').''; } @@ -1015,7 +966,7 @@ sub print_creation_logs { if ($numtitles) { if (($curr{'type'} eq 'official') || ($curr{'type'} eq 'unofficial')) { $instcodefilter = &instcode_srchstr($dom,$numtitles); - &Apache::courseclassifier::instcode_search_str($dom,$numtitles); + &Apache::courseclassifier::instcode_search_str($dom,$numtitles,\@codetitles); if ($curr{'type'} eq 'official') { $regexpok = 1; } else { @@ -1038,6 +989,12 @@ sub print_creation_logs { undef,undef,undef,$curr{'created_before_date'}, $curr{'created_after_date'},$creationcontext); foreach my $cid (sort { $courses{$b}{'created'}<=>$courses{$a}{'created'} } (keys(%courses))) { + if ($curr{'show'} ne &mt('all')) { + if ($count >= $curr{'page'} * $curr{'show'}) { + $more_records = 1; + last; + } + } $count ++; next if ($count < $minshown); if (!$showntablehdr) { @@ -1157,7 +1114,7 @@ ENDSCRIPT } sub creation_display_filter { - my ($formname,$curr,$version) = @_; + my ($formname,$curr) = @_; my $nolink = 1; my ($contexts,$contextnames) = &context_names(); my $output = ''. ''; - my ($types,$typenames) = &course_types(); + my ($types,$typenames) = &Apache::loncommon::course_types(); if (ref($types) eq 'ARRAY') { if (@{$types} > 1) { $output .= '
'. @@ -1173,14 +1130,14 @@ sub creation_display_filter { &Apache::lonhtmlcommon::date_setter($formname,'created_before_date', $curr->{'created_before_date'},undef, undef,undef,undef,undef,undef,undef,$nolink); - $output .= ''.&mt('Window during which course was created:').'
'. + $output .= '
'.&mt('Window during which course/community was created:').'
'. ''. ''. '
'.&mt('After:'). ''.$startform.'
'.&mt('Before:').''.$endform.'
'. '
  '. @@ -1228,35 +1185,17 @@ sub creation_display_filter { # Update Display button $output .= '

'. ''. - '

'; - - # Server version info - $output .= '

'. - &mt('Only courses created from servers running LON-CAPA [_1] or later are displayed.','2.9.0'); - if ($version) { - $output .= ' '.&mt('This LON-CAPA server is version [_1]',$version); - } - $output .= '


'; + '


'; return $output; } -sub course_types { - my @types = qw(official unofficial community); - my %typename = ( - official => 'Official course', - unofficial => 'Unofficial course', - community => 'Community', - ); - return (\@types,\%typename); -} - sub context_names { my @contexts = qw(auto web dc_create requestcourses); my %contextnames = &Apache::lonlocal::texthash ( auto => 'Automated creation from batch file', web => 'Batch creation from uploaded file', - dc_create => 'Single course created by Domain Coordinator', + dc_create => 'Course or community created by Dom. Coord.', requestcourses => 'Processing of submitted course request', ); return (\@contexts,\%contextnames); @@ -1316,6 +1255,13 @@ sub handler { return OK; } + my $show_all_choices = 0; + my $primary_rev = &Apache::lonnet::get_server_loncaparev($env{'request.role.domain'}); + if (($primary_rev ne 'refused') && ($primary_rev ne 'error') && + ($primary_rev ne 'unknown_cmd') && ($primary_rev ne 'no_such_host')) { + $show_all_choices = 1; + } + if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; @@ -1328,7 +1274,8 @@ sub handler { text=>"Creation Options", faq=>79,bug=>'Dom Coord Interface',}); if (($env{'form.phase'} eq 'coursetwo') || - ($env{'form.phase'} eq 'grouptwo')) { + (($env{'form.phase'} eq 'grouptwo') && + ($show_all_choices))) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>"/adm/createcourse?phase=$env{'form.prevphase'}", text=>&mt('[_1] Creation Settings',), @@ -1339,7 +1286,8 @@ sub handler { faq=>9,bug=>'Dom Coord Interface',}); &create_course($r); } elsif (($env{'form.phase'} eq 'courseone') || - ($env{'form.phase'} eq 'groupone')) { + (($env{'form.phase'} eq 'groupone') && + ($show_all_choices))) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>"/adm/createcourse?phase=$env{'form.phase'}", text=>&mt('[_1] Creation Settings',), @@ -1361,7 +1309,7 @@ sub handler { text=>"Creation Outcome", faq=>9,bug=>'Dom Coord Interface',}); &process_batchfile($r); - } elsif ($env{'form.phase'} eq 'requestdisplay') { + } elsif (($env{'form.phase'} eq 'requestdisplay') && ($show_all_choices)) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>"/adm/createcourse?phase=$env{'form.phase'}", text=>&mt('[_1] Display Request Queue',), @@ -1373,21 +1321,53 @@ sub handler { &Apache::loncoursequeueadmin::display_queued_requests( 'domain',$env{'request.role.domain'}).''. &Apache::loncommon::end_page()); - } elsif ($env{'form.phase'} eq 'requestchange') { + } elsif (($env{'form.phase'} eq 'requestchange') && ($show_all_choices)) { + if ($env{'form.queue'} eq 'pending') { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"/adm/createcourse?phase=pendingdisplay", + text=>&mt('Display Pending Queue',), + faq=>9,bug=>'Dom Coord Interface',}); + } else { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"/adm/createcourse?phase=requestdisplay", + text=>&mt('[_1] Display Request Queue',), + faq=>9,bug=>'Dom Coord Interface',}); + } &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"/adm/createcourse?phase=requestdisplay", - text=>&mt('[_1] Display Request Queue',), - faq=>9,bug=>'Dom Coord Interface',}, - {href=>"/adm/createcourse?phase=requestchange", - text=>&mt('[_1] Requests Updated',), - faq=>9,bug=>'Dom Coord Interface',},); + ({href=>"/adm/createcourse?phase=requestchange", + text=>&mt('[_1] Requests Updated',), + faq=>9,bug=>'Dom Coord Interface',},); my $start_page=&Apache::loncommon::start_page('Update Requests Result'); my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Requests Updated','Course_Request',undef,'Course_Request'); $r->print($start_page.$crumbs."\n".'
'. &Apache::loncoursequeueadmin::update_request_queue( 'domain',$env{'request.role.domain'}).'
'. &Apache::loncommon::end_page()); - } elsif ($env{'form.phase'} eq 'creationlog') { + } elsif (($env{'form.phase'} eq 'pendingdisplay') && ($show_all_choices)) { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"/adm/createcourse?phase=$env{'form.phase'}", + text=>&mt('Display Pending Queue',), + faq=>9,bug=>'Dom Coord Interface',}); + my $js = &courserequestbrowser_javascript(); + my $start_page=&Apache::loncommon::start_page('Display Pending Queue',$js); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Pending Queue','Course_Request',undef,'Course_Request'); + $r->print($start_page.$crumbs."\n".'
'. + &Apache::loncoursequeueadmin::display_queued_requests( + 'pending',$env{'request.role.domain'}).'
'. + &Apache::loncommon::end_page()); + } elsif (($env{'form.phase'} eq 'requestvalidation') && ($show_all_choices)) { + my $js = &courserequestbrowser_javascript(); + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"/adm/createcourse?phase=pendingdisplay", + text=>&mt('Display Pending Queue'),}, + {href=>"/adm/createcourse?phase=requestvalidation", + text=>&mt('Validation Attempted'),},); + my $start_page=&Apache::loncommon::start_page('Requests Validation Result',$js); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Validation Attempted','Course_Request',undef,'Course_Request'); + $r->print($start_page.$crumbs."\n".'
'. + &Apache::loncoursequeueadmin::process_official_reqs('domain',$env{'request.role.domain'}).'
'. + &Apache::loncommon::end_page()); + } elsif (($env{'form.phase'} eq 'creationlog') && ($show_all_choices)) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>"/adm/createcourse?phase=creationlog", text=>&mt('[_1] Display Creation History',),}); @@ -1396,13 +1376,13 @@ sub handler { &syllabuslink_javascript()."\n". '// ]]>'."\n". ''; - my $start_page=&Apache::loncommon::start_page('Course Creation Logs',$js); - my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Created Courses','Creation_Log',undef,'Creation_Log'); + my $start_page=&Apache::loncommon::start_page('Course/Community Creation Logs',$js); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Created Courses/Communities','Course_Creation_Log',undef,'Course_Creation_Log'); $r->print($start_page.$crumbs."\n".'
'); &print_creation_logs($r); $r->print('
'.&Apache::loncommon::end_page()); } else { - &print_intro_page($r); + &print_intro_page($r,$show_all_choices); } } else { $env{'user.error.msg'}=