Diff for /loncom/interface/loncreatecourse.pm between versions 1.137 and 1.147

version 1.137, 2010/04/13 21:19:15 version 1.147, 2013/03/01 04:37:39
Line 93  sub print_course_creation_page { Line 93  sub print_course_creation_page {
         $crstype = 'Course';          $crstype = 'Course';
     }      }
     my $defdom=$env{'request.role.domain'};      my $defdom=$env{'request.role.domain'};
       my %domdefaults = &Apache::lonnet::get_domain_defaults($defdom);
     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";
     foreach my $server (sort(keys(%host_servers))) {      foreach my $server (sort(keys(%host_servers))) {
Line 159  function validate(formname) { Line 160  function validate(formname) {
                     'csli' => "a comma separated list of institutional section numbers, each separated by a colon from the (optional) corresponding section ID to be used in LON-CAPA e.g., 001:1,002:2",                      'csli' => "a comma separated list of institutional section numbers, each separated by a colon from the (optional) corresponding section ID to be used in LON-CAPA e.g., 001:1,002:2",
                     'crcs' => "Crosslisted courses",                      'crcs' => "Crosslisted courses",
                     'cscs' => "a comma separated list of course sections crosslisted with the current course, with each entry including the institutional course section name followed by a colon and then the (optional) sectionID to be used in LON-CAPA, e.g., fs03ent231001:ent1,fs03bot231001:bot1,fs03zol231002:zol2",                      'cscs' => "a comma separated list of course sections crosslisted with the current course, with each entry including the institutional course section name followed by a colon and then the (optional) sectionID to be used in LON-CAPA, e.g., fs03ent231001:ent1,fs03bot231001:bot1,fs03zol231002:zol2",
                       'ccre' => "Course credits",
                       'cred' => "the number of institutional credits students will earn by completing this course",
                     'crco' => "Course Content",                      'crco' => "Course Content",
                     'cncr' => "Completely new course",                      'cncr' => "Completely new course",
                     'cecr' => "Clone an existing course",                       'cecr' => "Clone an existing course", 
Line 299  END Line 302  END
              .&Apache::lonhtmlcommon::row_closure()               .&Apache::lonhtmlcommon::row_closure()
   
              .&Apache::lonhtmlcommon::row_title($lt{'ctit'})               .&Apache::lonhtmlcommon::row_title($lt{'ctit'})
              .'<input type="text" size="50" name="title" />'               .'<input type="text" size="80" name="title" />'
              .&Apache::lonhtmlcommon::row_closure()               .&Apache::lonhtmlcommon::row_closure()
   
              .&Apache::lonhtmlcommon::row_title($lt{'chsr'})               .&Apache::lonhtmlcommon::row_title($lt{'chsr'})
Line 313  END Line 316  END
     if ($crstype eq 'Course') {      if ($crstype eq 'Course') {
         $r->print(&Apache::lonhtmlcommon::row_headline()          $r->print(&Apache::lonhtmlcommon::row_headline()
                  .'<h3>'.$lt{'iinf'}.'</h3>'                   .'<h3>'.$lt{'iinf'}.'</h3>'
                  .$lt{'stat'}                   .$lt{'stat'}.' '
                    .&mt('Default credits can also be specified, if different from the domain defaults (official courses: [_1]; unofficial courses: [_2]).',
                         $domdefaults{'officialcredits'},$domdefaults{'unofficialcredits'})
                  .&Apache::lonhtmlcommon::row_closure()                   .&Apache::lonhtmlcommon::row_closure()
   
                  .&Apache::lonhtmlcommon::row_title($lt{'ccod'})                   .&Apache::lonhtmlcommon::row_title($lt{'ccod'})
Line 331  END Line 336  END
                  .'<br />('.$lt{'cscs'}.')'                   .'<br />('.$lt{'cscs'}.')'
                  .&Apache::lonhtmlcommon::row_closure()                   .&Apache::lonhtmlcommon::row_closure()
         );          );
           if ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'}) {
               $r->print(&Apache::lonhtmlcommon::row_title($lt{'ccre'})
                        .'<input type="text" size="3" name="defaultcredits" />'
                        .'<br />('.$lt{'cred'}.')'
                        .&Apache::lonhtmlcommon::row_closure()
               );
           }
     }      }
   
     # Table: New Course / Clone Course      # Table: New Course / Clone Course
     $r->print(&Apache::lonhtmlcommon::row_headline()      $r->print(&Apache::lonhtmlcommon::row_headline()
                  .'<h3>'.$lt{'crco'}.'</h3>'                   .'<h3>'.$lt{'crco'}.'</h3>'
Line 359  END Line 370  END
                  .'<label>'                   .'<label>'
                  .'<input type="radio" name="firstres" value="blank" />'.$lt{'blnk'}                   .'<input type="radio" name="firstres" value="blank" />'.$lt{'blnk'}
                  .'</label>'                   .'</label>'
                  .'&nbsp;'                   .'&nbsp;');
                  .'<label>'      if ($crstype eq 'Community') {
           $r->print('<label>'
                    .'<input type="radio" name="firstres" value="nav" checked="checked" />'.$lt{'navi'}
                    .'</label>');
       } else {
           $r->print('<label>'
                  .'<input type="radio" name="firstres" value="syl" checked="checked" />'.$lt{'sllb'}                   .'<input type="radio" name="firstres" value="syl" checked="checked" />'.$lt{'sllb'}
                  .'</label>'                   .'</label>'
                  .'&nbsp;'                   .'&nbsp;'
                  .'<label>'                   .'<label>'
                  .'<input type="radio" name="firstres" value="nav" />'.$lt{'navi'}                   .'<input type="radio" name="firstres" value="nav" />'.$lt{'navi'}
                  .'</label>'                   .'</label>');
                  .'<br />('.$lt{'stco'}.')'      }
       $r->print('<br />('.$lt{'stco'}.')'
                  .&Apache::lonhtmlcommon::row_closure(1)                   .&Apache::lonhtmlcommon::row_closure(1)
                  .&Apache::lonhtmlcommon::end_pick_box()                   .&Apache::lonhtmlcommon::end_pick_box()
   
Line 399  END Line 416  END
                  .' <input type="text" size="5" name="dateshift" value="365" />'                   .' <input type="text" size="5" name="dateshift" value="365" />'
                  .&Apache::lonhtmlcommon::row_closure()                   .&Apache::lonhtmlcommon::row_closure()
                  .&Apache::lonhtmlcommon::row_headline()                   .&Apache::lonhtmlcommon::row_headline()
                  .$lt{'asov'}                   .'<span class="LC_info">'.$lt{'asov'}.'</span>'
                  .&Apache::lonhtmlcommon::row_closure(1)                   .&Apache::lonhtmlcommon::row_closure(1)
                  .&Apache::lonhtmlcommon::end_pick_box()                   .&Apache::lonhtmlcommon::end_pick_box()
                  .'</td>'                   .'</td>'
Line 554  sub create_course { Line 571  sub create_course {
     my $ccdomain=&LONCAPA::clean_domain($env{'form.ccdomain'});      my $ccdomain=&LONCAPA::clean_domain($env{'form.ccdomain'});
     my $crstype = 'Community';      my $crstype = 'Community';
     my ($enrollstart,$enrollend,$startaccess,$endaccess);      my ($enrollstart,$enrollend,$startaccess,$endaccess);
       my %domdefaults = 
           &Apache::lonnet::get_domain_defaults($env{'request.role.domain'});
   
     if ($env{'form.phase'} eq 'coursetwo') {      if ($env{'form.phase'} eq 'coursetwo') {
         $crstype='Course';          $crstype='Course';
Line 629  sub create_course { Line 648  sub create_course {
                firstres => $env{'form.firstres'}                 firstres => $env{'form.firstres'}
                };                 };
   
       if (($crstype eq 'Course') && 
           ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'})) {
           $args->{'defaultcredits'} = $env{'form.defaultcredits'};
       }
   
     #      #
     # Verify data      # Verify data
     #      #
Line 683  sub create_course { Line 707  sub create_course {
       '<p><a href="/adm/managekeys?cid='.$crsudom.'_'.$crsunum.'">'.&mt('Manage Access Keys').'</a></p>');        '<p><a href="/adm/managekeys?cid='.$crsudom.'_'.$crsunum.'">'.&mt('Manage Access Keys').'</a></p>');
  }   }
         # Flush the course logs so reverse user roles immediately updated          # Flush the course logs so reverse user roles immediately updated
  &Apache::lonnet::flushcourselogs();   $r->register_cleanup(\&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>');
     }      }
     $r->print('<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'.      $r->print('<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'.
Line 699  sub print_intro_page { Line 723  sub print_intro_page {
     my $end_page =      my $end_page =
         &Apache::loncommon::end_page();          &Apache::loncommon::end_page();
     my $helplink=&Apache::loncommon::help_open_topic('Create_Course_Community',&mt('Help on Creating Courses and Communities'));      my $helplink=&Apache::loncommon::help_open_topic('Create_Course_Community',&mt('Help on Creating Courses and Communities'));
     my @choices = ({ internal_name     => 'courseone',  
                      name              => &mt('Create a single course'),      # Create menu
                      short_description => &mt('Create a new course by completing an online form.'),      my @menu;
                    });      @menu =
     if ($show_all_choices) {         ({ categorytitle => 'Course/Community Creation',
         push(@choices,{ internal_name     => 'groupone',         items => [
                         name              => &mt('Create a single community'),            {
                         short_description =>                 linktext => 'Create a single course',
     &mt('Create a new collaborative community by completing an online form.'),                 url => '/adm/createcourse?phase=courseone',
                       },                 permission => 1,
                       { internal_name     => 'batchone',                 #help => '',
                         name              => &mt('Create courses/communities by uploading an attributes file'),                 icon => 'crsnew.png',
                         short_description =>                 linktitle => 'Create a new course by completing an online form.'
     &mt('Upload an attributes file containing specifications for one or more courses or communities in XML format.'),            },
                         help => 'Batch_Creation',            {
                       },                 linktext => 'Create a single community',
                       { internal_name     => 'requestdisplay',                 url => '/adm/createcourse?phase=groupone',
                         name              => &mt('Approve or reject requests'),                 permission => $show_all_choices,
                         short_description =>                 #help => '',
     &mt('Display course and community creation requests submitted by authorized users, held pending approval by a Domain Coordinator.'),                 icon => 'crsnew.png',
                       },                 linktitle => 'Create a new collaborative community by completing an online form.'
                       { internal_name     => 'pendingdisplay',            },
                         name              => &mt('Display official course requests'),            {
                         short_description =>                 linktext => 'Create courses/communities by uploading an attributes file',
     &mt('Display official course requests submitted by authorized users, held pending validation of instructor status.'),                 url => '/adm/createcourse?phase=batchone',
                       },                 permission => 1,
                       { internal_name     => 'creationlog',                 help => 'Batch_Creation',
                         name              => &mt('View creation log'),                 icon => 'uplcrs.png',
                         short_description =>                 linktitle => 'Upload an attributes file containing specifications for one or more courses or communities in XML format.'
     &mt('Display information about when, how and by whom courses and communities were created in this domain.'),            },
                       });         ]
     } else {         },
         push(@choices,{ internal_name     => 'batchone',         { categorytitle => 'Course/Community Requests',
                         name              => &mt('Create courses by uploading an attributes file'),         items => [
                         short_description =>             {
     &mt('Upload an attributes file containing specifications for one or more courses in XML format.'),                 linktext => 'Approve or reject requests',
                         help => 'Batch_Creation',                 url => '/adm/createcourse?phase=requestdisplay',
                       });                 permission => $show_all_choices,
     }                 #help => '',
     my $options;                 icon => 'rcrs.png',
     foreach my $choice (@choices) {                 linktitle => 'Display course and community creation requests submitted by authorized users, held pending approval by a Domain Coordinator.'
         $options .='    <h3><a href="/adm/createcourse?phase='.             },
             $choice->{'internal_name'}.'" >'.             {
             $choice->{'name'}.'</a>';                 linktext => 'View pending official course requests',
         if (exists($choice->{'help'})) {                 url => '/adm/createcourse?phase=pendingdisplay',
             $options .= &Apache::loncommon::help_open_topic($choice->{'help'});                 permission => $show_all_choices,
         }                 #help => '',
         $options .= "</h3>\n".'    '.('&nbsp;'x8).$choice->{'short_description'}.                 icon => 'edit-find.png',
             "\n";                 alttext => '',
     }                 linktitle => 'Display official course requests submitted by authorized users, held pending validation of instructor status.'
     $r->print(<<ENDDOCUMENT);             },
 $start_page         ]
 $crumbs         },
 $options         { categorytitle => 'Administration',
 $end_page         items => [
 ENDDOCUMENT             {
                  linktext => 'View creation log',
                  url => '/adm/createcourse?phase=creationlog',
                  permission => $show_all_choices,
                  #help => '',
                  icon => 'document-properties.png',
                  linktitle => 'Display information about when, how and by whom courses and communities were created in this domain.'
              },
          ]
          },
          );
   
       $r->print(
           $start_page
          .$crumbs
          .&Apache::lonhtmlcommon::generate_menu(@menu)
          .$end_page
       );
 }  }
   
 sub upload_batchfile {  sub upload_batchfile {
Line 771  sub upload_batchfile { Line 812  sub upload_batchfile {
               '<input type="file" name="coursecreatorxml" />'.                '<input type="file" name="coursecreatorxml" />'.
               '<input type="hidden" name="phase" value="batchtwo" /><br /><br />'.                '<input type="hidden" name="phase" value="batchtwo" /><br /><br />'.
               '<input type="submit" name="batchsubmit" '.                '<input type="submit" name="batchsubmit" '.
               'value="Create Courses/Communities" /></form>');                'value="'.&mt('Create Courses/Communities').'" /></form>');
     $r->print($end_page);      $r->print($end_page);
     return;      return;
 }  }
Line 909  sub print_creation_logs { Line 950  sub print_creation_logs {
     if ($numtitles) {      if ($numtitles) {
         if (($curr{'type'} eq 'official') || ($curr{'type'} eq 'unofficial')) {          if (($curr{'type'} eq 'official') || ($curr{'type'} eq 'unofficial')) {
             $instcodefilter = &instcode_srchstr($dom,$numtitles);              $instcodefilter = &instcode_srchstr($dom,$numtitles);
                 &Apache::courseclassifier::instcode_search_str($dom,$numtitles);                  &Apache::courseclassifier::instcode_search_str($dom,$numtitles,\@codetitles);
             if ($curr{'type'} eq 'official') {              if ($curr{'type'} eq 'official') {
                 $regexpok = 1;                  $regexpok = 1;
             } else {              } else {

Removed from v.1.137  
changed lines
  Added in v.1.147


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