version 1.7, 2003/12/15 07:55:59
|
version 1.8, 2003/12/29 16:34:39
|
Line 645 ENDTWO
|
Line 645 ENDTWO
|
} |
} |
} |
} |
if (@sections > 0) { |
if (@sections > 0) { |
if (@sections > 1) { |
my $secshow = @sections; |
my $secshow = @sections; |
$r->print(" |
$r->print(" |
|
<form name=\"enter\" method=\"post\"><br/> |
<form name=\"enter\" method=\"post\"><br/> |
<table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"3\"> |
<table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"3\"> |
<tr> |
<tr> |
Line 669 your changes.</td>
|
Line 668 your changes.</td>
|
<td><b>LON-CAPA section/group ID</b></td> |
<td><b>LON-CAPA section/group ID</b></td> |
<td><b>Enrollment in this course?</b></td> |
<td><b>Enrollment in this course?</b></td> |
</tr> |
</tr> |
"); |
"); |
for (my $i=0; $i<@sections; $i++) { |
for (my $i=0; $i<@sections; $i++) { |
my $colflag = $i%2; |
my $colflag = $i%2; |
my $shrflag = 0; |
my $shrflag = 0; |
$r->print("<tr bgcolor=\"$bgcolors[$colflag]\" align=\"left\"> |
$r->print("<tr bgcolor=\"$bgcolors[$colflag]\" align=\"left\"> |
<td>$sections[$i]<input type=\"hidden\" name=\"secnum_$i\" value=\"$sections[$i]\" /></td> |
<td>$sections[$i]<input type=\"hidden\" name=\"secnum_$i\" value=\"$sections[$i]\" /></td> |
<td> |
<td> |
"); |
"); |
if (grep/^$sections[$i]$/,@currsections) { |
if (grep/^$sections[$i]$/,@currsections) { |
$r->print("Enrollment active"); |
$r->print("Enrollment active"); |
$shrflag = 1; |
$shrflag = 1; |
} else { |
} else { |
$r->print("Enrollment inactive"); |
$r->print("Enrollment inactive"); |
} |
|
if ($shrflag) { |
|
$r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"$sec_id{$sections[$i]}\"></td><td><input type=\"checkbox\" name=\"sec_$i\" checked=\"true\" /></td></tr>"); |
|
} else { |
|
$r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"\"><td><input type=\"checkbox\" name=\"sec_$i\" /></td></tr>"); |
|
} |
|
} |
} |
$r->print(" |
if ($shrflag) { |
|
$r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"$sec_id{$sections[$i]}\"></td><td><input type=\"checkbox\" name=\"sec_$i\" checked=\"true\" /></td></tr>"); |
|
} else { |
|
$r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"\"><td><input type=\"checkbox\" name=\"sec_$i\" /></td></tr>"); |
|
} |
|
} |
|
$r->print(" |
</table> |
</table> |
<br/> |
<br/> |
<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\"> |
<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\"> |
Line 703 your changes.</td>
|
Line 702 your changes.</td>
|
<input type=\"hidden\" name=\"action\" value=\"$action\"> |
<input type=\"hidden\" name=\"action\" value=\"$action\"> |
<input type=\"hidden\" name=\"state\" value=\"process\"> |
<input type=\"hidden\" name=\"state\" value=\"process\"> |
</form> |
</form> |
"); |
"); |
} else { |
|
$r->print("<br/> |
|
<table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"3\"> |
|
<tr> |
|
<td align=\"left\"> |
|
<b>$$tasktitleref{$action}</b><br/> |
|
</td> |
|
</tr> |
|
</table> |
|
<table border=\"0\" cellspacing=\"2\" cellpadding=\"2\"> |
|
<tr> |
|
<td>As your institution's course catalog only includes a single section for this course, there are no additional sections that can be set for inclusion in the LON-CAPA roster for the course.</td> |
|
</tr> |
|
</table> |
|
"); |
|
} |
|
} else { |
} else { |
$r->print(" |
$r->print(" |
<form name=\"enter\" method=\"post\"><br/> |
<form name=\"enter\" method=\"post\"><br/> |
Line 1315 sub print_crosslistings_response () {
|
Line 1298 sub print_crosslistings_response () {
|
|
|
sub print_sections_menu () { |
sub print_sections_menu () { |
my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_; |
my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_; |
my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode'],$dom,$crs); |
my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode','internal.courseowner'],$dom,$crs); |
my @currsections = (); |
my @currsections = (); |
my @sections = (); |
my @sections = (); |
|
my @badowner = (); |
|
my @badsections = (); |
my $seccount = 0; |
my $seccount = 0; |
my $removecount = 0; |
my $removecount = 0; |
my $addcount = 0; |
my $addcount = 0; |
my $secstr = ''; |
my $secstr = ''; |
my $response = ''; |
my $response = ''; |
my $coursecode = $settings{'internal.coursecode'}; |
my $coursecode = $settings{'internal.coursecode'}; |
|
my $owner = $settings{'internal.courseowner'}; |
if ($settings{'internal.sectionnums'} =~ m/,/) { |
if ($settings{'internal.sectionnums'} =~ m/,/) { |
@currsections = split/,/,$settings{'internal.sectionnums'}; |
@currsections = split/,/,$settings{'internal.sectionnums'}; |
} elsif ($settings{'internal.sectionnums'} ne '') { |
} elsif ($settings{'internal.sectionnums'} ne '') { |
Line 1331 sub print_sections_menu () {
|
Line 1317 sub print_sections_menu () {
|
} |
} |
|
|
if ( exists($ENV{'form.secshow'}) ) { |
if ( exists($ENV{'form.secshow'}) ) { |
for (my $i=0; $i<$ENV{'form.secshow'}; $i++) { |
for (my $i=0; $i<$ENV{'form.secshow'}; $i++) { |
my $gp = "loncapasec_".$i; |
my $gp = "loncapasec_".$i; |
my $secnum = "secnum_".$i; |
my $secnum = "secnum_".$i; |
my $sec = "sec_".$i; |
my $sec = "sec_".$i; |
if ( exists( $ENV{"form.$sec"} ) ) { |
if ( exists( $ENV{"form.$sec"} ) ) { |
my $secentry; |
my $secentry; |
if ( exists( $ENV{"form.$secnum"} ) ) { |
if ( exists( $ENV{"form.$secnum"} ) ) { |
$secentry = $ENV{"form.$secnum"}.':'; |
$secentry = $ENV{"form.$secnum"}.':'; |
} |
} |
if ( exists( $ENV{"form.$gp"} ) ) { |
if ( exists( $ENV{"form.$gp"} ) ) { |
$secentry .= $ENV{"form.$gp"}; |
$secentry .= $ENV{"form.$gp"}; |
} |
} |
push @sections, $secentry; |
if ( grep/^$ENV{"form.$secnum"}:/,@currsections) { |
$seccount ++; |
push @sections, $secentry; |
unless (grep/^$ENV{"form.$secnum"}:/,@currsections) { |
$seccount ++; |
$addcount ++; |
} else { |
} |
my $newsec = $coursecode.$ENV{"form.$secnum"}; |
} |
my $coursecheck = &localenroll::validate_courseID($newsec); |
} |
if ($coursecheck eq 'ok') { |
if (@currsections > 0) { |
my $addcheck = &localenroll::new_course($newsec,$owner); |
for (my $i=0; $i<@currsections; $i++) { |
if ($addcheck eq 'ok') { |
if ($currsections[$i] =~ m/^(\w+:)/ ) { |
push @sections,$ENV{"form.$secnum"}.":".$ENV{"form.$gp"}; |
my $oldsec = $1; |
$seccount ++; |
unless (grep/^$oldsec/,@sections) { |
$addcount ++; |
$removecount ++; |
} else { |
} |
push @badowner,$ENV{"form.$secnum"}.":".$ENV{"form.$gp"}; |
} |
} |
} |
} else { |
} |
push @badsections, $ENV{"form.$secnum"}.":".$ENV{"form.$gp"}.":".$coursecheck; |
|
} |
|
} |
|
} |
|
} |
|
if (@currsections > 0) { |
|
for (my $i=0; $i<@currsections; $i++) { |
|
if ($currsections[$i] =~ m/^(\w+:)/ ) { |
|
my $oldsec = $1; |
|
unless (grep/^$oldsec/,@sections) { |
|
$removecount ++; |
|
} |
|
} |
|
} |
|
} |
} elsif (@currsections > 0) { |
} elsif (@currsections > 0) { |
for (my $i=0; $i<@currsections; $i++) { |
for (my $i=0; $i<@currsections; $i++) { |
my $sec = "sec_".$i; |
my $sec = "sec_".$i; |
Line 1407 sections which contribute to enrollment
|
Line 1407 sections which contribute to enrollment
|
} |
} |
} |
} |
|
|
|
if (@badsections > 0) { |
|
$response .= "The sections listed below could not be included in the sections for this LON-CAPA course, because they are not valid section numbers according to your institution's official schedule of classes and sections.<br/><ul>\n"; |
|
foreach (@badsections) { |
|
my ($secnum,$gp,$prob) = split/:/,$_; |
|
$response .= "<li>$secnum - ID: $gp - Error: $prob</li>\n"; |
|
} |
|
$response .= "</ul><br/><br/>\n"; |
|
} |
|
|
|
if (@badowner > 0) { |
|
$response .= "The sections listed below could not be included in the sections for this LON-CAPA course, because the owner of this course - $owner - does not have rights to view enrollment in those classes as determined by your instititution's policies on access to official classlists.<br/><ul>\n"; |
|
foreach (@badowner) { |
|
my ($secnum,$gp) = split/:/,$_; |
|
$response .= "<li>$secnum - ID: $gp</li>\n"; |
|
} |
|
$response .= "</ul><br/><br/>\n"; |
|
} |
|
|
if ( exists($ENV{'form.numsec'}) ) { |
if ( exists($ENV{'form.numsec'}) ) { |
my $numsec = $ENV{'form.numsec'}; |
my $numsec = $ENV{'form.numsec'}; |
if ($numsec > 0) { |
if ($numsec > 0) { |
Line 1454 sections which contribute to enrollment
|
Line 1472 sections which contribute to enrollment
|
|
|
sub print_sections_response () { |
sub print_sections_response () { |
my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_; |
my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_; |
my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode'],$dom,$crs); |
my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode','internal.courseowner'],$dom,$crs); |
my @currsections = (); |
my @currsections = (); |
my @sections = (); |
my @sections = (); |
my @allsections = (); |
my @allsections = (); |
|
my @badowner = (); |
|
my @badsections = (); |
my $numsec = 0; |
my $numsec = 0; |
my $secstr = $settings{'internal.sectionnums'}; |
my $secstr = $settings{'internal.sectionnums'}; |
my $coursecode = $settings{'internal.coursecode'}; |
my $coursecode = $settings{'internal.coursecode'}; |
|
my $owner = $settings{'internal.courseowner'}; |
my $response = ''; |
my $response = ''; |
|
my $putreply = ''; |
if ($secstr =~ m/,/) { |
if ($secstr =~ m/,/) { |
@allsections = split/,/,$secstr; |
@allsections = split/,/,$secstr; |
} else { |
} else { |
Line 1472 sub print_sections_response () {
|
Line 1493 sub print_sections_response () {
|
if ( exists($ENV{'form.numsec'}) ) { |
if ( exists($ENV{'form.numsec'}) ) { |
$numsec = $ENV{'form.numsec'}; |
$numsec = $ENV{'form.numsec'}; |
} |
} |
|
|
if ($numsec > 0) { |
if ($numsec > 0) { |
for (my $i=0; $i<$numsec; $i++) { |
for (my $i=0; $i<$numsec; $i++) { |
my $sec = "newsec_".$i; |
my $sec = "newsec_".$i; |
my $gp = "newsecgp_".$i; |
my $gp = "newsecgp_".$i; |
if ( exists($ENV{"form.$sec"}) ) { |
if ( exists($ENV{"form.$sec"}) ) { |
push @sections,$ENV{"form.$sec"}.":".$ENV{"form.$gp"}; |
unless ( (grep/^$ENV{"form.$sec"}:/,@allsections) || (grep/^$ENV{"form.$sec"}:/,@sections) ) { |
|
my $newsec = $coursecode.$ENV{"form.$sec"}; |
|
my $coursecheck = &localenroll::validate_courseID($newsec); |
|
if ($coursecheck eq 'ok') { |
|
my $addcheck = &localenroll::new_course($newsec,$owner); |
|
if ($addcheck eq 'ok') { |
|
push @sections,$ENV{"form.$sec"}.":".$ENV{"form.$gp"}; |
|
} else { |
|
push @badowner,$ENV{"form.$sec"}.":".$ENV{"form.$gp"}; |
|
} |
|
} else { |
|
push @badsections, $ENV{"form.$sec"}.":".$ENV{"form.$gp"}.":".$coursecheck; |
|
} |
|
} |
} |
} |
} |
} |
push @allsections, @sections; |
push @allsections, @sections; |
} |
} |
|
|
if (@sections > 0 ) { |
if (@sections > 0 ) { |
unless ($secstr eq '') { $secstr .= ","; } |
unless ($secstr eq '') { $secstr .= ","; } |
if (@sections > 1) { |
if (@sections > 1) { |
Line 1492 sub print_sections_response () {
|
Line 1526 sub print_sections_response () {
|
$secstr .= $sections[0]; |
$secstr .= $sections[0]; |
} |
} |
my %cenv = ('internal.sectionnums' => $secstr); |
my %cenv = ('internal.sectionnums' => $secstr); |
my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs); |
$putreply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs); |
if ($reply !~ /^ok$/) { |
if ($putreply !~ /^ok$/) { |
$response = "There was a problem processing your requested changes. The automated enrollment settings for this course have been left unchanged.<br/>"; |
$response = "There was a problem processing your requested changes. The automated enrollment settings for this course have been left unchanged.<br/><br/>"; |
} else { |
|
$response = "Students enrolling in the sections listed below will be automatically added to the class roster for LON-CAPA course $realm ($coursecode), if you have chosen to enable a nightly automated enrollment update.<br/><ul>\n"; |
|
} |
} |
} |
} |
|
|
foreach (@allsections) { |
if ($putreply =~ /^ok/) { |
my ($sec,$gp) = split/:/,$_; |
$response = "Students enrolling in the sections listed below will be automatically added to the class roster for LON-CAPA course $realm ($coursecode), if you have chosen to enable a nightly automated enrollment update.<br/><ul>\n"; |
$response .= "<li>$sec - ID: $gp</li>\n"; |
foreach (@allsections) { |
|
my ($sec,$gp) = split/:/,$_; |
|
$response .= "<li>$sec - ID: $gp</li>\n"; |
|
} |
|
$response .= "</ul><br/><br/>\n"; |
} |
} |
$response .= "</ul><br/>\n"; |
|
|
if (@badsections > 0) { |
|
$response .= "The sections listed below could not be included in the sections for this LON-CAPA course, because they are not valid section numbers according to your institution's official schedule of classes and sections.<br/><ul>\n"; |
|
foreach (@badsections) { |
|
my ($secnum,$gp,$prob) = split/:/,$_; |
|
$response .= "<li>$secnum - ID: $gp - Error: $prob</li>\n"; |
|
} |
|
$response .= "</ul><br/><br/>\n"; |
|
} |
|
|
|
if (@badowner > 0) { |
|
$response .= "The sections listed below could not be included in the sections for this LON-CAPA course, because the owner of this course - $owner - does not have rights to view enrollment in those classes as determined by your instititution's policies on access to official classlists.<br/><ul>\n"; |
|
foreach (@badowner) { |
|
my ($secnum,$gp) = split/:/,$_; |
|
$response .= "<li>$secnum - ID: $gp</li>\n"; |
|
} |
|
$response .= "</ul><br/><br/>\n"; |
|
} |
|
|
&print_reply($r,$response,$$tasktitleref{$action}); |
&print_reply($r,$response,$$tasktitleref{$action}); |
return; |
return; |
} |
} |
Line 1518 sub print_photos_response () {
|
Line 1571 sub print_photos_response () {
|
if ( exists($ENV{'form.showphotos'}) ) { |
if ( exists($ENV{'form.showphotos'}) ) { |
$showphotos=$ENV{'form.showphotos'}; |
$showphotos=$ENV{'form.showphotos'}; |
} |
} |
|
|
my $response = ""; |
my $response = ""; |
my %cenv = ('internal.showphotos' => $showphotos); |
my %cenv = ('internal.showphotos' => $showphotos); |
my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs); |
my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs); |