--- loncom/interface/loncreatecourse.pm 2007/06/29 14:32:43 1.102
+++ loncom/interface/loncreatecourse.pm 2008/06/24 15:51:25 1.108
@@ -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.108 2008/06/24 15:51:25 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;
@@ -70,13 +70,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,
@@ -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",
@@ -300,6 +303,10 @@ $lt{'stat'}
$lt{'dmn'}: $cloneform
+
+
+
+
$lt{'asov'}.
@@ -486,7 +493,10 @@ ENDDOCUMENT
$lt{'dmn'}: $cloneform
-
+
+
+
+
$lt{'asov'}.
@@ -581,33 +591,6 @@ sub create_course {
my $autharg;
my $authtype;
- my ($clonecourse,$clonedomain,$clonemsg);
-
- if (($env{'form.clonecourse'} ne '') && ($env{'form.clonedomain'} ne '')) {
- my $clonehome=&Apache::lonnet::homeserver($env{'form.clonecourse'},$env{'form.clonedomain'});
- if ($clonehome eq 'no_host') {
- $clonemsg = &mt('The new course was not cloned from an existing course because the requested course from which to create the clone does not appear to be a valid course.');
- } else {
- my %clonedesc = &Apache::lonnet::coursedescription($env{'form.clonedomain'}.'_'.$env{'form.clonecourse'},{'one_time' => 1});
- if ($env{'request.role.domain'} eq $env{'form.clonedomain'}) {
- $clonecourse = $env{'form.clonecourse'};
- $clonedomain = $env{'form.clonedomain'};
- } else {
- my %clonehash = &Apache::lonnet::get('environment',['cloners'],
- $env{'form.clonedomain'},$env{'form.clonecourse'});
- my @cloners = split(/,/,$clonehash{'cloners'});
- my %roleshash =
- &Apache::lonnet::get_my_roles($ccuname,$ccdomain,'userroles',
- ['active'],['cc'],[$env{'form.clonedomain'}]);
- if (($roleshash{$env{'form.clonecourse'}.':'.$env{'form.clonedomain'}.':cc'}) || (grep(/^\Q$ccuname\E:\Q$ccdomain\E$/,@cloners))) {
- $clonecourse = $env{'form.clonecourse'};
- $clonedomain = $env{'form.clonedomain'};
- } else {
- $clonemsg = &mt('The new course was not cloned from an existing course because the course owner ([_1]) does not have cloning rights in the existing course ([_2]).',$ccuname.':'.$ccdomain,$clonedesc{'description'});
- }
- }
- }
- }
if ($env{'form.login'} eq 'krb') {
$authtype = 'krb';
@@ -641,8 +624,10 @@ sub create_course {
nonstandard => $env{'form.nonstandard'},
crscode => $env{'form.crscode'},
crsquota => $env{'form.crsquota'},
- clonecourse => $clonecourse,
- clonedomain => $clonedomain,
+ 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'},
@@ -676,48 +661,54 @@ sub create_course {
# Check the veracity of the course coordinator
if (&Apache::lonnet::homeserver($ccuname,$ccdomain) eq 'no_host') {
$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);
}