--- loncom/interface/lonmodifycourse.pm 2003/12/28 18:27:49 1.3
+++ loncom/interface/lonmodifycourse.pm 2004/06/29 14:56:32 1.10
@@ -100,7 +100,11 @@ ENDBLOCK
unless ($code =~m/^___\d+$/) { $showcode = $code; }
if ($item =~ m/^($dom)_(\w+)$/) {
$crs = $2;
- $description = $courseIDs{$item};
+ if ($courseIDs{$item} =~ /^([^:]*):/) {
+ $description = &Apache::lonnet::unescape($1);
+ } else {
+ $description = &Apache::lonnet::unescape($courseIDs{$item});
+ }
# Get course owner
my %settings = &Apache::lonnet::get('environment',['internal.courseowner'],$dom,$crs);
if ( defined($settings{'internal.courseowner'}) ) {
@@ -197,9 +201,17 @@ 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" || $1 eq "crosslistings") {
$enrollvar{$1} = $settings{$item};
}
+ } elsif ($item =~ m/^default_enrollment_(start|end)_date$/) {
+ if ( ($1 eq 'end') && ($settings{$item} == 0) ) {
+ $enrollvar{$item} = $lt{'noen'};
+ } elsif ( ($1 eq 'start') && ($settings{$item} eq '') ) {
+ $enrollvar{$item} = 'When enrolled';
+ } else {
+ $enrollvar{$item} = localtime($settings{$item});
+ }
}
}
@@ -222,7 +234,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 +291,7 @@ all settings except course code, course
$$typeref{$key} |
$enrollvar{$key} |
";
- $iter ++;
+ $iter ++;
}
$disp_table .= "
@@ -418,13 +430,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");
@@ -509,6 +521,8 @@ sub modify_course {
$newattr{'coursecode'}=$ENV{'form.coursecode'};
unless ( $newattr{'coursecode'} eq $currattr{'coursecode'} ) {
$changecode = 1;
+ my $courseid_entry = &Apache::lonnet::escape($dom.'_'.$crs).'='.&Apache::lonnet::escape($description).'='.&Apache::lonnet::escape($ENV{'form.coursecode'});
+ &Apache::lonnet::courseidput($dom,$courseid_entry,&Apache::lonnet::homeserver($crs,$dom));
}
}
@@ -548,11 +562,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 +576,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 +607,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 +685,30 @@ $bodytag
ENDTHIS
+ return;
}
sub print_footer {
- my $r = shift;
- $r->print(<print(<