--- loncom/interface/loncreatecourse.pm 2013/07/22 18:06:51 1.150 +++ loncom/interface/loncreatecourse.pm 2016/08/31 23:41:15 1.158.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.150 2013/07/22 18:06:51 bisitz Exp $ +# $Id: loncreatecourse.pm,v 1.158.2.1 2016/08/31 23:41:15 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -133,6 +133,8 @@ sub print_course_creation_page { } else { 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 == '') { @@ -158,8 +160,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", @@ -184,7 +187,8 @@ function validate(formname) { 'oaas' => "Open all assessments", 'mssg' => "Messaging", 'scpf' => "Set course policy feedback to Course Coordinator", - 'scfc' => "Set content feedback to Course Coordinator", + 'scfc' => "Set resource content feedback to Course Coordinator", + 'scof' => "Set course content feedback to Course Coordinator", 'cmmn' => "Communication", 'dsrd' => "Disable student resource discussion", 'dsuc' => "Disable student use of chat rooms", @@ -230,7 +234,8 @@ 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 content feedback to Coordinator'); + $lt{'scfc'} = &mt('Set resource content feedback to Coordinator'); + $lt{'scof'} = &mt('Set community 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'); @@ -317,8 +322,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 +341,19 @@ 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() + ); } # Table: New Course / Clone Course $r->print(&Apache::lonhtmlcommon::row_headline() @@ -453,6 +464,10 @@ END .'' .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title($lt{'scof'}) + .'' + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_headline() .'

'.$lt{'cmmn'}.'

' .&Apache::lonhtmlcommon::row_closure() @@ -639,6 +654,7 @@ sub create_course { endaccess => $endaccess, setpolicy => $env{'form.setpolicy'}, setcontent => $env{'form.setcontent'}, + setcomment => $env{'form.setcomment'}, reshome => $env{'form.reshome'}, setkeys => $env{'form.setkeys'}, keyauth => $env{'form.keyauth'}, @@ -649,10 +665,14 @@ sub create_course { }; if (($crstype eq 'Course') && - ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'})) { + ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'} || $domdefaults{'textbookcredits'})) { $args->{'defaultcredits'} = $env{'form.defaultcredits'}; } + if ($env{'form.uniquecode'}) { + $args->{'uniquecode'} = 1; + } + # # Verify data # @@ -681,12 +701,12 @@ 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) { # @@ -706,6 +726,11 @@ sub create_course { $r->print( '

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

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

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

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

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

'); @@ -1142,7 +1167,7 @@ sub creation_display_filter { $typename = $typenames->{$type}; } } - $output .= ''."\n"; + $output .= ''."\n"; } $output .= ''; } @@ -1300,7 +1325,7 @@ sub handler { faq=>9,bug=>'Dom Coord Interface',}); my $js = &courserequestbrowser_javascript(); my $start_page=&Apache::loncommon::start_page('Display Requests',$js); - my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Requests','Course_Request',undef,'Course_Request'); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Requests','Course_Requests',undef,'Course_Requests'); $r->print($start_page.$crumbs."\n".'
'. &Apache::loncoursequeueadmin::display_queued_requests( 'domain',$env{'request.role.domain'}).'
'. @@ -1322,7 +1347,7 @@ sub handler { 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'); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Requests Updated','Course_Requests',undef,'Course_Requests'); $r->print($start_page.$crumbs."\n".'
'. &Apache::loncoursequeueadmin::update_request_queue( 'domain',$env{'request.role.domain'}).'
'. @@ -1334,7 +1359,7 @@ sub handler { 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'); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Pending Queue','Course_Requests',undef,'Course_Requests'); $r->print($start_page.$crumbs."\n".'
'. &Apache::loncoursequeueadmin::display_queued_requests( 'pending',$env{'request.role.domain'}).'
'. @@ -1347,7 +1372,7 @@ sub handler { {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'); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Validation Attempted','Course_Requests',undef,'Course_Requests'); $r->print($start_page.$crumbs."\n".'
'. &Apache::loncoursequeueadmin::process_official_reqs('domain',$env{'request.role.domain'}).'
'. &Apache::loncommon::end_page()); @@ -1361,7 +1386,7 @@ sub handler { '// ]]>'."\n". ''; my $start_page=&Apache::loncommon::start_page('Course/Community Creation Logs',$js); - my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Created Courses/Communities','Creation_Log',undef,'Creation_Log'); + 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());