--- loncom/interface/loncreatecourse.pm 2007/06/29 14:32:43 1.102 +++ loncom/interface/loncreatecourse.pm 2007/11/28 17:36:11 1.104.2.1 @@ -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.104.2.1 2007/11/28 17:36:11 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -44,10 +44,11 @@ use LONCAPA; sub print_course_creation_page { my $r=shift; - my $crstype = 'Group'; - if ($env{'form.phase'} eq 'courseone') { - $crstype = 'Course'; - } + my $crstype = 'Course'; +# my $crstype = 'Group'; +# if ($env{'form.phase'} eq 'courseone') { +# $crstype = 'Course'; +# } my $defdom=$env{'request.role.domain'}; my %host_servers = &Apache::lonnet::get_servers($defdom,'library'); my $course_home = '<select name="course_home" size="1">'."\n"; @@ -581,33 +582,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 +615,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 +669,32 @@ sub create_course { $env{'form.course_home'}.&Apache::loncommon::end_page()); return; } - if ($clonemsg ne '') { - $r->print('<p>'.$clonemsg.'</p>'); - } 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').'<p>'); - } - if ($env{'form.setkeys'}) { - $r->print( - '<p><a href="/adm/managekeys?cid='.$crsudom.'_'.$crsunum.'">'.&mt('Manage Access Keys').'</a></p>'); - } -# Flush the course logs so reverse user roles immediately updated - &Apache::lonnet::flushcourselogs(); - $r->print('<p>'.&mt('Roles will be active at next login').'.</p>'. - '<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'. + 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').'<p>'); + } + if ($env{'form.setkeys'}) { + $r->print( + '<p><a href="/adm/managekeys?cid='.$crsudom.'_'.$crsunum.'">'.&mt('Manage Access Keys').'</a></p>'); + } + # Flush the course logs so reverse user roles immediately updated + &Apache::lonnet::flushcourselogs(); + $r->print('<p>'.&mt('Roles will be active at next login').'.</p>'); + } + $r->print('<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'. &mt('Create Another [_1]',$crstype).'</a></p>'. &Apache::loncommon::end_page()); } @@ -725,7 +702,7 @@ sub create_course { sub print_intro_page { my $r = shift; my $start_page = - &Apache::loncommon::start_page('Create a New Course or Group Space'); + &Apache::loncommon::start_page('Create a New Course'); my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses'); my $end_page = &Apache::loncommon::end_page(); @@ -736,11 +713,11 @@ 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 => @@ -772,11 +749,11 @@ sub upload_batchfile { my $r = shift; my $start_page = &Apache::loncommon::start_page('Create a New Course or Group Space'); - my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Upload Course/Group Attributes File','Create_Course',undef,'Create_Courses'); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Upload Course Attributes File','Create_Course',undef,'Create_Courses'); my $end_page = &Apache::loncommon::end_page(); $r->print($start_page.$crumbs); - $r->print('<h3>'.&mt('Upload a courses or groups attributes file').'</h3>'); + $r->print('<h3>'.&mt('Upload a courses attributes file').'</h3>'); $r->print('<form name="batchcreate" method="post" '. 'enctype="multipart/form-data" action="/adm/createcourse">'. '<input type="file" name="coursecreatorxml" />'. @@ -823,7 +800,8 @@ sub process_batchfile { } } } - $r->print($start_page.$crumbs.$result.$end_page); + $r->print($start_page.$crumbs.$logmsg.$result.'<br /><a href="/adm/createcourse">'. + &mt('Creation options menu').'</a>'.$end_page); }