version 1.40, 2002/05/03 20:38:13
|
version 1.41, 2002/05/06 17:48:57
|
Line 156 $upfile_select
|
Line 156 $upfile_select
|
<p><input type=submit name="enroll" value="Enroll Student"></p> |
<p><input type=submit name="enroll" value="Enroll Student"></p> |
<hr /> |
<hr /> |
<h3>Classlist</h3> |
<h3>Classlist</h3> |
<p><input type=submit name="view" value="View Class List"></p> |
<p><input type=submit name="view" value="View Class List"> |
|
<input type=submit name="viewcsv" value="Comma Separated Class List"></p> |
<hr /> |
<hr /> |
<h3>Drop students</h3> |
<h3>Drop students</h3> |
<p><input type=submit name="drop" value="Selection List"></p> |
<p><input type=submit name="drop" value="Selection List"></p> |
Line 735 sub menu_phase_two_view {
|
Line 736 sub menu_phase_two_view {
|
$r->print("There are no students currently enrolled.\n"); |
$r->print("There are no students currently enrolled.\n"); |
} else { |
} else { |
# Print out the available choices |
# Print out the available choices |
&show_class_list($r,%currentlist); |
&show_class_list($r,'view',%currentlist); |
|
} |
|
} |
|
|
|
# ============================================== view classlist |
|
sub menu_phase_two_viewcsv { |
|
my $r=shift; |
|
my $cid=$ENV{'request.course.id'}; |
|
my ($error,%currentlist)=&get_current_classlist |
|
($ENV{'course.'.$cid.'.domain'},$ENV{'course.'.$cid.'.num'}); |
|
if (defined($error)) { |
|
if ($error =~ /^No such file or directory/) { |
|
$r->print("There are no students currently enrolled.\n"); |
|
} else { |
|
$r->print("<pre>ERROR:$error</pre>"); |
|
} |
|
} elsif (!defined(%currentlist)) { |
|
$r->print("There are no students currently enrolled.\n"); |
|
} else { |
|
&show_class_list($r,'csv',%currentlist); |
} |
} |
} |
} |
|
|
# =================================================== Show student list to drop |
# =================================================== Show student list to drop |
sub show_class_list { |
sub show_class_list { |
my ($r,%currentlist)=@_; |
my ($r,$mode,%currentlist)=@_; |
my $cid=$ENV{'request.course.id'}; |
my $cid=$ENV{'request.course.id'}; |
$r->print(<<END); |
if ($mode eq 'view') { |
|
$r->print(<<END); |
<p> |
<p> |
<table border=2> |
<table border=2> |
<tr><th>username</th><th>domain</th><th>ID</th> |
<tr><th>username</th><th>domain</th><th>ID</th> |
<th>student name</th><th>generation</th><th>section</th></tr> |
<th>student name</th><th>generation</th><th>section</th></tr> |
END |
END |
|
} elsif ($mode eq 'csv') { |
|
$r->print(<<END); |
|
username,domain,ID,last name,first name,middle name,generation,section |
|
END |
|
} |
foreach (sort keys %currentlist) { |
foreach (sort keys %currentlist) { |
my ($sname,$sdom)=split(/\:/,$_); |
my ($sname,$sdom)=split(/\:/,$_); |
my %reply=&Apache::lonnet::idrget($sdom,$sname); |
my %reply=&Apache::lonnet::idrget($sdom,$sname); |
Line 759 END
|
Line 785 END
|
$sdom, $sname); |
$sdom, $sname); |
my ($tmp) = keys(%info); |
my ($tmp) = keys(%info); |
if ($tmp =~ /^(con_lost|error|no_such_host)/i) { |
if ($tmp =~ /^(con_lost|error|no_such_host)/i) { |
$r->print('<tr><td colspan="6"><font color="red">'. |
$r->print( ($mode eq 'view' ? |
'Internal error: unable to get environment '. |
'<tr><td colspan="6"><font color="red">' :''). |
'for '.$sname.' in domain '.$sdom.'</font></td></tr>'); |
'Internal error: unable to get environment '. |
|
'for '.$sname.' in domain '.$sdom. |
|
( $mode eq 'view' ?'</font></td></tr>' :'')); |
} else { |
} else { |
$r->print(<<"END"); |
if ($mode eq 'view') { |
|
$r->print(<<"END"); |
<tr> |
<tr> |
<td>$sname</td> |
<td>$sname</td> |
<td>$sdom</td> |
<td>$sdom</td> |
Line 773 END
|
Line 802 END
|
<td>$ssec</td> |
<td>$ssec</td> |
</tr> |
</tr> |
END |
END |
|
} elsif ($mode eq 'csv') { |
|
$r->print($sname.','. |
|
$sdom.','. |
|
$reply{$sname}.','. |
|
$info{'lastname'}.','. |
|
$info{'firstname'}.','. |
|
$info{'middlename'}.','. |
|
$info{'generation'}.','. |
|
$ssec."\n"); |
|
} |
} |
} |
} |
} |
$r->print('</table><br>'); |
$r->print('</table><br>') if ($mode eq 'view'); |
} |
} |
|
|
# =================================================== Show student list to drop |
# =================================================== Show student list to drop |
Line 1050 sub handler {
|
Line 1089 sub handler {
|
if (($ENV{'request.course.fn'}) && |
if (($ENV{'request.course.fn'}) && |
(&Apache::lonnet::allowed('cst',$ENV{'request.course.id'}))) { |
(&Apache::lonnet::allowed('cst',$ENV{'request.course.id'}))) { |
# Start page |
# Start page |
$r->content_type('text/html'); |
$r->content_type('text/html') if (! exists($ENV{'form.viewcsv'})); |
$r->send_http_header; |
$r->send_http_header; |
$r->print(&header()); |
$r->print(&header()) if (! exists($ENV{'form.viewcsv'})); |
# Phase one, initial screen |
# Phase one, initial screen |
unless ($ENV{'form.phase'}) { |
unless ($ENV{'form.phase'}) { |
&menu_phase_one($r); |
&menu_phase_one($r); |
Line 1075 sub handler {
|
Line 1114 sub handler {
|
&menu_phase_two_drop($r); |
&menu_phase_two_drop($r); |
} elsif ($ENV{'form.view'}) { |
} elsif ($ENV{'form.view'}) { |
&menu_phase_two_view($r); |
&menu_phase_two_view($r); |
|
} elsif ($ENV{'form.viewcsv'}) { |
|
&menu_phase_two_viewcsv($r); |
} |
} |
} |
} |
# Phase three |
# Phase three |
Line 1092 sub handler {
|
Line 1133 sub handler {
|
&enroll_single_student($r); |
&enroll_single_student($r); |
} |
} |
# End |
# End |
$r->print('</form></body></html>'); |
$r->print('</form></body></html>') if (! exists($ENV{'form.viewcsv'})); |
} else { |
} else { |
# Not in a course, or not allowed to modify parms |
# Not in a course, or not allowed to modify parms |
$ENV{'user.error.msg'}= |
$ENV{'user.error.msg'}= |