--- loncom/interface/Attic/londropadd.pm 2004/05/13 21:03:16 1.110
+++ loncom/interface/Attic/londropadd.pm 2004/06/29 04:30:00 1.115
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
-# $Id: londropadd.pm,v 1.110 2004/05/13 21:03:16 matthew Exp $
+# $Id: londropadd.pm,v 1.115 2004/06/29 04:30:00 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -173,10 +173,15 @@ sub print_main_menu {
$Text{'drop'}
$help{'Course_Drop_Student'}
+END
+ my ($cdom,$cnum) = split/_/,$ENV{'request.course.id'};
+ if (&Apache::lonnet::auto_run($cnum,$cdom) ) {
+ $r->print(<
$Text{'populate'}
END
+ }
}
###############################################################
@@ -781,7 +786,7 @@ sub setup_date_selectors {
my ($starttime,$endtime,$mode) = @_;
if (! defined($starttime)) {
$starttime = time;
- unless ($mode eq 'createcourse') {
+ unless ($mode eq 'create_enrolldates' || $mode eq 'create_defaultdates') {
if (exists($ENV{'course.'.$ENV{'request.course.id'}.
'.default_enrollment_start_date'})) {
$starttime = $ENV{'course.'.$ENV{'request.course.id'}.
@@ -805,12 +810,20 @@ sub setup_date_selectors {
my $enddateform = &Apache::lonhtmlcommon::date_setter('studentform',
'enddate',
$endtime);
- if ($mode eq 'createcourse') {
+ if ($mode eq 'create_enrolldates') {
$startdateform = &Apache::lonhtmlcommon::date_setter('ccrs',
- 'startdate',
+ 'startenroll',
$starttime);
$enddateform = &Apache::lonhtmlcommon::date_setter('ccrs',
- 'enddate',
+ 'endenroll',
+ $endtime);
+ }
+ if ($mode eq 'create_defaultdates') {
+ $startdateform = &Apache::lonhtmlcommon::date_setter('ccrs',
+ 'startaccess',
+ $starttime);
+ $enddateform = &Apache::lonhtmlcommon::date_setter('ccrs',
+ 'endaccess',
$endtime);
}
return ($startdateform,$enddateform);
@@ -831,7 +844,7 @@ sub date_setting_table {
my $dateDefault = ''.
' '.
&mt('make these dates the default for future enrollment');
- if ($mode eq 'createcourse') {
+ if ($mode eq 'create_enrolldates' || $mode eq 'create_defaultdates') {
$dateDefault = ' ';
}
my $perpetual = ' '.&mt('no ending date').'';
+ if ($mode eq 'create_enrolldates') {
+ $perpetual = ' ';
+ }
my $result = '';
$result .= "\n";
$result .= ''.&mt('Starting Date').' | '.
@@ -1172,8 +1188,6 @@ sub print_html_classlist {
&show_class_list($r,'view','modify',
$ENV{'form.Status'},$classlist,$keylist);
} else {
- &Apache::lonnet::logthis('showing class list '.$ENV{'form.output'});
-
&show_class_list($r,$ENV{'form.output'},'aboutme',
$ENV{'form.Status'},$classlist,$keylist);
}
@@ -1192,16 +1206,19 @@ sub show_class_list {
my ($CSVfile,$CSVfilename);
#
my $sortby = $ENV{'form.sortby'};
- if ($sortby !~ /^(username|domain|section|fullname|id|start|end)$/) {
+ if ($sortby !~ /^(username|domain|section|fullname|id|start|end|type)$/) {
$sortby = 'username';
}
# Print out header
- $r->print(<print(<
+END
+ }
+ $r->print(<
END
- if ($mode eq 'html' || $mode eq 'view') {
+ if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll') {
if ($linkto eq 'aboutme') {
$r->print(&mt('Select a user name to view the users personal page.'));
} elsif ($linkto eq 'modify') {
@@ -1214,14 +1231,30 @@ END
'sec' => "section",
'start' => "start date",
'end' => "end date",
+ 'type' => "enroll type/action"
);
- $r->print(<print(<
+END
+ }
+ $r->print("
-Count
- |
+ |
---|
+ ");
+ if ($mode eq 'autoenroll') {
+ $r->print("
+ $lt{'type'} |
+ ");
+ } else {
+ $r->print("
+Count |
+ ");
+ }
+ $r->print(<
$lt{'usrn'}
$lt{'dom'}
@@ -1236,7 +1269,7 @@ END
|
$lt{'end'}
|
-
+
END
} elsif ($mode eq 'csv') {
#
@@ -1306,6 +1339,10 @@ END
lc($classlist->{$a}->[$third]) cmp lc($classlist->{$b}->[$third])
} (keys(%$classlist));
my $studentcount = 0;
+ my $autocount = 0;
+ my $manualcount = 0;
+ my $unlockcount = 0;
+ my $lockcount = 0;
foreach my $student (@Sorted_Students) {
my $sdata = $classlist->{$student};
my $username = $sdata->[$index{'username'}];
@@ -1316,11 +1353,43 @@ END
my $status = $sdata->[$index{'status'}];
my $start = $sdata->[$index{'start'}];
my $end = $sdata->[$index{'end'}];
+ my $type = $sdata->[$index{'type'}];
next if (($statusmode ne 'Any') && ($status ne $statusmode));
- if ($mode eq 'view' || $mode eq 'html') {
- $start = &Apache::lonlocal::locallocaltime($start);
- $end = &Apache::lonlocal::locallocaltime($end);
- $r->print("\n ".(++$studentcount)." | \n ");
+ if ($mode eq 'view' || $mode eq 'html' || $mode eq 'autoenroll') {
+ if (! defined($start) || $start == 0) {
+ $start = &mt('none');
+ } else {
+ $start = &Apache::lonlocal::locallocaltime($start);
+ }
+ if (! defined($end) || $end == 0) {
+ $end = &mt('none');
+ } else {
+ $end = &Apache::lonlocal::locallocaltime($end);
+ }
+ $r->print(" |
\n ");
+ if ($mode eq 'autoenroll') {
+ my $lockedtype = $sdata->[$index{'lockedtype'}];
+ $studentcount++;
+ my $cellentry;
+ if ($type eq 'auto') {
+ $cellentry = ''.&mt('auto').' Change';
+ $autocount ++;
+ } else {
+ $cellentry = '';
+ }
+ $r->print("$cellentry | \n ");
+ } else {
+ $r->print(" | ".(++$studentcount)." | \n ");
+ }
if ($linkto eq 'nothing') {
$r->print($username);
} elsif ($linkto eq 'aboutme') {
@@ -1344,13 +1413,21 @@ END
| $section |
$start |
$end |
-
+
END
} elsif ($mode eq 'csv') {
next if (! defined($CSVfile));
# no need to bother with $linkto
- $start = &Apache::lonlocal::locallocaltime($start);
- $end = &Apache::lonlocal::locallocaltime($end);
+ if (! defined($start) || $start == 0) {
+ $start = &mt('none');
+ } else {
+ $start = &Apache::lonlocal::locallocaltime($start);
+ }
+ if (! defined($end) || $end == 0) {
+ $end = &mt('none');
+ } else {
+ $end = &Apache::lonlocal::locallocaltime($end);
+ }
my @line = ();
foreach ($username,$domain,$id,$name,$section,$start,$end) {
push @line,&Apache::loncommon::csv_translate($_);
@@ -1372,7 +1449,7 @@ END
$row++;
}
}
- if ($mode eq 'view' || $mode eq 'html') {
+ if ($mode eq 'view' || $mode eq 'html' || $mode eq 'autoenroll') {
$r->print('
');
} elsif ($mode eq 'excel') {
$excel_workbook->close();
@@ -1385,6 +1462,10 @@ END
"\n");
$r->rflush();
}
+ if ($mode eq 'autoenroll') {
+ return ($studentcount,$autocount,$manualcount,$lockcount,$unlockcount);
+ }
+ return;
}
@@ -1841,7 +1922,7 @@ END
END
}
$r->print('
');
- my %lt=&Apache::lonlocal::texthash(
+ %lt=&Apache::lonlocal::texthash(
'dp' => "Drop Students",
'ca' => "check all",
'ua' => "uncheck all",