--- loncom/interface/loncreatecourse.pm 2007/01/10 21:37:50 1.100
+++ loncom/interface/loncreatecourse.pm 2008/09/25 17:44:11 1.109
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Create a course
#
-# $Id: loncreatecourse.pm,v 1.100 2007/01/10 21:37:50 www Exp $
+# $Id: loncreatecourse.pm,v 1.109 2008/09/25 17:44:11 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,7 +35,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;
@@ -49,7 +49,7 @@ sub print_course_creation_page {
$crstype = 'Course';
}
my $defdom=$env{'request.role.domain'};
- my %host_servers = &Apache::loncommon::get_library_servers($defdom);
+ my %host_servers = &Apache::lonnet::get_servers($defdom,'library');
my $course_home = ''."\n";
foreach my $server (sort(keys(%host_servers))) {
$course_home .= qq{ 'document.ccrs',
kerb_def_dom => $krbdefdom,
@@ -128,6 +128,9 @@ function validate(formname) {
'cid' => "Course ID",
'dmn' => "Domain",
'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 +153,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?",
@@ -221,48 +224,50 @@ END
'Create_Courses');
$r->print($start_page.$crumbs);
if ($crstype eq 'Course') {
- $r->print(<
-$lt{'cinf'}
-
-$lt{'ctit'}:
-
-
-
- $lt{'chsr'}: $course_home
-
-
-
- $lt{'cidn'} ($lt{'opt'})
-
-
-
-
$lt{'iinf'}
-
-$lt{'stat'}
-
-
- $lt{'ccod'}
-
-
-
-($lt{'toin'})
-
-
- $lt{'snid'}
-
-
-
-($lt{'csli'})
-
-
- $lt{'crcs'}
-
-
-
-($lt{'cscs'})
-
-$lt{'crco'}
+
+ $r->print('
-
-$lt{'aadd'}
- $lt{'yes'}
- $lt{'no'}
-
-
-$lt{'audr'}
- $lt{'yes'}
- $lt{'no'}
-
-$lt{'dacu'}
-$enroll_table
-
-$lt{'dacc'}
-$access_table
-
-$lt{'psam'}.
-$lt{'pcda'}.
-
-$krbform
-
-$intform
-
-$locform
-
-$lt{'nech'}
-$lt{'nccl'}
-
- $lt{'yes'}
-
-
- $lt{'no'}
-
-
-$lt{'ndcl'}
-
- $lt{'yes'}
-
-
- $lt{'no'}
-
-
-$lt{'irsp'}
-
- $lt{'yes'}
-
-
- $lt{'no'}
-
-
-
-
$lt{'cgrs'}
-$lt{'cgrq'}
- Mb
-
-
-$lt{'cc'}
-
-
- $lt{'user'}:
-
-
-
- $lt{'dmn'}: $domform
-
-
+MYEND
+
+
+$r->print(' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_headline()
+ .''.$lt{'assp'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'oaas'})
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_headline()
+ .''.$lt{'mssg'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'scpf'})
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'scfc'})
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_headline()
+ .''.$lt{'cmmn'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'dsrd'})
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'dsuc'})
+ .' '.$lt{'acco'}.''
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'snak'})
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'kaut'})
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_headline()
+ .''.$lt{'rshm'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'rshm'})
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_headline()
+ .''.$lt{'aens'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'aadd'})
+ .' '.$lt{'yes'}.' '
+ .' '.$lt{'no'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'audr'})
+ .' '.$lt{'yes'}.' '
+ .' '.$lt{'no'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'dacu'})
+ .$enroll_table
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'dacc'})
+ .$access_table
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'psam'})
+ .$lt{'pcda'}.' '
+ .$krbform.' '
+ .$intform.' '
+ .$locform
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'nech'})
+ .$lt{'nccl'}.' '
+ .' '.$lt{'yes'}.' '
+ .' '.$lt{'no'}.' '
+ .' '
+ .$lt{'ndcl'}.' '
+ .' '.$lt{'yes'}.' '
+ .' '.$lt{'no'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'irsp'})
+ .''
+ .' '.$lt{'yes'}
+ .' '
+ .''
+ .' '.$lt{'no'}
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_headline()
+ .''.$lt{'cgrs'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'cgrq'})
+ .' Mb'
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_headline()
+ .''.$lt{'cc'}.' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'user'})
+ .' '
+ .&Apache::lonhtmlcommon::row_closure()
+
+ .&Apache::lonhtmlcommon::row_title($lt{'dmn'},"","LC_odd_row_value")
+ .$domform
+ .&Apache::lonhtmlcommon::row_closure(1)
+
+ .&Apache::lonhtmlcommon::end_pick_box()
+ );
+
+ $r->print(<
@@ -431,6 +450,7 @@ $lt{'cgrq'}
ENDDOCUMENT
+
} elsif ($crstype eq 'Group') {
$r->print(<
@@ -470,7 +490,7 @@ ENDDOCUMENT
- $lt{'sllb'}
+ $lt{'sllb'}
@@ -486,7 +506,10 @@ ENDDOCUMENT
$lt{'dmn'}: $cloneform
-
+ $lt{'ncd'}
+ $lt{'prd'}
+ $lt{'shd'}
+
$lt{'asov'}.
@@ -496,12 +519,12 @@ $lt{'asov'}.
$lt{'sgpf'}:
-
+
$lt{'scfg'}:
-
+
$lt{'cmmn'}
@@ -575,7 +598,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');
@@ -617,6 +639,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'},
@@ -650,45 +674,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').'');
- }
- if ($env{'form.setkeys'}) {
- $r->print(
- '
'.&mt('Manage Access Keys').'
');
- }
-# 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('Manage Access Keys').'
');
+ }
+ # Flush the course logs so reverse user roles immediately updated
+ &Apache::lonnet::flushcourselogs();
+ $r->print(''.&mt('Roles will be active at next login').'.
');
+ }
+ $r->print(''.
&mt('Create Another [_1]',$crstype).'
'.
&Apache::loncommon::end_page());
}
@@ -708,14 +741,14 @@ sub print_intro_page {
&mt('Create a new course by completing an online form.'),
},
{ internal_name => 'groupone',
- name => &mt('Create a single collaborative group space '),
+ 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 .'),
+ &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',
},
);
@@ -794,7 +827,8 @@ sub process_batchfile {
}
}
}
- $r->print($start_page.$crumbs.$result.$end_page);
+ $r->print($start_page.$crumbs.$logmsg.$result.' '.
+ &mt('Creation options menu').' '.$end_page);
}