version 1.113, 2004/06/09 17:08:27
|
version 1.115, 2004/06/29 04:30:00
|
Line 786 sub setup_date_selectors {
|
Line 786 sub setup_date_selectors {
|
my ($starttime,$endtime,$mode) = @_; |
my ($starttime,$endtime,$mode) = @_; |
if (! defined($starttime)) { |
if (! defined($starttime)) { |
$starttime = time; |
$starttime = time; |
unless ($mode eq 'createcourse') { |
unless ($mode eq 'create_enrolldates' || $mode eq 'create_defaultdates') { |
if (exists($ENV{'course.'.$ENV{'request.course.id'}. |
if (exists($ENV{'course.'.$ENV{'request.course.id'}. |
'.default_enrollment_start_date'})) { |
'.default_enrollment_start_date'})) { |
$starttime = $ENV{'course.'.$ENV{'request.course.id'}. |
$starttime = $ENV{'course.'.$ENV{'request.course.id'}. |
Line 810 sub setup_date_selectors {
|
Line 810 sub setup_date_selectors {
|
my $enddateform = &Apache::lonhtmlcommon::date_setter('studentform', |
my $enddateform = &Apache::lonhtmlcommon::date_setter('studentform', |
'enddate', |
'enddate', |
$endtime); |
$endtime); |
if ($mode eq 'createcourse') { |
if ($mode eq 'create_enrolldates') { |
$startdateform = &Apache::lonhtmlcommon::date_setter('ccrs', |
$startdateform = &Apache::lonhtmlcommon::date_setter('ccrs', |
'startdate', |
'startenroll', |
$starttime); |
$starttime); |
$enddateform = &Apache::lonhtmlcommon::date_setter('ccrs', |
$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); |
$endtime); |
} |
} |
return ($startdateform,$enddateform); |
return ($startdateform,$enddateform); |
Line 836 sub date_setting_table {
|
Line 844 sub date_setting_table {
|
my $dateDefault = '<nobr>'. |
my $dateDefault = '<nobr>'. |
'<input type="checkbox" name="makedatesdefault" /> '. |
'<input type="checkbox" name="makedatesdefault" /> '. |
&mt('make these dates the default for future enrollment'); |
&mt('make these dates the default for future enrollment'); |
if ($mode eq 'createcourse') { |
if ($mode eq 'create_enrolldates' || $mode eq 'create_defaultdates') { |
$dateDefault = ' '; |
$dateDefault = ' '; |
} |
} |
my $perpetual = '<nobr><input type="checkbox" name="no_end_date"'; |
my $perpetual = '<nobr><input type="checkbox" name="no_end_date"'; |
Line 844 sub date_setting_table {
|
Line 852 sub date_setting_table {
|
$perpetual .= ' checked'; |
$perpetual .= ' checked'; |
} |
} |
$perpetual.= ' /> '.&mt('no ending date').'</nobr>'; |
$perpetual.= ' /> '.&mt('no ending date').'</nobr>'; |
|
if ($mode eq 'create_enrolldates') { |
|
$perpetual = ' '; |
|
} |
my $result = ''; |
my $result = ''; |
$result .= "<table>\n"; |
$result .= "<table>\n"; |
$result .= '<tr><td align="right">'.&mt('Starting Date').'</td>'. |
$result .= '<tr><td align="right">'.&mt('Starting Date').'</td>'. |
Line 1195 sub show_class_list {
|
Line 1206 sub show_class_list {
|
my ($CSVfile,$CSVfilename); |
my ($CSVfile,$CSVfilename); |
# |
# |
my $sortby = $ENV{'form.sortby'}; |
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'; |
$sortby = 'username'; |
} |
} |
# Print out header |
# Print out header |
$r->print(<<END); |
unless ($mode eq 'autoenroll') { |
|
$r->print(<<END); |
<input type="hidden" name="state" value="$ENV{'form.state'}" /> |
<input type="hidden" name="state" value="$ENV{'form.state'}" /> |
|
END |
|
} |
|
$r->print(<<END); |
<input type="hidden" name="sortby" value="$sortby" /> |
<input type="hidden" name="sortby" value="$sortby" /> |
END |
END |
if ($mode eq 'html' || $mode eq 'view') { |
if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll') { |
if ($linkto eq 'aboutme') { |
if ($linkto eq 'aboutme') { |
$r->print(&mt('Select a user name to view the users personal page.')); |
$r->print(&mt('Select a user name to view the users personal page.')); |
} elsif ($linkto eq 'modify') { |
} elsif ($linkto eq 'modify') { |
Line 1217 END
|
Line 1231 END
|
'sec' => "section", |
'sec' => "section", |
'start' => "start date", |
'start' => "start date", |
'end' => "end date", |
'end' => "end date", |
|
'type' => "enroll type/action" |
); |
); |
$r->print(<<END); |
unless ($mode eq 'autoenroll') { |
|
$r->print(<<END); |
<input type="hidden" name="sname" value="" /> |
<input type="hidden" name="sname" value="" /> |
<input type="hidden" name="sdom" value="" /> |
<input type="hidden" name="sdom" value="" /> |
|
END |
|
} |
|
$r->print(" |
<p> |
<p> |
<table border=2> |
<table border=2> |
<tr><th>Count |
<tr> |
</th><th> |
"); |
|
if ($mode eq 'autoenroll') { |
|
$r->print(" |
|
<th><a href=\"javascript:document.studentform.sortby.value='type';document.studentform.submit();\">$lt{'type'}</a></th> |
|
"); |
|
} else { |
|
$r->print(" |
|
<th>Count</th> |
|
"); |
|
} |
|
$r->print(<<END); |
|
<th> |
<a href="javascript:document.studentform.sortby.value='username';document.studentform.submit();">$lt{'usrn'}</a> |
<a href="javascript:document.studentform.sortby.value='username';document.studentform.submit();">$lt{'usrn'}</a> |
</th><th> |
</th><th> |
<a href="javascript:document.studentform.sortby.value='domain';document.studentform.submit();">$lt{'dom'}</a> |
<a href="javascript:document.studentform.sortby.value='domain';document.studentform.submit();">$lt{'dom'}</a> |
Line 1239 END
|
Line 1269 END
|
</th><th> |
</th><th> |
<a href="javascript:document.studentform.sortby.value='end';document.studentform.submit();">$lt{'end'}</a> |
<a href="javascript:document.studentform.sortby.value='end';document.studentform.submit();">$lt{'end'}</a> |
</th> |
</th> |
</tr> |
</tr> |
END |
END |
} elsif ($mode eq 'csv') { |
} elsif ($mode eq 'csv') { |
# |
# |
Line 1309 END
|
Line 1339 END
|
lc($classlist->{$a}->[$third]) cmp lc($classlist->{$b}->[$third]) |
lc($classlist->{$a}->[$third]) cmp lc($classlist->{$b}->[$third]) |
} (keys(%$classlist)); |
} (keys(%$classlist)); |
my $studentcount = 0; |
my $studentcount = 0; |
|
my $autocount = 0; |
|
my $manualcount = 0; |
|
my $unlockcount = 0; |
|
my $lockcount = 0; |
foreach my $student (@Sorted_Students) { |
foreach my $student (@Sorted_Students) { |
my $sdata = $classlist->{$student}; |
my $sdata = $classlist->{$student}; |
my $username = $sdata->[$index{'username'}]; |
my $username = $sdata->[$index{'username'}]; |
Line 1319 END
|
Line 1353 END
|
my $status = $sdata->[$index{'status'}]; |
my $status = $sdata->[$index{'status'}]; |
my $start = $sdata->[$index{'start'}]; |
my $start = $sdata->[$index{'start'}]; |
my $end = $sdata->[$index{'end'}]; |
my $end = $sdata->[$index{'end'}]; |
|
my $type = $sdata->[$index{'type'}]; |
next if (($statusmode ne 'Any') && ($status ne $statusmode)); |
next if (($statusmode ne 'Any') && ($status ne $statusmode)); |
if ($mode eq 'view' || $mode eq 'html') { |
if ($mode eq 'view' || $mode eq 'html' || $mode eq 'autoenroll') { |
$start = &Apache::lonlocal::locallocaltime($start); |
if (! defined($start) || $start == 0) { |
$end = &Apache::lonlocal::locallocaltime($end); |
$start = &mt('none'); |
$r->print("<tr>\n <td>".(++$studentcount)."</td><td>\n "); |
} else { |
|
$start = &Apache::lonlocal::locallocaltime($start); |
|
} |
|
if (! defined($end) || $end == 0) { |
|
$end = &mt('none'); |
|
} else { |
|
$end = &Apache::lonlocal::locallocaltime($end); |
|
} |
|
$r->print("<tr>\n "); |
|
if ($mode eq 'autoenroll') { |
|
my $lockedtype = $sdata->[$index{'lockedtype'}]; |
|
$studentcount++; |
|
my $cellentry; |
|
if ($type eq 'auto') { |
|
$cellentry = '<b>'.&mt('auto').'</b> <input type="checkbox" name="chgauto" value="'.$username.':'.$domain.'" /> Change'; |
|
$autocount ++; |
|
} else { |
|
$cellentry = '<table border="0" cellspacing="0"><tr><td rowspan="2"><b>'.&mt('manual').'</b></td><td><input type="checkbox" name="chgmanual" value="'.$username.':'.$domain.'" /> Change</td></tr><tr><td>'; |
|
$manualcount ++; |
|
if ($lockedtype) { |
|
$cellentry .= '<input type="checkbox" name="unlockchg" value="'.$username.':'.$domain.'" /> '.&mt('Unlock'); |
|
$unlockcount ++; |
|
} else { |
|
$cellentry .= '<input type="checkbox" name="lockchg" value="'.$username.':'.$domain.'" /> '.&mt('Lock'); |
|
$lockcount ++; |
|
} |
|
$cellentry .= '</td></tr></table>'; |
|
} |
|
$r->print("<td>$cellentry<td>\n "); |
|
} else { |
|
$r->print("<td>".(++$studentcount)."</td><td>\n "); |
|
} |
if ($linkto eq 'nothing') { |
if ($linkto eq 'nothing') { |
$r->print($username); |
$r->print($username); |
} elsif ($linkto eq 'aboutme') { |
} elsif ($linkto eq 'aboutme') { |
Line 1347 END
|
Line 1413 END
|
<td>$section</td> |
<td>$section</td> |
<td>$start</td> |
<td>$start</td> |
<td>$end</td> |
<td>$end</td> |
</tr> |
</tr> |
END |
END |
} elsif ($mode eq 'csv') { |
} elsif ($mode eq 'csv') { |
next if (! defined($CSVfile)); |
next if (! defined($CSVfile)); |
# no need to bother with $linkto |
# no need to bother with $linkto |
$start = &Apache::lonlocal::locallocaltime($start); |
if (! defined($start) || $start == 0) { |
$end = &Apache::lonlocal::locallocaltime($end); |
$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 = (); |
my @line = (); |
foreach ($username,$domain,$id,$name,$section,$start,$end) { |
foreach ($username,$domain,$id,$name,$section,$start,$end) { |
push @line,&Apache::loncommon::csv_translate($_); |
push @line,&Apache::loncommon::csv_translate($_); |
Line 1375 END
|
Line 1449 END
|
$row++; |
$row++; |
} |
} |
} |
} |
if ($mode eq 'view' || $mode eq 'html') { |
if ($mode eq 'view' || $mode eq 'html' || $mode eq 'autoenroll') { |
$r->print('</table><br>'); |
$r->print('</table><br>'); |
} elsif ($mode eq 'excel') { |
} elsif ($mode eq 'excel') { |
$excel_workbook->close(); |
$excel_workbook->close(); |
Line 1388 END
|
Line 1462 END
|
"\n"); |
"\n"); |
$r->rflush(); |
$r->rflush(); |
} |
} |
|
if ($mode eq 'autoenroll') { |
|
return ($studentcount,$autocount,$manualcount,$lockcount,$unlockcount); |
|
} |
|
return; |
} |
} |
|
|
|
|