--- loncom/interface/Attic/londropadd.pm 2002/10/16 13:00:57 1.57
+++ loncom/interface/Attic/londropadd.pm 2002/11/08 20:51:48 1.60
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
-# $Id: londropadd.pm,v 1.57 2002/10/16 13:00:57 matthew Exp $
+# $Id: londropadd.pm,v 1.60 2002/11/08 20:51:48 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -41,6 +41,7 @@ use Apache::lonnet();
use Apache::loncommon();
use Apache::lonhtmlcommon();
use Apache::Constants qw(:common :http REDIRECT);
+use Spreadsheet::WriteExcel;
###############################################################
###############################################################
@@ -755,25 +756,28 @@ sub print_html_classlist {
if (! exists($ENV{'form.sortby'})) {
$ENV{'form.sortby'} = 'username';
}
- if (! exists($ENV{'form.Status'}) ||
- $ENV{'form.Status'} !~ /^(Any|Expired|Active)$/) {
+ if ($ENV{'form.Status'} !~ /^(Any|Expired|Active)$/) {
$ENV{'form.Status'} = 'Active';
}
my $status_select = &Apache::lonhtmlcommon::StatusOptions
($ENV{'form.Status'},'studentform');
$r->print(<
+
Current Classlist
+END
+ if ($ENV{'form.action'} ne 'modifystudent') {
+ $r->print(<CSV format
+Excel format
-$status_select
-
END
+ }
+ $r->print($status_select."\n");
my $cid=$ENV{'request.course.id'};
my ($classlist,$keylist)=&Apache::loncoursedata::get_classlist();
if (! defined($classlist)) {
@@ -791,14 +795,15 @@ END
}
# ============================================== view classlist
-sub print_csv_classlist {
+sub print_formatted_classlist {
my $r=shift;
+ my $mode = shift;
my $cid=$ENV{'request.course.id'};
my ($classlist,$keylist)=&Apache::loncoursedata::get_classlist();
if (! defined($classlist)) {
$r->print("There are no students currently enrolled.\n");
} else {
- &show_class_list($r,'csv','nolink','csv',
+ &show_class_list($r,$mode,'nolink','csv',
$ENV{'form.Status'},$classlist,$keylist);
}
}
@@ -807,8 +812,10 @@ sub print_csv_classlist {
sub show_class_list {
my ($r,$mode,$linkto,$action,$statusmode,$classlist,$keylist)=@_;
my $cid=$ENV{'request.course.id'};
-# &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
-# ['sortby']);
+ #
+ # Variables for excel output
+ my ($excel_workbook, $excel_sheet, $excel_filename,$row);
+ #
my $sortby = $ENV{'form.sortby'};
if ($sortby !~ /^(username|domain|section|fullname|id)$/) {
$sortby = 'username';
@@ -821,7 +828,10 @@ sub show_class_list {
$r->print('Select a user name to modify the students information');
}
$r->print(<
+
+
'."\n");
+ }
}
@@ -910,7 +959,7 @@ END
sub print_modify_student_form {
my $r = shift();
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
- ['sdom','sname','sortby']);
+ ['sdom','sname']);
my $sname = $ENV{'form.sname'};
my $sdom = $ENV{'form.sdom'};
my $sortby = $ENV{'form.sortby'};
@@ -938,6 +987,11 @@ sub print_modify_student_form {
my $enddateform = &Apache::lonhtmlcommon::date_setter('studentform',
'enddate',
$endtime);
+ #
+ if (! exists($ENV{'form.Status'}) ||
+ $ENV{'form.Status'} !~ /^(Any|Expired|Active)$/) {
+ $ENV{'form.Status'} = 'crap';
+ }
# Make sure student is enrolled in course
$r->print(<
@@ -950,6 +1004,8 @@ Only domain coordinators can change a us
+
+
Modify Enrollment for $info{'firstname'} $info{'middlename'}
$info{'lastname'} $info{'generation'}, $sname\@$sdom
@@ -987,8 +1043,10 @@ END
#
sub modify_single_student {
my $r = shift;
- # Get the 'sortby' variable so the user does not need to re-sort
+ # Get the 'sortby' and 'Status' variables so the user goes back to their
+ # previous screen
my $sortby = $ENV{'form.sortby'};
+ my $status = $ENV{'form.Status'};
#
# We always need this information
my $slogin = $ENV{'form.slogin'};
@@ -999,6 +1057,8 @@ sub modify_single_student {
['firstname','middlename',
'lastname','generation','id'],
$sdom, $slogin);
+ $old{'section'} = &Apache::lonnet::getsection($sdom,$slogin,
+ $ENV{'request.course.id'});
my ($tmp) = keys(%old);
if ($tmp =~ /^(con_lost|error|no_such_host)/i) {
$r->print("There was an error determining the environment values ".
@@ -1060,11 +1120,14 @@ sub modify_single_student {