--- loncom/interface/loncreatecourse.pm 2007/06/29 14:32:43 1.102 +++ loncom/interface/loncreatecourse.pm 2007/12/14 00:24:11 1.105 @@ -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.105 2007/12/14 00:24:11 raeburn 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, @@ -581,33 +581,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 +614,8 @@ 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'}, crsid => $env{'form.crsid'}, curruser => $env{'user.name'}.':'.$env{'user.domain'}, crssections => $env{'form.crssections'}, @@ -695,29 +668,32 @@ sub create_course { $env{'form.course_home'}.&Apache::loncommon::end_page()); return; } - if ($clonemsg ne '') { - $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').' ');
+ }
+ 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);
}