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

version 1.79.2.2, 2016/09/17 16:03:36 version 1.85, 2016/08/15 18:01:08
Line 72  sub catalog_settable { Line 72  sub catalog_settable {
             if ($confhash->{'categorizecomm'} ne 'comm') {              if ($confhash->{'categorizecomm'} ne 'comm') {
                 push(@settable,'categorize');                  push(@settable,'categorize');
             }              }
           } elsif ($type eq 'Placement') {
               if ($confhash->{'togglecatsplace'} ne 'place') {
                   push(@settable,'togglecats');
               }
               if ($confhash->{'categorizeplace'} ne 'place') {
                   push(@settable,'categorize');
               }
         } else {          } else {
             if ($confhash->{'togglecats'} ne 'crs') {              if ($confhash->{'togglecats'} ne 'crs') {
                 push(@settable,'togglecats');                  push(@settable,'togglecats');
Line 119  sub get_enrollment_settings { Line 126  sub get_enrollment_settings {
             } 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 "selfenrollmgr"                       || $type eq "crosslistings" || $type eq "selfenrollmgr"
 +                    || $type eq "autodropfailsafe") {                       || $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)) {
Line 167  sub print_course_search_page { Line 174  sub print_course_search_page {
     $r->print(&Apache::loncommon::js_changer());      $r->print(&Apache::loncommon::js_changer());
     if ($type eq 'Community') {      if ($type eq 'Community') {
         $r->print('<h3>'.&mt('Search for a community in the [_1] domain',$domdesc).'</h3>');          $r->print('<h3>'.&mt('Search for a community in the [_1] domain',$domdesc).'</h3>');
       } elsif ($type eq 'Placement') {
           $r->print('<h3>'.&mt('Search for a placement test in the [_1] domain',$domdesc).'</h3>');
     } else {      } else {
         $r->print('<h3>'.&mt('Search for a course in the [_1] domain',$domdesc).'</h3>');          $r->print('<h3>'.&mt('Search for a course in the [_1] domain',$domdesc).'</h3>');
     }      }
Line 178  sub print_course_search_page { Line 187  sub print_course_search_page {
                   '<li>'.&mt('Enter the community with the role of [_1]',$cctitle).'</li>'."\n".                    '<li>'.&mt('Enter the community with the role of [_1]',$cctitle).'</li>'."\n".
                   '<li>'.&mt('View or modify community settings which only a [_1] may modify.',$dctitle).                    '<li>'.&mt('View or modify community settings which only a [_1] may modify.',$dctitle).
                   '</li>'."\n".'</ul>');                    '</li>'."\n".'</ul>');
       } elsif ($type eq 'Placement') {
           $r->print(&mt('Actions available after searching for a placement test:').'<ul>'.
                     '<li>'.&mt('Enter the placement test with the role of [_1]',$cctitle).'</li>'."\n".
                     '<li>'.&mt('View or modify placement test settings which only a [_1] may modify.',$dctitle).
                     '</li>'."\n".'</ul>');
     } else {      } else {
         $r->print(&mt('Actions available after searching for a course:').'<ul>'.          $r->print(&mt('Actions available after searching for a course:').'<ul>'.
                   '<li>'.&mt('Enter the course with the role of [_1]',$cctitle).'</li>'."\n".                    '<li>'.&mt('Enter the course with the role of [_1]',$cctitle).'</li>'."\n".
Line 254  sub print_modification_menu { Line 268  sub print_modification_menu {
         $categorytitle = 'View/Modify Course Settings';          $categorytitle = 'View/Modify Course Settings';
         $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 (($type ne 'Placement') && (&showcredits($dom))) {
             $setparams_text = 'View/Modify course owner, institutional code, default authentication, credits, self-enrollment and table lifetime';              $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, self-enrollment and table lifetime';              $setparams_text = 'View/Modify course owner, institutional code, default authentication, self-enrollment and table lifetime';
Line 263  sub print_modification_menu { Line 277  sub print_modification_menu {
     }      }
     my $anon_text = &mt('Responder threshold required to display anonymous survey submissions.');      my $anon_text = &mt('Responder threshold required to display anonymous survey submissions.');
     my $postsubmit_text = &mt('Override defaults for submit button behavior post-submission for this specific course.');       my $postsubmit_text = &mt('Override defaults for submit button behavior post-submission for this specific course.'); 
       my $mysqltables_text = &mt('Override default for lifetime of "temporary" MySQL tables containing student performance data.');
   
     my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$dom);      my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$dom);
     my @additional_params = &catalog_settable($domconf{'coursecategories'},$type);      my @additional_params = &catalog_settable($domconf{'coursecategories'},$type);
Line 320  sub print_modification_menu { Line 335  sub print_modification_menu {
             {              {
                 linktext => 'Display current settings for automated enrollment',                  linktext => 'Display current settings for automated enrollment',
                 url => &phaseurl('viewparms'),                  url => &phaseurl('viewparms'),
                 permission => ($type ne 'Community'),                  permission => (($type ne 'Community') && ($type ne 'Placement')),
                 #help => '',                  #help => '',
                 icon => 'roles.png',                  icon => 'roles.png',
                 linktitle => ''                  linktitle => ''
Line 362  sub print_modification_menu { Line 377  sub print_modification_menu {
     } else {      } else {
         $menu_html .=  '<li>'.&mt('Course owner (permitted to assign Course Coordinator roles in the course).').'</li>'."\n".          $menu_html .=  '<li>'.&mt('Course owner (permitted to assign Course Coordinator roles in the course).').'</li>'."\n".
                        '<li>'.&mt("Institutional code and default authentication (both required for auto-enrollment of students from institutional datafeeds).").'</li>'."\n";                         '<li>'.&mt("Institutional code and default authentication (both required for auto-enrollment of students from institutional datafeeds).").'</li>'."\n";
         if (&showcredits($dom)) {          if (($type ne 'Placement') && &showcredits($dom)) {
             $menu_html .= '<li>'.&mt('Default credits earned by student on course completion.').'</li>'."\n";              $menu_html .= '<li>'.&mt('Default credits earned by student on course completion.').'</li>'."\n";
         }          }
         $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";
Line 635  sub domain_postsubtimeout { Line 650  sub domain_postsubtimeout {
     my ($cdom,$type,$settings) = @_;      my ($cdom,$type,$settings) = @_;
     return unless (ref($settings) eq 'HASH');       return unless (ref($settings) eq 'HASH'); 
     my $lctype = lc($type);      my $lctype = lc($type);
     unless ($type eq 'Community') {      unless (($type eq 'Community') || ($type eq 'Placement')) {
         $lctype = 'unofficial';          $lctype = 'unofficial';
         if ($settings->{'internal.coursecode'}) {          if ($settings->{'internal.coursecode'}) {
             $lctype = 'official';              $lctype = 'official';
Line 694  sub print_catsettings { Line 709  sub print_catsettings {
                       '&nbsp;<label><input name="hidefromcat" type="radio" value="yes" '.$excludeon.' />'.&mt('Yes').'</label>&nbsp;&nbsp;&nbsp;<label><input name="hidefromcat" type="radio" value="" '.$excludeoff.' />'.&mt('No').'</label><br /><p>');                        '&nbsp;<label><input name="hidefromcat" type="radio" value="yes" '.$excludeon.' />'.&mt('Yes').'</label>&nbsp;&nbsp;&nbsp;<label><input name="hidefromcat" type="radio" value="" '.$excludeoff.' />'.&mt('No').'</label><br /><p>');
             if ($type eq 'Community') {              if ($type eq 'Community') {
                 $r->print(&mt("If a community has been categorized using at least one of the categories defined for communities in the domain, it will be listed in the domain's publicly accessible Course/Community Catalog, unless excluded."));                  $r->print(&mt("If a community has been categorized using at least one of the categories defined for communities in the domain, it will be listed in the domain's publicly accessible Course/Community Catalog, unless excluded."));
               } elsif ($type eq 'Placement') {
                   $r->print(&mt("If a placement test has been categorized using at least one of the categories defined for placement tests in the domain, it will be listed in the domain's publicly accessible Course/Community Catalog, unless excluded."));
             } else {              } else {
                 $r->print(&mt("Unless excluded, a course will be listed in the domain's publicly accessible Course/Community Catalog, if at least one of the following applies").':<ul>'.                  $r->print(&mt("Unless excluded, a course will be listed in the domain's publicly accessible Course/Community Catalog, if at least one of the following applies").':<ul>'.
                           '<li>'.&mt('Auto-cataloging is enabled and the course is assigned an institutional code.').'</li>'.                            '<li>'.&mt('Auto-cataloging is enabled and the course is assigned an institutional code.').'</li>'.
Line 715  sub print_catsettings { Line 732  sub print_catsettings {
             } else {              } else {
                 $r->print(&mt('No categories defined for this domain'));                  $r->print(&mt('No categories defined for this domain'));
             }              }
             unless ($type eq 'Community') {               unless (($type eq 'Community') || ($type eq 'Placement')) { 
                 $r->print('<p>'.&mt('If auto-cataloging based on institutional code is enabled in the domain, a course will continue to be listed in the catalog of official courses, in addition to receiving a listing under any manually assigned categor(ies).').'</p>');                  $r->print('<p>'.&mt('If auto-cataloging based on institutional code is enabled in the domain, a course will continue to be listed in the catalog of official courses, in addition to receiving a listing under any manually assigned categor(ies).').'</p>');
             }              }
         }          }
Line 755  sub print_course_modification_page { Line 772  sub print_course_modification_page {
     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',
                                                        'internal.mysqltables'],$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 838  sub print_course_modification_page { Line 856  sub print_course_modification_page {
                       '&nbsp;'.&mt('Course Code'))."\n".                        '&nbsp;'.&mt('Course Code'))."\n".
                   '<input type="text" size="15" name="coursecode" value="'.$enrollvar{'coursecode'}.'" />'.                    '<input type="text" size="15" name="coursecode" value="'.$enrollvar{'coursecode'}.'" />'.
                   &Apache::lonhtmlcommon::row_closure());                    &Apache::lonhtmlcommon::row_closure());
         if (&showcredits($cdom)) {          if (($crstype eq 'Course') && (&showcredits($cdom))) {
             $r->print(&Apache::lonhtmlcommon::row_title(              $r->print(&Apache::lonhtmlcommon::row_title(
                           &Apache::loncommon::help_open_topic('Modify_Course_Credithours').                            &Apache::loncommon::help_open_topic('Modify_Course_Credithours').
                       '&nbsp;'.&mt('Credits (students)'))."\n".                        '&nbsp;'.&mt('Credits (students)'))."\n".
                       '<input type="text" size="3" name="defaultcredits" value="'.$enrollvar{'defaultcredits'}.'" />'.                        '<input type="text" size="3" name="defaultcredits" value="'.$enrollvar{'defaultcredits'}.'" />'.
                       &Apache::lonhtmlcommon::row_closure());                        &Apache::lonhtmlcommon::row_closure());
          }          }
          $r->print(&Apache::lonhtmlcommon::row_title(          $r->print(&Apache::lonhtmlcommon::row_title(
                        &Apache::loncommon::help_open_topic('Modify_Course_Defaultauth').                        &Apache::loncommon::help_open_topic('Modify_Course_Defaultauth').
                        '&nbsp;'.&mt('Default Authentication method'))."\n".                        '&nbsp;'.&mt('Default Authentication method'))."\n".
                    $authenitems."\n".                    $authenitems."\n".
                    &Apache::lonhtmlcommon::row_closure().                    &Apache::lonhtmlcommon::row_closure().
                    &Apache::lonhtmlcommon::row_title(                    &Apache::lonhtmlcommon::row_title(
                    &Apache::loncommon::help_open_topic('Modify_Course_Owner').                    &Apache::loncommon::help_open_topic('Modify_Course_Owner').
                       '&nbsp;'.&mt('Course Owner'))."\n");                       '&nbsp;'.&mt('Course Owner'))."\n");
     }      }
     my ($cctitle,$rolename,$currmanages,$ccchecked,$dcchecked,$defaultchecked);      my ($cctitle,$rolename,$currmanages,$ccchecked,$dcchecked,$defaultchecked);
     my ($selfenrollrows,$selfenrolltitles) = &Apache::lonuserutils::get_selfenroll_titles();      my ($selfenrollrows,$selfenrolltitles) = &Apache::lonuserutils::get_selfenroll_titles();
Line 1032  sub modify_course { Line 1050  sub modify_course {
                  'internal.pendingco-owners','internal.selfenrollmgrdc',                   'internal.pendingco-owners','internal.selfenrollmgrdc',
                  'internal.selfenrollmgrcc','internal.mysqltables');                   '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') || ($type eq 'Placement')) {
         push(@items,('internal.coursecode','internal.authtype','internal.autharg',          push(@items,('internal.coursecode','internal.authtype','internal.autharg',
                      'internal.sectionnums','internal.crosslistings'));                       'internal.sectionnums','internal.crosslistings'));
         if (&showcredits($cdom)) {            if (&showcredits($cdom)) {  
Line 1105  sub modify_course { Line 1123  sub modify_course {
             $newattr{'mysqltables'} = $env{'form.mysqltables'};              $newattr{'mysqltables'} = $env{'form.mysqltables'};
             $newattr{'mysqltables'} =~ s/\D+//g;              $newattr{'mysqltables'} =~ s/\D+//g;
         }          }
         if (&showcredits($cdom) && exists($env{'form.defaultcredits'})) {          if (($type ne 'Placement') && (&showcredits($cdom) && exists($env{'form.defaultcredits'}))) {
             $newattr{'defaultcredits'}=$env{'form.defaultcredits'};              $newattr{'defaultcredits'}=$env{'form.defaultcredits'};
             $newattr{'defaultcredits'} =~ s/[^\d\.]//g;              $newattr{'defaultcredits'} =~ s/[^\d\.]//g;
         }          }
Line 1217  sub modify_course { Line 1235  sub modify_course {
                     $nochgresponse .= '<li>'.&mt('[_1] still set to: [_2]',$longtype{$attr},$shown).'</li>';                      $nochgresponse .= '<li>'.&mt('[_1] still set to: [_2]',$longtype{$attr},$shown).'</li>';
                 }                  }
             }              }
             if (($type ne 'Community') && ($changed{'code'} || $changed{'owner'})) {              if (($type ne 'Community') && ($type ne 'Placement') && ($changed{'code'} || $changed{'owner'})) {
                 if ( $newattr{'courseowner'} eq '') {                  if ( $newattr{'courseowner'} eq '') {
             push(@warnings,&mt('There is no owner associated with this LON-CAPA course.').              push(@warnings,&mt('There is no owner associated with this LON-CAPA course.').
                                    '<br />'.&mt('If automated enrollment at your institution requires validation of course owners, automated enrollment will fail.'));                                     '<br />'.&mt('If automated enrollment at your institution requires validation of course owners, automated enrollment will fail.'));
Line 1284  sub modify_course { Line 1302  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 '')) {              } elsif (($attr eq 'mysqltables') && ($shown eq '')) {
                 $shown = &mt('domain default');                  $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 2056  ENDSCRIPT Line 2074  ENDSCRIPT
     my $bread_text = "View/Modify Courses/Communities";      my $bread_text = "View/Modify Courses/Communities";
     if ($type eq 'Community') {      if ($type eq 'Community') {
         $bread_text = 'Community Settings';          $bread_text = 'Community Settings';
       } elsif ($type eq 'Placement') {
           $bread_text = 'Placement Test Settings';
     } else {      } else {
         $bread_text = 'Course Settings';          $bread_text = 'Course Settings';
     }      }
Line 2110  sub course_settings_descrip { Line 2130  sub course_settings_descrip {
                       'co-owners'        => "Username:domain of each co-owner",                        'co-owners'        => "Username:domain of each co-owner",
                       'selfenrollmgrdc'  => "Community-specific self-enrollment configuration by Domain Coordinator",                        'selfenrollmgrdc'  => "Community-specific self-enrollment configuration by Domain Coordinator",
                       'selfenrollmgrcc'  => "Community-specific self-enrollment configuration by Community personnel",                        'selfenrollmgrcc'  => "Community-specific self-enrollment configuration by Community personnel",
                         'mysqltables'      => '"Temporary" student performance tables lifetime (seconds)',
          );           );
     } else {      } else {
          %longtype = &Apache::lonlocal::texthash(           %longtype = &Apache::lonlocal::texthash(
Line 2132  sub course_settings_descrip { Line 2153  sub course_settings_descrip {
                       '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)',                        'mysqltables'      => '"Temporary" student performance tables lifetime (seconds)',
   
          );           );
     }      }
     return %longtype;      return %longtype;
Line 2196  sub handler { Line 2216  sub handler {
             }              }
             if ($type eq 'Community') {              if ($type eq 'Community') {
                 $choose_text = "Choose a community";                  $choose_text = "Choose a community";
               } elsif ($type eq 'Placement') {
                   $choose_text = "Choose a placement test";
             } else {              } else {
                 $choose_text = "Choose a course";                  $choose_text = "Choose a course";
             }               } 
Line 2212  sub handler { Line 2234  sub handler {
                     my $enter_text;                      my $enter_text;
                     if ($type eq 'Community') {                      if ($type eq 'Community') {
                         $enter_text = 'Enter community';                          $enter_text = 'Enter community';
                       } elsif ($type eq 'Placement') {
                           $enter_text = 'Enter placement test'; 
                     } else {                      } else {
                         $enter_text = 'Enter course';                          $enter_text = 'Enter course';
                     }                      }
Line 2316  sub handler { Line 2340  sub handler {
                     $r->print('<span class="LC_error">');                      $r->print('<span class="LC_error">');
                     if ($type eq 'Community') {                      if ($type eq 'Community') {
                         $r->print(&mt('The community you selected is not a valid community in this domain'));                          $r->print(&mt('The community you selected is not a valid community in this domain'));
                       } elsif ($type eq 'Placement') {
                           $r->print(&mt('The course you selected is not a valid placement test in this domain'));
                     } else {                      } else {
                         $r->print(&mt('The course you selected is not a valid course in this domain'));                          $r->print(&mt('The course you selected is not a valid course in this domain'));
                     }                      }

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


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