--- loncom/interface/loncreatecourse.pm 2007/06/29 14:32:43 1.102 +++ loncom/interface/loncreatecourse.pm 2008/11/18 19:14:22 1.112 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.102 2007/06/29 14:32:43 raeburn Exp $ +# $Id: loncreatecourse.pm,v 1.112 2008/11/18 19:14:22 jms Exp $ # # Copyright Michigan State University Board of Trustees # @@ -27,6 +27,38 @@ # ### +=head1 NAME + +Apache::loncreatecourse.pm + +=head1 SYNOPSIS + +Allows domain coordinators to create new +courses and assign course coordinators. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + +=head1 SUBROUTINES + +=over + +=item handler() + +=item print_course_creation_page() + +=item create_course() + +=item print_intro_page() + +=item upload_batchfile() + +=item process_batchfile() + +=back + +=cut + package Apache::loncreatecourse; use strict; @@ -35,7 +67,7 @@ use Apache::lonnet; use Apache::loncommon; use Apache::londocs; use Apache::lonlocal; -use Apache::londropadd; +use Apache::lonuserutils; use Apache::lonclonecourse; use LONCAPA::batchcreatecourse; use LONCAPA; @@ -70,13 +102,13 @@ sub print_course_creation_page { if ($crstype eq 'Course') { my $starttime = time; my $endtime = time+(6*30*24*60*60); # 6 months from now, approx - $enroll_table = &Apache::londropadd::date_setting_table($starttime, - $endtime,'create_enrolldates'); - $access_table = &Apache::londropadd::date_setting_table($starttime, - $endtime,'create_defaultdates'); + $enroll_table = &Apache::lonuserutils::date_setting_table($starttime, + $endtime,'create_enrolldates'); + $access_table = &Apache::lonuserutils::date_setting_table($starttime, + $endtime,'create_defaultdates'); ($krbdef,$krbdefdom) = &Apache::loncommon::get_kerberos_defaults($defdom); - $javascript_validations=&Apache::londropadd::javascript_validations( + $javascript_validations=&Apache::lonuserutils::javascript_validations( 'createcourse',$krbdefdom); my %param = ( formname => 'document.ccrs', kerb_def_dom => $krbdefdom, @@ -127,7 +159,11 @@ function validate(formname) { 'navi' => "Navigate", 'cid' => "Course ID", 'dmn' => "Domain", + 'dsh' => "Date Shift", 'asov' => "Additional settings, if specified below, will override cloned settings", + 'ncd' => "Do not clone date parameters", + 'prd' => 'Clone date parameters as-is', + 'shd' => 'Shift date parameters by number of days', 'assp' => "Assessment Parameters", 'oaas' => "Open all assessments", 'mssg' => "Messaging", @@ -150,7 +186,7 @@ function validate(formname) { 'audr' => "Automated drops", 'dacu' => "Duration of automated classlist updates", 'dacc' => "Default start and end dates for student access", - 'psam' => "Please select the authentication mechanism", + 'psam' => "Please select the Authentication mechanism", 'pcda' => "Please choose the default authentication method to be used by new users added to this LON-CAPA domain by the automated enrollment process", 'nech' => "Notification of enrollment changes", 'nccl' => "Notification to course coordinator via LON-CAPA message when enrollment changes occur during the automated update?", @@ -220,210 +256,247 @@ END 'Create_Course',undef, 'Create_Courses'); $r->print($start_page.$crumbs); + if ($crstype eq 'Course') { + $r->print('
ENDDOCUMENT + } elsif ($crstype eq 'Group') { $r->print(<
'.$clonemsg.'
'); - } my ($courseid,$crsudom,$crsunum); - $r->print(&Apache::loncommon::construct_course($args,\$logmsg,\$courseid,\$crsudom,\$crsunum,$env{'user.domain'},$env{'user.name'})); - -# -# Make the requested user a course coordinator or group coordinator -# - if (($ccdomain) && ($ccuname)) { - $r->print(&mt('Assigning role of [_1] Coordinator to [_2] at [_3]:', - $crstype,$ccuname,$ccdomain). - &Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid, - 'cc').''); - } - if ($env{'form.setkeys'}) { - $r->print( - '
'); - } -# Flush the course logs so reverse user roles immediately updated - &Apache::lonnet::flushcourselogs(); - $r->print(''.&mt('Roles will be active at next login').'.
'. - ''.
+ my ($success,$output) =
+ &Apache::loncommon::construct_course($args,\$logmsg,\$courseid,
+ \$crsudom,\$crsunum,
+ $env{'user.domain'},
+ $env{'user.name'});
+ $r->print($output);
+ if ($success) {
+ #
+ # Make the requested user a course coordinator or group coordinator
+ #
+ if (($ccdomain) && ($ccuname)) {
+ $r->print(&mt('Assigning role of [_1] Coordinator to [_2] at [_3]: ',
+ $crstype,$ccuname,$ccdomain).
+ &Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid,
+ 'cc','','','','','createcourse').' ');
+ }
+ if ($env{'form.setkeys'}) {
+ $r->print(
+ ' '.&mt('Roles will be active at next login').'. '.
&mt('Create Another [_1]',$crstype).'
'.
+ &mt('Creation options menu').''.$end_page);
}