@@ -568,10 +611,8 @@ ENDDOCUMENT
sub create_course {
my $r=shift;
- my $ccuname=$env{'form.ccuname'};
- my $ccdomain=$env{'form.ccdomain'};
- $ccuname=~s/\W//g;
- $ccdomain=~s/\W//g;
+ my $ccuname =&LONCAPA::clean_username($env{'form.ccuname'});
+ my $ccdomain=&LONCAPA::clean_domain($env{'form.ccdomain'});
my $crstype = 'Group';
my ($enrollstart,$enrollend,$startaccess,$endaccess);
@@ -579,7 +620,6 @@ sub create_course {
$crstype='Course';
$enrollstart=&Apache::lonhtmlcommon::get_date_from_form('startenroll');
$enrollend=&Apache::lonhtmlcommon::get_date_from_form('endenroll');
-
}
$startaccess = &Apache::lonhtmlcommon::get_date_from_form('startaccess');
$endaccess = &Apache::lonhtmlcommon::get_date_from_form('endaccess');
@@ -621,6 +661,8 @@ sub create_course {
crsquota => $env{'form.crsquota'},
clonecourse => $env{'form.clonecourse'},
clonedomain => $env{'form.clonedomain'},
+ datemode => $env{'form.datemode'},
+ dateshift => $env{'form.dateshift'},
crsid => $env{'form.crsid'},
curruser => $env{'user.name'}.':'.$env{'user.domain'},
crssections => $env{'form.crssections'},
@@ -654,45 +696,54 @@ sub create_course {
# Check the veracity of the course coordinator
if (&Apache::lonnet::homeserver($ccuname,$ccdomain) eq 'no_host') {
$r->print(''.&Apache::loncommon::end_page());
+ $r->print('
'
+ .&mt('No such user [_1] at domain [_2].',''.$ccuname.'',''.$ccdomain.'')
+ .'
');
+ $r->print(&mt('Please click Back on your browser and select another user, or [_1]Create User[_2]'
+ , ''
+ .''
+ .''
+ .''
+ )
+ .''.&Apache::loncommon::end_page()
+ );
return;
}
# Check the proposed home server for the course
- my %host_servers = &Apache::loncommon::get_library_servers
- ($env{'request.role.domain'});
+ my %host_servers =
+ &Apache::lonnet::get_servers($env{'request.role.domain'},'library');
if (! exists($host_servers{$env{'form.course_home'}})) {
- $r->print(&mt('Invalid home server for course').': '.
- $env{'form.course_home'}.&Apache::loncommon::end_page());
+ $r->print(&mt('Invalid home server for course: [_1]'
+ ,$env{'form.course_home'}.&Apache::loncommon::end_page()));
return;
}
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').'
'.
&Apache::loncommon::end_page());
}
@@ -700,7 +751,7 @@ sub create_course {
sub print_intro_page {
my $r = shift;
my $start_page =
- &Apache::loncommon::start_page('Create a New Course');
+ &Apache::loncommon::start_page('Create a New Course or Group Space');
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses');
my $end_page =
&Apache::loncommon::end_page();
@@ -711,23 +762,27 @@ sub print_intro_page {
short_description =>
&mt('Create a new course by completing an online form.'),
},
-# { internal_name => 'groupone',
-# name => &mt('Create a single collaborative group space '),
-# short_description =>
-# &mt('Create a new group space for non-course use by completing an online form .'),
-# },
+ { internal_name => 'groupone',
+ name => &mt('Create a single collaborative group space'),
+ short_description =>
+ &mt('Create a new group space for non-course use by completing an online form.'),
+ },
{ internal_name => 'batchone',
name => &mt('Create courses/groups by uploading an attributes file'),
short_description =>
- &mt('Upload an attributes file containing specifications for one or more courses or groups in XML format'),
+ &mt('Upload an attributes file containing specifications for one or more courses or groups in XML format.'),
+ help => 'Batch_Creation',
},
);
my $options;
foreach my $choice (@choices) {
$options .='