+END
}
sub phase_two_header {
@@ -525,7 +517,7 @@ sub enroll_single_student {
if (lc($desiredhost) eq 'default') {
$desiredhost = undef;
} else {
- my %home_servers = &Apache::loncommon::get_home_servers($domain);
+ my %home_servers =&Apache::loncommon::get_library_servers($domain);
if (! exists($home_servers{$desiredhost})) {
$r->print('Error:'.
'Invalid home server specified');
@@ -537,7 +529,8 @@ sub enroll_single_student {
my $amode='';
my $genpwd='';
if ($ENV{'form.login'} eq 'krb') {
- $amode='krb4';
+ $amode='krb';
+ $amode.=$ENV{'form.krbver'};
$genpwd=$ENV{'form.krbarg'};
} elsif ($ENV{'form.login'} eq 'int') {
$amode='internal';
@@ -721,7 +714,10 @@ sub menu_phase_two_drop {
# ============================================== view classlist
sub menu_phase_two_view {
my $r=shift;
- $r->print("
Current Classlist
");
+ $r->print(<Current Classlist
+CSV format
+END
my $cid=$ENV{'request.course.id'};
my ($error,%currentlist)=&get_current_classlist
($ENV{'course.'.$cid.'.domain'},$ENV{'course.'.$cid.'.num'});
@@ -735,20 +731,46 @@ sub menu_phase_two_view {
$r->print("There are no students currently enrolled.\n");
} else {
# 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("
ERROR:$error
");
+ }
+ } elsif (!defined(%currentlist)) {
+ $r->print("There are no students currently enrolled.\n");
+ } else {
+ &show_class_list($r,'csv',%currentlist);
}
}
# =================================================== Show student list to drop
sub show_class_list {
- my ($r,%currentlist)=@_;
+ my ($r,$mode,%currentlist)=@_;
my $cid=$ENV{'request.course.id'};
- $r->print(<print(<
username
domain
ID
student name
generation
section
END
+ } elsif ($mode eq 'csv') {
+ $r->print(<print('
'.
- 'Internal error: unable to get environment '.
- 'for '.$sname.' in domain '.$sdom.'
');
+ $r->print( ($mode eq 'view' ?
+ '
' :'').
+ 'Internal error: unable to get environment '.
+ 'for '.$sname.' in domain '.$sdom.
+ ( $mode eq 'view' ?'
');
+ $r->print(' ') if ($mode eq 'view');
}
# =================================================== Show student list to drop
@@ -839,6 +876,32 @@ END
END
}
+#
+# Print out the initial form to get the courselist file
+#
+sub print_first_courselist_upload_form {
+ my $r=shift;
+ 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(<
+
+