--- loncom/interface/lonmodifycourse.pm 2003/12/28 18:27:49 1.3 +++ loncom/interface/lonmodifycourse.pm 2004/06/09 17:01:55 1.8 @@ -197,7 +197,7 @@ all settings except course code, course } else { $enrollvar{$1} = localtime($settings{$item}); } - } else { + } elsif ($1 eq "courseowner" || $1 eq "authtype" || $1 eq "autharg" || $1 eq "sectionnums" || $1 eq "coursecode") { $enrollvar{$1} = $settings{$item}; } } @@ -222,7 +222,7 @@ all settings except course code, course } } unless ( (grep/^$enrollvar{'courseowner'}$/,@local_ccs) || ($enrollvar{'courseowner'} eq '') ) { - push @local_ccs, $enrollvar{'coursecode'}; + push @local_ccs, $enrollvar{'courseowner'}; $pname{$enrollvar{'courseowner'}} = &Apache::loncommon::plainname($enrollvar{'courseowner'},$dom); $active_cc = &LONCAPA::Enrollment::check_user_status($dom,$enrollvar{'coursecode'},$dom,$course,'cc'); if ($active_cc eq 'ok') { @@ -279,7 +279,7 @@ all settings except course code, course $$typeref{$key} $enrollvar{$key} "; - $iter ++; + $iter ++; } $disp_table .= " @@ -418,13 +418,13 @@ $disp_table
ENDDOCUMENT &print_footer($r); + return; } sub modify_course { my ($r,$tasklongref,$typeref) = @_; my $dom = $ENV{'user.domain'}; my $crs = $ENV{'form.course'}; - unless ( &check_course($dom,$crs) eq 'ok' ) { &print_header($r,$tasklongref); my $reply = "
".&mt("The LON-CAPA course selected was not a valid course for this domain"); @@ -548,11 +548,10 @@ sub modify_course { if ($changecode) { foreach my $sec (@sections) { if ($sec =~ m/^(.+):/) { - my $course_id = $newattr{'coursecode'}.$1; - my $course_check = &localenroll::validate_courseID($course_id); - if ($course_check eq 'ok') { - my $outcome = &localenroll::new_course($course_id,$newattr{'courseowner'}); - my $outcome = 'ok'; + my $inst_course_id = $newattr{'coursecode'}.$1; + my $course_check = &Apache::lonnet::auto_validate_courseID($crs,$dom,$inst_course_id); + if ($course_check eq 'ok') { + my $outcome = &Apache::lonnet::auto_new_course($crs,$dom,$inst_course_id,$newattr{'courseowner'}); unless ($outcome eq 'ok') { $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for ").$newattr{'coursecode'}.&mt(" - section $1 for the following reason: $outcome.
"); } @@ -563,14 +562,26 @@ sub modify_course { $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for ").$newattr{'coursecode'}.&mt(" - section $sec because this is not a valid section entry.
"); } } - } + } elsif ($changeowner) { + foreach my $sec (@sections) { + if ($sec =~ m/^(.+):/) { + my $inst_course_id = $newattr{'coursecode'}.$1; + my $outcome = &Apache::lonnet::auto_new_course($crs,$dom,$inst_course_id,$newattr{'courseowner'}); + unless ($outcome eq 'ok') { + $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for ").$newattr{'coursecode'}.&mt(" - section $1 for the following reason: $outcome.
"); + } + } else { + $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for ").$newattr{'coursecode'}.&mt(" - section $sec because this is not a valid section entry.
"); + } + } + } } else { $warning .= &mt("As no section numbers are currently listed for LON-CAPA course: ").$description.&mt(", automated enrollment will not occur for any sections of coursecode: ").$newattr{'coursecode'}."
"; } if ( (@xlists > 0) && ($changeowner) ) { foreach my $xlist (@xlists) { if ($xlist =~ m/^(.+):/) { - my $outcome = &localenroll::new_course($1,$newattr{'courseowner'}); + my $outcome = &Apache::lonnet::auto_new_course($crs,$dom,$1,$newattr{'courseowner'}); unless ($outcome eq 'ok') { $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for crosslisted class: ").$1.&mt(" for the following reason: $outcome.
"); } @@ -582,7 +593,7 @@ sub modify_course { } } else { foreach my $attr (@params) { - $nochgresponse .= "
  • $$typeref{$attr} ".&mt("still set to \"").$currattr{$attr}."\".
  • "; + $nochgresponse .= "
  • $$typeref{$attr} ".&mt("still set to")." \"".$currattr{$attr}."\".
  • "; } } @@ -660,32 +671,30 @@ $bodytag ENDTHIS + return; } sub print_footer { - my $r = shift; - $r->print(<print(< ENDBASE + return; } sub check_course { my ($dom,$course) = @_; my %courseIDs = &Apache::lonnet::courseiddump($dom,'.',1); - my @courses = (); foreach my $key (sort keys %courseIDs) { if ($key =~ m/^($dom)_(\w+)$/) { - push @courses, $2; + if ($2 eq $course) { + return 'ok'; + } } } - if (grep/^$course$/,@courses) { - return 'ok'; - } - else { - return 'invalid course'; - } + return 'invalid course'; }