--- loncom/interface/Attic/londropadd.pm 2002/11/13 19:16:34 1.61
+++ loncom/interface/Attic/londropadd.pm 2003/06/23 14:38:53 1.69
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
-# $Id: londropadd.pm,v 1.61 2002/11/13 19:16:34 matthew Exp $
+# $Id: londropadd.pm,v 1.69 2003/06/23 14:38:53 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -93,7 +93,7 @@ sub modifystudent {
}
}
if ($result eq '') {
- $result eq 'Unable to find section for this student';
+ $result = 'Unable to find section for this student';
} else {
$result =~ s/(ok:)+/ok/g;
}
@@ -213,6 +213,7 @@ sub javascript_validations {
my %param = ( formname => 'studentform',
kerb_def_dom => $krbdefdom );
my $authheader = &Apache::loncommon::authform_header(%param);
+ my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
return (<
+
+$date_table
+
@@ -522,12 +479,11 @@ sub print_upload_manager_form {
my @records=&Apache::loncommon::upfile_record_sep();
my $total=$#records;
my $distotal=$total+1;
- $ENV{'SERVER_NAME'}=~/(\w+\.\w+)$/;
- my $krbdefdom=$1;
- $krbdefdom=~tr/a-z/A-Z/;
my $today=time;
my $halfyear=$today+15552000;
my $defdom=$r->dir_config('lonDefDomain');
+ my ($krbdef,$krbdefdom) =
+ &Apache::loncommon::get_kerberos_defaults($defdom);
&print_upload_manager_header($r,$datatoken,$distotal,$krbdefdom);
my $i;
my $keyfields;
@@ -559,6 +515,16 @@ sub print_upload_manager_form {
# ======================================================= Enroll single student
sub enroll_single_student {
my $r=shift;
+ #
+ # We do the dates first because the action of making them the defaul
+ # in the course is entirely seperate from the action of enrolling the
+ # student. Also, a failure in setting the dates as default is not fatal
+ # to the process of enrolling / modifying a student.
+ my ($startdate,$enddate) = &get_dates_from_form();
+ if ($ENV{'form.makedatesdefault'}) {
+ $r->print(&make_dates_default($startdate,$enddate));
+ }
+
$r->print(' Enrolling '.$ENV{'form.cuname'}." \@ ".
$ENV{'form.lcdomain'}.' Group/Section:
-
-
-
-
-
-
-
-Set Ending Date
+$date_table
@@ -984,12 +1020,7 @@ sub print_modify_student_form {
# determine the students starting and ending times and section
my ($starttime,$endtime,$section) = &get_enrollment_data($sname,$sdom);
# Deal with date forms
- my $startdateform = &Apache::lonhtmlcommon::date_setter('studentform',
- 'startdate',
- $starttime);
- my $enddateform = &Apache::lonhtmlcommon::date_setter('studentform',
- 'enddate',
- $endtime);
+ my $date_table = &date_setting_table($starttime,$endtime);
#
if (! exists($ENV{'form.Status'}) ||
$ENV{'form.Status'} !~ /^(Any|Expired|Active)$/) {
@@ -1029,12 +1060,8 @@ Disable ID/Student Number Safeguard and
(only do if you know what you are doing)
Section:
-
-LON-CAPA Domain for Students
LON-CAPA domain: $domform Starting and Ending Dates
-
-
-
-
-
-Set Starting DateFull Update
Full update
(also print list of users not enrolled anymore)Enrolling Student
');
$r->print('\n";
+ $result .= '
\n";
+ return $result;
+}
+
+sub make_dates_default {
+ my ($startdate,$enddate) = @_;
+ my $result = '';
+ my $dom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
+ my $crs = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
+ my $put_result = &Apache::lonnet::put('environment',
+ {'default_enrollment_start_date'=>$startdate,
+ 'default_enrollment_end_date' =>$enddate},$dom,$crs);
+ if ($put_result eq 'ok') {
+ $result .= "Set default start and end dates for course \n";
+ $result .= 'Starting Date '.
+ ''.$startform.' '.
+ ''.$dateDefault.' '." \n";
+ $result .= "Ending Date '.
+ ''.$endform.' '.
+ ''.$perpetual.' '."
";
+ #
+ # Refresh the course environment
+ &Apache::lonnet::coursedescription($ENV{'request.course.id'});
+ } else {
+ $result .= "Unable to set default dates for course:".$put_result.
+ '
';
+ }
+ return $result;
+}
+
# ======================================================= Menu Phase Two Enroll
sub print_enroll_single_student_form {
my $r=shift;
$r->print("Enroll One Student
");
- my ($krbdefdom) = $ENV{'SERVER_NAME'}=~/(\w+\.\w+)$/;
- $krbdefdom=~tr/a-z/A-Z/;
my $today = time;
my $halfyear = $today+15552000;
my $defdom=$r->dir_config('lonDefDomain');
- my $javascript_validations=&javascript_validations($krbdefdom);
# Set up authentication forms
- my %param = ( formname => 'document.studentform');
+ my ($krbdef,$krbdefdom) =
+ &Apache::loncommon::get_kerberos_defaults($defdom);
+ my $javascript_validations=&javascript_validations($krbdefdom);
+ my %param = ( formname => 'document.studentform',
+ kerb_def_dom => $krbdefdom,
+ kerb_def_auth => $krbdef
+ );
my $krbform = &Apache::loncommon::authform_kerberos(%param);
my $intform = &Apache::loncommon::authform_internal(%param);
my $locform = &Apache::loncommon::authform_local(%param);
# Set up domain selection form
my $domform = &domain_form($defdom);
+ my $date_table = &date_setting_table();
# Print it all out
$r->print(<ID/Student Number
-
-Starting Date: $startdateform
-Ending Date: $enddateform
$date_table