--- loncom/interface/loncreatecourse.pm 2013/12/17 14:28:36 1.151 +++ loncom/interface/loncreatecourse.pm 2016/04/04 01:13:38 1.160 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.151 2013/12/17 14:28:36 raeburn Exp $ +# $Id: loncreatecourse.pm,v 1.160 2016/04/04 01:13:38 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -91,6 +91,8 @@ sub print_course_creation_page { my $crstype = 'Community'; if ($env{'form.phase'} eq 'courseone') { $crstype = 'Course'; + } elsif ($env{'form.phase'} eq 'placementone') { + $crstype = 'Placement'; } my $defdom=$env{'request.role.domain'}; my %domdefaults = &Apache::lonnet::get_domain_defaults($defdom); @@ -130,9 +132,28 @@ sub print_course_creation_page { $krbform = &Apache::loncommon::authform_kerberos(%param); $intform = &Apache::loncommon::authform_internal(%param); $locform = &Apache::loncommon::authform_local(%param); - } else { + } elsif ($crstype eq 'Community') { my $title_alert = &mt('A Community title is required'); my $coord_alert = &mt('The username of the Coordinator is required'); + &js_escape(\$title_alert); + &js_escape(\$coord_alert); + $javascript_validations = qq| +function validate(formname) { + if (formname.title == '') { + alert("$title_alert"); + return; + } + if (formname.ccuname == '') { + alert("$coord_alert"); + } + formname.submit(); +} + |; + } else { + my $title_alert = &mt('A Placement Test title is required'); + my $coord_alert = &mt('The username of the Course Coordinator is required'); + &js_escape(\$title_alert); + &js_escape(\$coord_alert); $javascript_validations = qq| function validate(formname) { if (formname.title == '') { @@ -145,6 +166,7 @@ function validate(formname) { formname.submit(); } |; + } my %lt=&Apache::lonlocal::texthash( 'cinf' => "Course Information", @@ -158,8 +180,9 @@ function validate(formname) { 'snid' => "Section Numbers and corresponding LON-CAPA section IDs", 'csli' => "a comma separated list of institutional section numbers, each separated by a colon from the (optional) corresponding section ID to be used in LON-CAPA e.g., 001:1,002:2", 'crcs' => "Crosslisted courses", - 'cscs' => "a comma separated list of course sections crosslisted with the current course, with each entry including the institutional course section name followed by a colon and then the (optional) sectionID to be used in LON-CAPA, e.g., fs03ent231001:ent1,fs03bot231001:bot1,fs03zol231002:zol2", + 'cscs' => "a comma separated list of course sections crosslisted with the current course, with each entry including the institutional course section name followed by a colon and then the (optional) section ID to be used in LON-CAPA, e.g., fs03ent231001:ent1,fs03bot231001:bot1,fs03zol231002:zol2", 'ccre' => "Course credits", + 'crcd' => "Create six character course identifier to share with students", 'cred' => "the number of institutional credits students will earn by completing this course", 'crco' => "Course Content", 'cncr' => "Completely new course", @@ -241,6 +264,18 @@ function validate(formname) { $lt{'cc'} = &mt('(will be assigned Coordinator role)'); $lt{'cgrs'} = &mt('Community Group Settings'); $lt{'cgrq'} = &mt('Set a quota for the total disk space available for storage of community group portfolio files'); + } elsif ($crstype eq 'Placement') { + $lt{'cinf'} = &mt('Placement Test Information'); + $lt{'ctit'} = &mt('Placement Test Title'); + $lt{'chsr'} = &mt('Placement Test Home Server'); + $lt{'cidn'} = &mt('Placement Test ID/Number'); + $lt{'crco'} = &mt('Placement Test Content'); + $lt{'cncr'} = &mt('Completely new placement test'); + $lt{'cecr'} = &mt('Clone an existing placement test'); + $lt{'sacr'} = &mt('Do NOT generate as standard placement test'); + $lt{'stco'} = &mt('standard placement tests only'); + $lt{'navi'} = &mt('Placement Test Contents'); + $lt{'cid'} = &mt('Placement Test ID'); } my $js = < @@ -269,6 +304,7 @@ END my %titles = &Apache::lonlocal::texthash( courseone => 'Create a New Course', groupone => 'Create a New Community', + placementone=> 'Create a New Placement Test', ); my $start_page = &Apache::loncommon::start_page($titles{$env{'form.phase'}},$js); @@ -317,8 +353,8 @@ END $r->print(&Apache::lonhtmlcommon::row_headline() .'

'.$lt{'iinf'}.'

' .$lt{'stat'}.' ' - .&mt('Default credits can also be specified, if different from the domain defaults (official courses: [_1]; unofficial courses: [_2]).', - $domdefaults{'officialcredits'},$domdefaults{'unofficialcredits'}) + .&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'}) @@ -336,13 +372,23 @@ END .'
('.$lt{'cscs'}.')' .&Apache::lonhtmlcommon::row_closure() ); - if ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'}) { + 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() + ); + } + my $blankchk; + if ($crstype eq 'Placement') { + $blankchk = ' checked="checked"'; } # Table: New Course / Clone Course $r->print(&Apache::lonhtmlcommon::row_headline() @@ -368,15 +414,14 @@ END .&Apache::lonhtmlcommon::row_closure() .&Apache::lonhtmlcommon::row_title($lt{'fres'}) .'' - .' '); + .''.$lt{'blnk'} + .''); if ($crstype eq 'Community') { - $r->print('