--- loncom/interface/loncreatecourse.pm 2016/08/31 23:41:15 1.158.2.1 +++ loncom/interface/loncreatecourse.pm 2016/04/06 17:41:52 1.161 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.158.2.1 2016/08/31 23:41:15 raeburn Exp $ +# $Id: loncreatecourse.pm,v 1.161 2016/04/06 17:41:52 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,7 +132,7 @@ 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); @@ -147,6 +149,24 @@ function validate(formname) { 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 == '') { + alert("$title_alert"); + return; + } + if (formname.ccuname == '') { + alert("$coord_alert"); + } + formname.submit(); +} + |; + } my %lt=&Apache::lonlocal::texthash( 'cinf' => "Course Information", @@ -187,8 +207,7 @@ function validate(formname) { 'oaas' => "Open all assessments", 'mssg' => "Messaging", 'scpf' => "Set course policy feedback to Course Coordinator", - 'scfc' => "Set resource content feedback to Course Coordinator", - 'scof' => "Set course content feedback to Course Coordinator", + 'scfc' => "Set content feedback to Course Coordinator", 'cmmn' => "Communication", 'dsrd' => "Disable student resource discussion", 'dsuc' => "Disable student use of chat rooms", @@ -215,6 +234,7 @@ function validate(formname) { 'cgrq' => 'Set a quota for the total disk space available for storage of course group portfolio files', 'opco' => 'Open Course', 'opcm' => 'Open Community', + 'oppt' => 'Open Placement Test', ); $lt{'kaut'} = &mt('Key authority ([_1]id:domain[_2]) if other than course','',''); $lt{'toin'} = &mt('to interface with institutional data, e.g., [_1]fs13glg231[_2] for [_3]Fall 2013 Geology 231[_4]','','','',''); @@ -234,8 +254,7 @@ function validate(formname) { $lt{'navi'} = &mt('Community Contents'); $lt{'cid'} = &mt('Community ID'); $lt{'scpf'} = &mt('Set community policy feedback to Coordinator'); - $lt{'scfc'} = &mt('Set resource content feedback to Coordinator'); - $lt{'scof'} = &mt('Set community content feedback to Coordinator'); + $lt{'scfc'} = &mt('Set content feedback to Coordinator'); $lt{'dsrd'} = &mt('Disable member resource discussion'); $lt{'dsuc'} = &mt('Disable member use of chat rooms'); $lt{'dads'} = &mt('Default Access Dates for Members'); @@ -246,6 +265,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 = < @@ -274,6 +305,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); @@ -318,14 +350,16 @@ END .'' .&Apache::lonhtmlcommon::row_closure() ); - if ($crstype eq 'Course') { + if (($crstype eq 'Course') || ($crstype eq 'Placement')) { $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]; textbook courses: [_3]).', - $domdefaults{'officialcredits'},$domdefaults{'unofficialcredits'},$domdefaults{'textbookcredits'}) - .&Apache::lonhtmlcommon::row_closure() - + .$lt{'stat'}); + if ($crstype eq 'Course') { + $r->print(' ' + .&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'})); + } + $r->print(&Apache::lonhtmlcommon::row_closure() .&Apache::lonhtmlcommon::row_title($lt{'ccod'}) .'' .'
('.$lt{'toin'}.')' @@ -341,7 +375,8 @@ END .'
('.$lt{'cscs'}.')' .&Apache::lonhtmlcommon::row_closure() ); - if ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'} || $domdefaults{'textbookcredits'}) { + if (($crstype eq 'Course') && ($domdefaults{'officialcredits'} || + $domdefaults{'unofficialcredits'} || $domdefaults{'textbookcredits'})) { $r->print(&Apache::lonhtmlcommon::row_title($lt{'ccre'}) .'' .'
('.$lt{'cred'}.')' @@ -353,7 +388,11 @@ END .''.&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() @@ -379,15 +418,14 @@ END .&Apache::lonhtmlcommon::row_closure() .&Apache::lonhtmlcommon::row_title($lt{'fres'}) .'' - .' '); + .''.$lt{'blnk'} + .''); if ($crstype eq 'Community') { - $r->print('