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

version 1.102, 2007/06/29 14:32:43 version 1.104.2.1, 2007/11/28 17:36:11
Line 44  use LONCAPA; Line 44  use LONCAPA;
   
 sub print_course_creation_page {  sub print_course_creation_page {
     my $r=shift;      my $r=shift;
     my $crstype = 'Group';      my $crstype = 'Course';
     if ($env{'form.phase'} eq 'courseone') {  #    my $crstype = 'Group';
         $crstype = 'Course';  #    if ($env{'form.phase'} eq 'courseone') {
     }  #        $crstype = 'Course';
   #    }
     my $defdom=$env{'request.role.domain'};      my $defdom=$env{'request.role.domain'};
     my %host_servers = &Apache::lonnet::get_servers($defdom,'library');      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";
Line 581  sub create_course { Line 582  sub create_course {
   
     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 641  sub create_course { Line 615  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 => $clonecourse,                 clonecourse => $env{'form.clonecourse'},
                clonedomain => $clonedomain,                 clonedomain => $env{'form.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 695  sub create_course { Line 669  sub create_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'}));      my ($success,$output) = 
    &Apache::loncommon::construct_course($args,\$logmsg,\$courseid,
 #       \$crsudom,\$crsunum,
 # Make the requested user a course coordinator or group coordinator       $env{'user.domain'},
 #       $env{'user.name'});
     if (($ccdomain) && ($ccuname)) {      $r->print($output);
         $r->print(&mt('Assigning role of [_1] Coordinator to [_2] at [_3]:',      if ($success) {
                      $crstype,$ccuname,$ccdomain).          #
                   &Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid,   # Make the requested user a course coordinator or group coordinator
                                               'cc').'<p>');          #
     }   if (($ccdomain) && ($ccuname)) {
     if ($env{'form.setkeys'}) {      $r->print(&mt('Assigning role of [_1] Coordinator to [_2] at [_3]: ',
         $r->print(    $crstype,$ccuname,$ccdomain).
  '<p><a href="/adm/managekeys?cid='.$crsudom.'_'.$crsunum.'">'.&mt('Manage Access Keys').'</a></p>');        &Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid,
     }    'cc').'<p>');
 # Flush the course logs so reverse user roles immediately updated   }
     &Apache::lonnet::flushcourselogs();   if ($env{'form.setkeys'}) {
     $r->print('<p>'.&mt('Roles will be active at next login').'.</p>'.      $r->print(
       '<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'.        '<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>'.        &mt('Create Another [_1]',$crstype).'</a></p>'.
       &Apache::loncommon::end_page());        &Apache::loncommon::end_page());
 }  }
Line 725  sub create_course { Line 702  sub create_course {
 sub print_intro_page {  sub print_intro_page {
     my $r = shift;      my $r = shift;
     my $start_page =      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 $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses');
     my $end_page =      my $end_page =
         &Apache::loncommon::end_page();          &Apache::loncommon::end_page();
Line 736  sub print_intro_page { Line 713  sub print_intro_page {
                      short_description =>                       short_description =>
     &mt('Create a new course by completing an online form.'),      &mt('Create a new course by completing an online form.'),
                  },                   },
                    { internal_name => 'groupone',  #                   { internal_name => 'groupone',
                      name => &mt('Create a single collaborative group space '),  #                     name => &mt('Create a single collaborative group space '),
                      short_description =>  #                     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',                     { internal_name => 'batchone',
                      name => &mt('Create courses/groups by uploading an attributes file'),                       name => &mt('Create courses/groups by uploading an attributes file'),
                      short_description =>                       short_description =>
Line 772  sub upload_batchfile { Line 749  sub upload_batchfile {
     my $r = shift;      my $r = shift;
     my $start_page =      my $start_page =
         &Apache::loncommon::start_page('Create a New Course or Group Space');          &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 =      my $end_page =
         &Apache::loncommon::end_page();          &Apache::loncommon::end_page();
     $r->print($start_page.$crumbs);      $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" '.      $r->print('<form name="batchcreate" method="post" '.
                 'enctype="multipart/form-data" action="/adm/createcourse">'.                  'enctype="multipart/form-data" action="/adm/createcourse">'.
               '<input type="file" name="coursecreatorxml" />'.                '<input type="file" name="coursecreatorxml" />'.
Line 823  sub process_batchfile { Line 800  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);
     
 }  }
   

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


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