Diff for /loncom/interface/lonmodifycourse.pm between versions 1.76 and 1.79.2.2

version 1.76, 2015/03/23 13:03:32 version 1.79.2.2, 2016/09/17 16:03:36
Line 44  sub get_dc_settable { Line 44  sub get_dc_settable {
     if ($type eq 'Community') {      if ($type eq 'Community') {
         return ('courseowner','selfenrollmgrdc','selfenrollmgrcc');          return ('courseowner','selfenrollmgrdc','selfenrollmgrcc');
     } else {      } else {
         my @items = ('courseowner','coursecode','authtype','autharg','selfenrollmgrdc','selfenrollmgrcc');          my @items = ('courseowner','coursecode','authtype','autharg','selfenrollmgrdc',
                        'selfenrollmgrcc','mysqltables');
         if (&showcredits($cdom)) {          if (&showcredits($cdom)) {
             push(@items,'defaultcredits');              push(@items,'defaultcredits');
         }          }
Line 55  sub get_dc_settable { Line 56  sub get_dc_settable {
 sub autoenroll_keys {  sub autoenroll_keys {
     my $internals = ['coursecode','courseowner','authtype','autharg','defaultcredits',      my $internals = ['coursecode','courseowner','authtype','autharg','defaultcredits',
                      'autoadds','autodrops','autostart','autoend','sectionnums',                       'autoadds','autodrops','autostart','autoend','sectionnums',
                      'crosslistings','co-owners'];                       'crosslistings','co-owners','autodropfailsafe'];
     my $accessdates = ['default_enrollment_start_date','default_enrollment_end_date'];      my $accessdates = ['default_enrollment_start_date','default_enrollment_end_date'];
     return ($internals,$accessdates);      return ($internals,$accessdates);
 }  }
Line 117  sub get_enrollment_settings { Line 118  sub get_enrollment_settings {
                 $enrollvar{$type} =~ s/,/, /g;                  $enrollvar{$type} =~ s/,/, /g;
             } elsif ($type eq "authtype"              } elsif ($type eq "authtype"
                      || $type eq "autharg"    || $type eq "coursecode"                       || $type eq "autharg"    || $type eq "coursecode"
                      || $type eq "crosslistings") {                       || $type eq "crosslistings" || $type eq "selfenrollmgr"
   +                    || $type eq "autodropfailsafe") {
                 $enrollvar{$type} = $settings{$item};                  $enrollvar{$type} = $settings{$item};
             } elsif ($type eq 'defaultcredits') {              } elsif ($type eq 'defaultcredits') {
                 if (&showcredits($cdom)) {                  if (&showcredits($cdom)) {
                     $enrollvar{$type} = $settings{$item};                      $enrollvar{$type} = $settings{$item};
                 }                  }
             } elsif ($type eq 'selfenrollmgr') {  
                 $enrollvar{$type} = $settings{$item};      
             } elsif ($type eq 'courseowner') {              } elsif ($type eq 'courseowner') {
                 if ($settings{$item} =~ /^[^:]+:[^:]+$/) {                  if ($settings{$item} =~ /^[^:]+:[^:]+$/) {
                     $enrollvar{$type} = $settings{$item};                      $enrollvar{$type} = $settings{$item};
Line 208  sub print_course_selection_page { Line 208  sub print_course_selection_page {
     my %courses = &Apache::loncommon::search_courses($dom,$type,$filter,$numtitles,      my %courses = &Apache::loncommon::search_courses($dom,$type,$filter,$numtitles,
                                                      undef,undef,undef,\@codetitles);                                                       undef,undef,undef,\@codetitles);
     &Apache::lonpickcourse::display_matched_courses($r,$type,0,$action,undef,undef,undef,      &Apache::lonpickcourse::display_matched_courses($r,$type,0,$action,undef,undef,undef,
                                                     %courses);                                                      undef,undef,%courses);
     return;      return;
 }  }
   
Line 255  sub print_modification_menu { Line 255  sub print_modification_menu {
         $setquota_text = &mt('Total disk space allocated for storage of portfolio files in all groups in a course.');          $setquota_text = &mt('Total disk space allocated for storage of portfolio files in all groups in a course.');
         $setuploadquota_text = &mt('Disk space allocated for storage of content uploaded directly to a course via Content Editor.');          $setuploadquota_text = &mt('Disk space allocated for storage of content uploaded directly to a course via Content Editor.');
         if (&showcredits($dom)) {          if (&showcredits($dom)) {
             $setparams_text = 'View/Modify course owner, institutional code, default authentication, credits, and self-enrollment';              $setparams_text = 'View/Modify course owner, institutional code, default authentication, credits, self-enrollment and table lifetime';
         } else {          } else {
             $setparams_text = 'View/Modify course owner, institutional code, default authentication, and self-enrollment';              $setparams_text = 'View/Modify course owner, institutional code, default authentication, self-enrollment and table lifetime';
         }          }
         $cat_text = 'View/Modify catalog settings for course';          $cat_text = 'View/Modify catalog settings for course';
     }      }
Line 367  sub print_modification_menu { Line 367  sub print_modification_menu {
         }          }
         $menu_html .= ' <li>'.&mt('Override defaults for who configures self-enrollment for this specific course.').'</li>'."\n";          $menu_html .= ' <li>'.&mt('Override defaults for who configures self-enrollment for this specific course.').'</li>'."\n";
     }      }
     $menu_html .= '<li>'.$setquota_text.'</li>'."\n".      $menu_html .= '<li>'.$mysqltables_text.'</li>'."\n".
                     '<li>'.$setquota_text.'</li>'."\n".
                   '<li>'.$setuploadquota_text.'</li>'."\n".                    '<li>'.$setuploadquota_text.'</li>'."\n".
                   '<li>'.$anon_text.'</li>'."\n".                    '<li>'.$anon_text.'</li>'."\n".
                   '<li>'.$postsubmit_text.'</li>'."\n";                    '<li>'.$postsubmit_text.'</li>'."\n";
Line 753  sub print_course_modification_page { Line 754  sub print_course_modification_page {
     my ($ownertable,$ccrole,$javascript_validations,$authenitems,$ccname);      my ($ownertable,$ccrole,$javascript_validations,$authenitems,$ccname);
     my %enrollvar = &get_enrollment_settings($cdom,$cnum);      my %enrollvar = &get_enrollment_settings($cdom,$cnum);
     my %settings = &Apache::lonnet::get('environment',['internal.coursecode','internal.textbook',      my %settings = &Apache::lonnet::get('environment',['internal.coursecode','internal.textbook',
                                                        'internal.selfenrollmgrdc','internal.selfenrollmgrcc'],                                                         'internal.selfenrollmgrdc','internal.selfenrollmgrcc',
                                         $cdom,$cnum);                                                         'internal.mysqltables'],$cdom,$cnum);
     my $type = &Apache::lonuserutils::get_extended_type($cdom,$cnum,$crstype,\%settings);      my $type = &Apache::lonuserutils::get_extended_type($cdom,$cnum,$crstype,\%settings);
     my @specific_managebydc = split(/,/,$settings{'internal.selfenrollmgrdc'});      my @specific_managebydc = split(/,/,$settings{'internal.selfenrollmgrdc'});
     my @specific_managebycc = split(/,/,$settings{'internal.selfenrollmgrcc'});      my @specific_managebycc = split(/,/,$settings{'internal.selfenrollmgrcc'});
Line 902  sub print_course_modification_page { Line 903  sub print_course_modification_page {
                   &Apache::loncommon::end_data_table_row()."\n");                    &Apache::loncommon::end_data_table_row()."\n");
     }      }
     $r->print(&Apache::loncommon::end_data_table()."\n".      $r->print(&Apache::loncommon::end_data_table()."\n".
               '<br />'.&Apache::lonhtmlcommon::row_closure(1).                '<br />'.&Apache::lonhtmlcommon::row_closure().
                 &Apache::lonhtmlcommon::row_title(
                 &Apache::loncommon::help_open_topic('Modify_Course_Table_Lifetime').
                 '&nbsp;'.&mt('"Temporary" Tables Lifetime (s)'))."\n".
                 '<input type="text" size="10" name="mysqltables" value="'.$settings{'internal.mysqltables'}.'" />'.
                 &Apache::lonhtmlcommon::row_closure(1).
               &Apache::lonhtmlcommon::end_pick_box().'</p><p>'.$hidden_elements.                &Apache::lonhtmlcommon::end_pick_box().'</p><p>'.$hidden_elements.
               '<input type="button" onclick="javascript:changePage(this.form,'."'processparms'".');');                '<input type="button" onclick="javascript:changePage(this.form,'."'processparms'".');');
     if ($crstype eq 'Community') {      if ($crstype eq 'Community') {
Line 1024  sub modify_course { Line 1030  sub modify_course {
     my %longtype = &course_settings_descrip($type);      my %longtype = &course_settings_descrip($type);
     my @items = ('internal.courseowner','description','internal.co-owners',      my @items = ('internal.courseowner','description','internal.co-owners',
                  'internal.pendingco-owners','internal.selfenrollmgrdc',                   'internal.pendingco-owners','internal.selfenrollmgrdc',
                  'internal.selfenrollmgrcc');                   'internal.selfenrollmgrcc','internal.mysqltables');
     my ($selfenrollrows,$selfenrolltitles) = &Apache::lonuserutils::get_selfenroll_titles();      my ($selfenrollrows,$selfenrolltitles) = &Apache::lonuserutils::get_selfenroll_titles();
     unless ($type eq 'Community') {      unless ($type eq 'Community') {
         push(@items,('internal.coursecode','internal.authtype','internal.autharg',          push(@items,('internal.coursecode','internal.authtype','internal.autharg',
Line 1095  sub modify_course { Line 1101  sub modify_course {
                 $changed{'code'} = 1;                  $changed{'code'} = 1;
             }              }
         }          }
           if ( exists($env{'form.mysqltables'}) ) {
               $newattr{'mysqltables'} = $env{'form.mysqltables'};
               $newattr{'mysqltables'} =~ s/\D+//g;
           }
         if (&showcredits($cdom) && exists($env{'form.defaultcredits'})) {          if (&showcredits($cdom) && exists($env{'form.defaultcredits'})) {
             $newattr{'defaultcredits'} =~ s/[^\d\.]//g;  
             $newattr{'defaultcredits'}=$env{'form.defaultcredits'};              $newattr{'defaultcredits'}=$env{'form.defaultcredits'};
               $newattr{'defaultcredits'} =~ s/[^\d\.]//g;
         }          }
     }      }
   
Line 1190  sub modify_course { Line 1199  sub modify_course {
                         $shown = &selfenroll_config_status(\@newmgrcc,$selfenrolltitles);                          $shown = &selfenroll_config_status(\@newmgrcc,$selfenrolltitles);
                     } elsif (($attr eq 'defaultcredits') && ($shown eq '')) {                      } elsif (($attr eq 'defaultcredits') && ($shown eq '')) {
                         $shown = &mt('None');                          $shown = &mt('None');
                       } elsif (($attr eq 'mysqltables') && ($shown eq '')) {
                           $shown = &mt('domain default');
                     }                      }
                     $chgresponse .= '<li>'.&mt('[_1] now set to: [_2]',$longtype{$attr},$shown).'</li>';                      $chgresponse .= '<li>'.&mt('[_1] now set to: [_2]',$longtype{$attr},$shown).'</li>';
                 } else {                  } else {
Line 1200  sub modify_course { Line 1211  sub modify_course {
                         $shown = &selfenroll_config_status(\@currmgrcc,$selfenrolltitles);                          $shown = &selfenroll_config_status(\@currmgrcc,$selfenrolltitles);
                     } elsif (($attr eq 'defaultcredits') && ($shown eq '')) {                      } elsif (($attr eq 'defaultcredits') && ($shown eq '')) {
                         $shown = &mt('None');                          $shown = &mt('None');
                       } elsif (($attr eq 'mysqltables') && ($shown eq '')) {
                           $shown = &mt('domain default');
                     }                      }
                     $nochgresponse .= '<li>'.&mt('[_1] still set to: [_2]',$longtype{$attr},$shown).'</li>';                      $nochgresponse .= '<li>'.&mt('[_1] still set to: [_2]',$longtype{$attr},$shown).'</li>';
                 }                  }
Line 1271  sub modify_course { Line 1284  sub modify_course {
                 $shown = &selfenroll_config_status(\@currmgrcc,$selfenrolltitles);                  $shown = &selfenroll_config_status(\@currmgrcc,$selfenrolltitles);
             } elsif (($attr eq 'defaultcredits') && ($shown eq '')) {              } elsif (($attr eq 'defaultcredits') && ($shown eq '')) {
                 $shown = &mt('None');                  $shown = &mt('None');
               }  elsif (($attr eq 'mysqltables') && ($shown eq '')) {
                   $shown = &mt('domain default');
             }              }
             $nochgresponse .= '<li>'.&mt('[_1] still set to: [_2]',$longtype{$attr},$shown).'</li>';              $nochgresponse .= '<li>'.&mt('[_1] still set to: [_2]',$longtype{$attr},$shown).'</li>';
         }          }
Line 1901  function hide_searching() { Line 1916  function hide_searching() {
     } elsif ($phase eq 'setquota') {      } elsif ($phase eq 'setquota') {
         my $invalid = &mt('The quota you entered contained invalid characters.');          my $invalid = &mt('The quota you entered contained invalid characters.');
         my $alert = &mt('You must enter a number');          my $alert = &mt('You must enter a number');
           &js_escape(\$invalid);
           &js_escape(\$alert);
         my $regexp = '/^\s*(\d+\.?\d*|\.\d+)\s*$/';          my $regexp = '/^\s*(\d+\.?\d*|\.\d+)\s*$/';
         $js .= <<"ENDSCRIPT";          $js .= <<"ENDSCRIPT";
   
Line 1920  ENDSCRIPT Line 1937  ENDSCRIPT
     } elsif ($phase eq 'setanon') {      } elsif ($phase eq 'setanon') {
         my $invalid = &mt('The responder threshold you entered is invalid.');          my $invalid = &mt('The responder threshold you entered is invalid.');
         my $alert = &mt('You must enter a positive integer.');          my $alert = &mt('You must enter a positive integer.');
           &js_escape(\$invalid);
           &js_escape(\$alert);
         my $regexp = ' /^\s*\d+\s*$/';          my $regexp = ' /^\s*\d+\s*$/';
         $js .= <<"ENDSCRIPT";          $js .= <<"ENDSCRIPT";
   
Line 1945  ENDSCRIPT Line 1964  ENDSCRIPT
         my $invalid = &mt('The choice entered for disabling the submit button is invalid.');          my $invalid = &mt('The choice entered for disabling the submit button is invalid.');
         my $invalidtimeout = &mt('The timeout you entered for disabling the submit button is invalid.');          my $invalidtimeout = &mt('The timeout you entered for disabling the submit button is invalid.');
         my $alert = &mt('Enter one of: a positive integer, 0 (for no timeout), or leave blank to use domain default');          my $alert = &mt('Enter one of: a positive integer, 0 (for no timeout), or leave blank to use domain default');
           &js_escape(\$invalid);
           &js_escape(\$invalidtimeout);
           &js_escape(\$alert);
         my $regexp = ' /^\s*\d+\s*$/';          my $regexp = ' /^\s*\d+\s*$/';
   
         $js .= <<"ENDSCRIPT";           $js .= <<"ENDSCRIPT"; 
Line 2106  sub course_settings_descrip { Line 2128  sub course_settings_descrip {
                       'sectionnums' => 'Course section number:LON-CAPA section',                        'sectionnums' => 'Course section number:LON-CAPA section',
                       'crosslistings' => 'Crosslisted class:LON-CAPA section',                        'crosslistings' => 'Crosslisted class:LON-CAPA section',
                       'defaultcredits' => 'Credits',                        'defaultcredits' => 'Credits',
                         'autodropfailsafe' => "Failsafe section enrollment count",
                       'selfenrollmgrdc'  => "Course-specific self-enrollment configuration by Domain Coordinator",                        'selfenrollmgrdc'  => "Course-specific self-enrollment configuration by Domain Coordinator",
                       'selfenrollmgrcc'  => "Course-specific self-enrollment configuration by Course personnel",                        'selfenrollmgrcc'  => "Course-specific self-enrollment configuration by Course personnel",
                         'mysqltables'      => '"Temporary" student performance tables lifetime (seconds)',
   
          );           );
     }      }
Line 2121  sub hidden_form_elements { Line 2145  sub hidden_form_elements {
           'locarg','krbarg','krbver','counter','hidefromcat','usecategory',            'locarg','krbarg','krbver','counter','hidefromcat','usecategory',
           'threshold','postsubmit','postsubtimeout','defaultcredits','uploadquota',            'threshold','postsubmit','postsubtimeout','defaultcredits','uploadquota',
           'selfenrollmgrdc','selfenrollmgrcc','action','state','currsec_st',            'selfenrollmgrdc','selfenrollmgrcc','action','state','currsec_st',
           'sections','newsec'],['^selfenrollmgr_'])."\n".            'sections','newsec','mysqltables'],['^selfenrollmgr_','^selfenroll_'])."\n".
           '<input type="hidden" name="prevphase" value="'.$env{'form.phase'}.'" />';            '<input type="hidden" name="prevphase" value="'.$env{'form.phase'}.'" />';
     return $hidden_elements;      return $hidden_elements;
 }  }
Line 2129  sub hidden_form_elements { Line 2153  sub hidden_form_elements {
 sub showcredits {  sub showcredits {
     my ($dom) = @_;      my ($dom) = @_;
     my %domdefaults = &Apache::lonnet::get_domain_defaults($dom);      my %domdefaults = &Apache::lonnet::get_domain_defaults($dom);
     if ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'} || $domdefaults{'textbokcredits'}) {      if ($domdefaults{'officialcredits'} || $domdefaults{'unofficialcredits'} || $domdefaults{'textbookcredits'}) {
         return 1;          return 1;
     }      }
 }  }

Removed from v.1.76  
changed lines
  Added in v.1.79.2.2


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