Diff for /loncom/interface/loncreatecourse.pm between versions 1.99 and 1.102

version 1.99, 2006/11/23 01:09:36 version 1.102, 2007/06/29 14:32:43
Line 49  sub print_course_creation_page { Line 49  sub print_course_creation_page {
         $crstype = 'Course';          $crstype = 'Course';
     }      }
     my $defdom=$env{'request.role.domain'};      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 = '<select name="course_home" size="1">'."\n";      my $course_home = '<select name="course_home" size="1">'."\n";
     foreach my $server (sort(keys(%host_servers))) {      foreach my $server (sort(keys(%host_servers))) {
         $course_home .= qq{<option value="$server"};          $course_home .= qq{<option value="$server"};
Line 575  sub create_course { Line 575  sub create_course {
         $crstype='Course';          $crstype='Course';
         $enrollstart=&Apache::lonhtmlcommon::get_date_from_form('startenroll');          $enrollstart=&Apache::lonhtmlcommon::get_date_from_form('startenroll');
         $enrollend=&Apache::lonhtmlcommon::get_date_from_form('endenroll');          $enrollend=&Apache::lonhtmlcommon::get_date_from_form('endenroll');
   
     }      }
     $startaccess = &Apache::lonhtmlcommon::get_date_from_form('startaccess');      $startaccess = &Apache::lonhtmlcommon::get_date_from_form('startaccess');
     $endaccess   = &Apache::lonhtmlcommon::get_date_from_form('endaccess');      $endaccess   = &Apache::lonhtmlcommon::get_date_from_form('endaccess');
   
     my $autharg;      my $autharg;
     my $authtype;      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') {      if ($env{'form.login'} eq 'krb') {
         $authtype = 'krb';          $authtype = 'krb';
Line 615  sub create_course { Line 641  sub create_course {
                nonstandard => $env{'form.nonstandard'},                 nonstandard => $env{'form.nonstandard'},
                crscode => $env{'form.crscode'},                 crscode => $env{'form.crscode'},
                crsquota => $env{'form.crsquota'},                 crsquota => $env{'form.crsquota'},
                clonecourse => $env{'form.clonecourse'},                 clonecourse => $clonecourse,
                clonedomain => $env{'form.clonedomain'},                 clonedomain => $clonedomain,
                crsid => $env{'form.crsid'},                 crsid => $env{'form.crsid'},
                curruser => $env{'user.name'}.':'.$env{'user.domain'},                 curruser => $env{'user.name'}.':'.$env{'user.domain'},
                crssections => $env{'form.crssections'},                 crssections => $env{'form.crssections'},
Line 662  sub create_course { Line 688  sub create_course {
  return;   return;
     }      }
     # Check the proposed home server for the course      # Check the proposed home server for the course
     my %host_servers = &Apache::loncommon::get_library_servers      my %host_servers = 
         ($env{'request.role.domain'});   &Apache::lonnet::get_servers($env{'request.role.domain'},'library');
     if (! exists($host_servers{$env{'form.course_home'}})) {      if (! exists($host_servers{$env{'form.course_home'}})) {
         $r->print(&mt('Invalid home server for course').': '.          $r->print(&mt('Invalid home server for course').': '.
                   $env{'form.course_home'}.&Apache::loncommon::end_page());                    $env{'form.course_home'}.&Apache::loncommon::end_page());
         return;          return;
     }      }
       if ($clonemsg ne '') {
           $r->print('<p>'.$clonemsg.'</p>');
       }
     my ($courseid,$crsudom,$crsunum);      my ($courseid,$crsudom,$crsunum);
     $r->print(&Apache::loncommon::construct_course($args,\$logmsg,\$courseid,\$crsudom,\$crsunum,$env{'user.domain'},$env{'user.name'}));      $r->print(&Apache::loncommon::construct_course($args,\$logmsg,\$courseid,\$crsudom,\$crsunum,$env{'user.domain'},$env{'user.name'}));
   
Line 688  sub create_course { Line 717  sub create_course {
 # Flush the course logs so reverse user roles immediately updated  # Flush the course logs so reverse user roles immediately updated
     &Apache::lonnet::flushcourselogs();      &Apache::lonnet::flushcourselogs();
     $r->print('<p>'.&mt('Roles will be active at next login').'.</p>'.      $r->print('<p>'.&mt('Roles will be active at next login').'.</p>'.
       '<p><a href="/adm/createcourse">'.        '<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'.
       &mt('Create Another [_1]',$crstype).'</a></p>'.        &mt('Create Another [_1]',$crstype).'</a></p>'.
       &Apache::loncommon::end_page());        &Apache::loncommon::end_page());
 }  }

Removed from v.1.99  
changed lines
  Added in v.1.102


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>