version 1.40, 2002/05/03 20:38:13
|
version 1.44, 2002/08/01 16:48:21
|
Line 145 sub domain_form {
|
Line 145 sub domain_form {
|
sub menu_phase_one { |
sub menu_phase_one { |
my $r=shift; |
my $r=shift; |
my $upfile_select=&Apache::loncommon::upfile_select_html(); |
my $upfile_select=&Apache::loncommon::upfile_select_html(); |
|
my $create_classlist_help = |
|
&Apache::loncommon::help_open_topic("Course_Create_Class_List", |
|
"How do I create a class list from a spreadsheet"); |
|
my $create_csv_help = |
|
&Apache::loncommon::help_open_topic("Course_Convert_To_CSV", |
|
"How do I create a CSV file from a spreadsheet"); |
$r->print(<<ENDUPFORM); |
$r->print(<<ENDUPFORM); |
<input type=hidden name=phase value=two> |
<input type=hidden name=phase value=two> |
<hr> |
<hr> |
<h3>Upload a courselist</h3> |
<h3>Upload a courselist</h3> |
$upfile_select |
$upfile_select |
<p><input type=submit name="fileupload" value="Upload Courselist"> |
<p><input type=submit name="fileupload" value="Upload Courselist"> |
|
<br /> |
|
$create_classlist_help <br /> |
|
$create_csv_help |
|
|
<hr /> |
<hr /> |
<h3>Enroll a single student</h3> |
<h3>Enroll a single student</h3> |
<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 746 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); |
# Print out header |
|
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 796 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 813 END
|
<td>$ssec</td> |
<td>$ssec</td> |
</tr> |
</tr> |
END |
END |
|
} elsif ($mode eq 'csv') { |
|
my @line = (); |
|
foreach ($sname,$sdom,$reply{$sname}, |
|
$info{'lastname'},$info{'firstname'}, |
|
$info{'middlename'},$info{'generation'},$ssec) { |
|
push @line,&Apache::loncommon::csv_translate($_); |
|
} |
|
my $tmp = $"; |
|
$" = '","'; |
|
$r->print("\"@line\"\n"); |
|
$" = $tmp; |
|
} |
} |
} |
} |
} |
$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 1102 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 1127 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 1146 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'}= |