--- loncom/interface/lonmodifycourse.pm 2016/04/02 04:30:21 1.80 +++ loncom/interface/lonmodifycourse.pm 2016/07/24 14:34:59 1.84 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # handler for DC-only modifiable course settings # -# $Id: lonmodifycourse.pm,v 1.80 2016/04/02 04:30:21 raeburn Exp $ +# $Id: lonmodifycourse.pm,v 1.84 2016/07/24 14:34:59 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -55,7 +55,7 @@ sub get_dc_settable { sub autoenroll_keys { my $internals = ['coursecode','courseowner','authtype','autharg','defaultcredits', 'autoadds','autodrops','autostart','autoend','sectionnums', - 'crosslistings','co-owners']; + 'crosslistings','co-owners','autodropfailsafe']; my $accessdates = ['default_enrollment_start_date','default_enrollment_end_date']; return ($internals,$accessdates); } @@ -71,6 +71,13 @@ sub catalog_settable { if ($confhash->{'categorizecomm'} ne 'comm') { push(@settable,'categorize'); } + } elsif ($type eq 'Placement') { + if ($confhash->{'togglecatsplace'} ne 'place') { + push(@settable,'togglecats'); + } + if ($confhash->{'categorizeplace'} ne 'place') { + push(@settable,'categorize'); + } } else { if ($confhash->{'togglecats'} ne 'crs') { push(@settable,'togglecats'); @@ -117,14 +124,13 @@ sub get_enrollment_settings { $enrollvar{$type} =~ s/,/, /g; } elsif ($type eq "authtype" || $type eq "autharg" || $type eq "coursecode" - || $type eq "crosslistings") { + || $type eq "crosslistings" || $type eq "selfenrollmgr" + || $type eq "autodropfailsafe") { $enrollvar{$type} = $settings{$item}; } elsif ($type eq 'defaultcredits') { if (&showcredits($cdom)) { $enrollvar{$type} = $settings{$item}; } - } elsif ($type eq 'selfenrollmgr') { - $enrollvar{$type} = $settings{$item}; } elsif ($type eq 'courseowner') { if ($settings{$item} =~ /^[^:]+:[^:]+$/) { $enrollvar{$type} = $settings{$item}; @@ -167,6 +173,8 @@ sub print_course_search_page { $r->print(&Apache::loncommon::js_changer()); if ($type eq 'Community') { $r->print('
'); 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.")); + } 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 { $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").':
'.&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).').'
'); } } @@ -837,21 +852,21 @@ sub print_course_modification_page { ' '.&mt('Course Code'))."\n". ''. &Apache::lonhtmlcommon::row_closure()); - if (&showcredits($cdom)) { + if (($crstype eq 'Course') && (&showcredits($cdom))) { $r->print(&Apache::lonhtmlcommon::row_title( &Apache::loncommon::help_open_topic('Modify_Course_Credithours'). ' '.&mt('Credits (students)'))."\n". ''. &Apache::lonhtmlcommon::row_closure()); - } - $r->print(&Apache::lonhtmlcommon::row_title( - &Apache::loncommon::help_open_topic('Modify_Course_Defaultauth'). - ' '.&mt('Default Authentication method'))."\n". - $authenitems."\n". - &Apache::lonhtmlcommon::row_closure(). - &Apache::lonhtmlcommon::row_title( - &Apache::loncommon::help_open_topic('Modify_Course_Owner'). - ' '.&mt('Course Owner'))."\n"); + } + $r->print(&Apache::lonhtmlcommon::row_title( + &Apache::loncommon::help_open_topic('Modify_Course_Defaultauth'). + ' '.&mt('Default Authentication method'))."\n". + $authenitems."\n". + &Apache::lonhtmlcommon::row_closure(). + &Apache::lonhtmlcommon::row_title( + &Apache::loncommon::help_open_topic('Modify_Course_Owner'). + ' '.&mt('Course Owner'))."\n"); } my ($cctitle,$rolename,$currmanages,$ccchecked,$dcchecked,$defaultchecked); my ($selfenrollrows,$selfenrolltitles) = &Apache::lonuserutils::get_selfenroll_titles(); @@ -1026,7 +1041,7 @@ sub modify_course { 'internal.pendingco-owners','internal.selfenrollmgrdc', 'internal.selfenrollmgrcc'); 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', 'internal.sectionnums','internal.crosslistings')); if (&showcredits($cdom)) { @@ -1096,7 +1111,7 @@ sub modify_course { } } - if (&showcredits($cdom) && exists($env{'form.defaultcredits'})) { + if (($type ne 'Placement') && (&showcredits($cdom) && exists($env{'form.defaultcredits'}))) { $newattr{'defaultcredits'} =~ s/[^\d\.]//g; $newattr{'defaultcredits'}=$env{'form.defaultcredits'}; } @@ -1204,7 +1219,7 @@ sub modify_course { $nochgresponse .= '