version 1.9, 2004/01/15 01:47:21
|
version 1.10, 2004/01/15 05:56:34
|
Line 329 Note: Any students added manually by cou
|
Line 329 Note: Any students added manually by cou
|
"); |
"); |
} elsif ($action eq "setdates") { |
} elsif ($action eq "setdates") { |
my ($start_table,$end_table) = &date_setting_table($enrollvar{autostart},$enrollvar{autoend}); |
my ($start_table,$end_table) = &date_setting_table($enrollvar{autostart},$enrollvar{autoend}); |
my $oldstartshow = localtime($enrollvar{autostart}); |
my $oldstartshow = ''; |
my $oldendshow = localtime($enrollvar{autoend}); |
my $oldendshow = ''; |
if ($enrollvar{autoend} == 0) { |
if ( defined($enrollvar{autostart}) ) { |
$oldendshow = "No ending date"; |
$oldstartshow = localtime($enrollvar{autostart}); |
|
} |
|
if ( defined($enrollvar{autoend}) ) { |
|
$oldendshow = localtime($enrollvar{autoend}); |
|
if ($enrollvar{autoend} == 0) { |
|
$oldendshow = "No ending date"; |
|
} |
|
} |
|
my $dateshow; |
|
if ( ($oldendshow eq '') && ($oldstartshow eq '') ) { |
|
$dateshow = "<br/><font size='+1'>Warning</font>. Currently <b>NO</b> first enrollment or last enrollment dates are set. You <b>must</b> use this menu to set a start date and an end date (or check the 'no ending date' checkbox) if you plan to utilise automated adds and/or drops in this course.\n"; |
|
} else { |
|
$dateshow = "Currently: First enrollment: <b><i>$oldstartshow</i></b>, Last enrollment: <b><i>$oldendshow</i></b>\n"; |
} |
} |
$r->print(<<ENDTWO); |
$r->print(<<ENDTWO); |
<form name="enter" method="post"><br/> |
<form name="enter" method="post"><br/> |
<table width="100%" border="0" cellpadding="2" cellspacing="2"> |
<table width="100%" border="0" cellpadding="2" cellspacing="2"> |
<tr> |
<tr> |
<td align="left"><b>$$tasktitleref{$action}</b><br/> |
<td align="left"><b>$$tasktitleref{$action}</b><br/><br/> |
Currently: First enrollment: <i>$oldstartshow</i>, Last enrollment: <i>$oldendshow</i> |
$dateshow |
</td> |
</td> |
</tr> |
</tr> |
</table> |
</table> |
Line 885 ENDBASE
|
Line 897 ENDBASE
|
################################################################### |
################################################################### |
sub print_chgsettings_response { |
sub print_chgsettings_response { |
my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_; |
my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_; |
my %settings = &Apache::lonnet::get('environment',['internal.autoadds','internal.autodrops'],$dom,$crs); |
my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.crosslistings','internal.autostart','internal.autoend','internal.autoadds','internal.autodrops'],$dom,$crs); |
my $curradds = $settings{'internal.autoadds'}; |
my $currend = ''; |
my $currdrops = $settings{'internal.autodrops'}; |
my $currstart = ''; |
|
my $currsecs = ''; |
|
my $currxlists = ''; |
|
my $curradds = ''; |
|
my $currdrops = ''; |
|
if ( defined($settings{'internal.autoadds'}) ) { |
|
$curradds = $settings{'internal.autoadds'}; |
|
} |
|
if ( defined($settings{'internal.autodrops'}) ) { |
|
$currdrops = $settings{'internal.autodrops'}; |
|
} |
|
if ( defined($settings{'internal.autostart'}) ) { |
|
$currstart = $settings{'internal.autostart'}; |
|
} |
|
if ( defined($settings{'internal.autoend'}) ) { |
|
$currend = $settings{'internal.autoend'}; |
|
} |
|
if ( defined($settings{'internal.sectionnums'}) ) { |
|
$currsecs = $settings{'internal.sectionnums'}; |
|
} |
|
if ( defined($settings{'internal.crosslistings'}) ) { |
|
$currxlists = $settings{'internal.crosslistings'} |
|
} |
my $autoadds = ''; |
my $autoadds = ''; |
my $autodrops = ''; |
my $autodrops = ''; |
|
|
Line 899 sub print_chgsettings_response {
|
Line 933 sub print_chgsettings_response {
|
} |
} |
|
|
my $response = ""; |
my $response = ""; |
|
my $warning = ""; |
|
my $warn_prefix = ""; |
|
my $warn_suffix = ""; |
|
my $warnfiller = ""; |
my %cenv = ('internal.autoadds' => $autoadds, |
my %cenv = ('internal.autoadds' => $autoadds, |
'internal.autodrops' => $autodrops); |
'internal.autodrops' => $autodrops); |
my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs); |
my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs); |
Line 910 sub print_chgsettings_response {
|
Line 948 sub print_chgsettings_response {
|
$response = "Nightly additions based on classlist changes still <b>enabled</b><br/>"; |
$response = "Nightly additions based on classlist changes still <b>enabled</b><br/>"; |
} else { |
} else { |
$response = "Nightly additions based on classlist changes now <b>enabled</b><br/>"; |
$response = "Nightly additions based on classlist changes now <b>enabled</b><br/>"; |
} |
} |
} else { |
} else { |
if ($curradds) { |
if ($curradds) { |
$response = "Nightly additions based on classlist changes now <b>disabled</b><br/>"; |
$response = "Nightly additions based on classlist changes now <b>disabled</b><br/>"; |
Line 931 sub print_chgsettings_response {
|
Line 969 sub print_chgsettings_response {
|
$response .= "Nightly removals based on classlist changes still <b>disabled</b>"; |
$response .= "Nightly removals based on classlist changes still <b>disabled</b>"; |
} |
} |
} |
} |
|
if ($autoadds || $autodrops) { |
|
$warning = &warning_message($dom,$crs,$action); |
|
$warn_prefix = "<br/><font size ='+1'><b>Warning</b></font>. Although you indicated that nightly "; |
|
$warn_suffix = " should be enabled, additional action is required.<br/>"; |
|
} |
|
if ($autoadds) { |
|
if ($autodrops) { |
|
$warnfiller = "adds and drops"; |
|
} else { |
|
$warnfiller = "adds"; |
|
} |
|
} else { |
|
if ($autodrops) { |
|
$warnfiller = "drops"; |
|
} |
|
} |
|
unless ($warning eq '') { |
|
$response = $warn_prefix.$warnfiller.$warn_suffix.$warning; |
|
} |
} |
} |
&print_reply($r,$response,$$tasktitleref{$action}); |
&print_reply($r,$response,$$tasktitleref{$action}); |
return; |
return; |
Line 945 sub print_setdates_response {
|
Line 1002 sub print_setdates_response {
|
my ($autostart,$autoend) = &get_dates_from_form(); |
my ($autostart,$autoend) = &get_dates_from_form(); |
my $showstart = localtime($autostart); |
my $showstart = localtime($autostart); |
my $showend = ''; |
my $showend = ''; |
|
my $warning = ''; |
|
my $warn_prefix = ''; |
if ($autoend) { |
if ($autoend) { |
$showend = localtime($autoend); |
$showend = localtime($autoend); |
} else { |
} else { |
Line 983 sub print_setdates_response {
|
Line 1042 sub print_setdates_response {
|
my $lastmidnt = timelocal(0,0,0,$date_list[3],$date_list[4],$date_list[5]); |
my $lastmidnt = timelocal(0,0,0,$date_list[3],$date_list[4],$date_list[5]); |
my $nextmidnt = 86400 + $lastmidnt; |
my $nextmidnt = 86400 + $lastmidnt; |
|
|
my $todayupdate = timelocal(0,40,4,$date_list[3],$date_list[4],$date_list[5]); |
my $todayupdate = timelocal(0,30,1,$date_list[3],$date_list[4],$date_list[5]); |
my $lastupdate = $todayupdate - 86400; |
my $lastupdate = $todayupdate - 86400; |
if ($nowstamp < $todayupdate) { |
if ($nowstamp < $todayupdate) { |
$nextupdate = "today"; |
$nextupdate = "today"; |
Line 1000 sub print_setdates_response {
|
Line 1059 sub print_setdates_response {
|
$firstaccess = "a date prior to today"; |
$firstaccess = "a date prior to today"; |
} |
} |
if (($nowstamp >= $autostart) && ($rosterupdated == 0)) { |
if (($nowstamp >= $autostart) && ($rosterupdated == 0)) { |
$response .= qq|<br>Although you have now set the first enrollment date to $firstaccess, automatic enrollment will <b>not</b> occur until the next automatic enrollment update occurs for all LON-CAPA courses at 4.40 am $nextupdate. If you wish to grant immediate course access for registered students included in the institutional classlist for this class, please visit the <a href="/adm/populate?action=updatenow">roster update page</a>.<br>|; |
$response .= qq|<br>Although you have now set the first enrollment date to $firstaccess, automatic enrollment will <b>not</b> occur until the next automatic enrollment update occurs for all LON-CAPA courses at 1.30 am $nextupdate. If you wish to grant immediate course access for registered students included in the institutional classlist for this class, please visit the <a href="/adm/populate?action=updatenow">roster update page</a>.<br>|; |
} |
} |
} |
} |
|
$warning = &warning_message($dom,$crs,$action); |
|
$warn_prefix = "<br/><font size ='+1'><b>Warning</b></font>. Although you set a start and end date for auto-enrollment, additional action is required.<br/>"; |
|
unless ($warning eq '') { |
|
$response .= $warn_prefix.$warning; |
|
} |
} |
} |
&print_reply($r,$response,$$tasktitleref{$action}); |
&print_reply($r,$response,$$tasktitleref{$action}); |
return; |
return; |
Line 1207 sub print_crosslistings_response () {
|
Line 1271 sub print_crosslistings_response () {
|
my $coursecode = $settings{'internal.coursecode'}; |
my $coursecode = $settings{'internal.coursecode'}; |
my $owner = $settings{'internal.courseowner'}; |
my $owner = $settings{'internal.courseowner'}; |
my $response = ''; |
my $response = ''; |
|
my $warning = ''; |
|
my $warn_prefix = ''; |
|
|
if ($xliststr =~ m/,/) { |
if ($xliststr =~ m/,/) { |
@allxlists = split/,/,$xliststr; |
@allxlists = split/,/,$xliststr; |
Line 1292 sub print_crosslistings_response () {
|
Line 1358 sub print_crosslistings_response () {
|
$response .= "</ul><br/><br/>\n"; |
$response .= "</ul><br/><br/>\n"; |
} |
} |
|
|
|
if (@allxlists > 0) { |
|
$warning = &warning_message($dom,$crs,$action); |
|
$warn_prefix = "<br/><font size ='+1'><b>Warning</b></font>. Although you have selected crosslisted courses to contribute enrollment to this course, additional action is required.<br/>"; |
|
unless ($warning eq '') { |
|
$response .= $warn_prefix.$warning; |
|
} |
|
} |
|
|
&print_reply($r,$response,$$tasktitleref{$action}); |
&print_reply($r,$response,$$tasktitleref{$action}); |
return; |
return; |
} |
} |
Line 1308 sub print_sections_menu () {
|
Line 1382 sub print_sections_menu () {
|
my $addcount = 0; |
my $addcount = 0; |
my $secstr = ''; |
my $secstr = ''; |
my $response = ''; |
my $response = ''; |
|
my $warning = ""; |
|
my $warn_prefix = ""; |
my $coursecode = $settings{'internal.coursecode'}; |
my $coursecode = $settings{'internal.coursecode'}; |
my $owner = $settings{'internal.courseowner'}; |
my $owner = $settings{'internal.courseowner'}; |
if ($settings{'internal.sectionnums'} =~ m/,/) { |
if ($settings{'internal.sectionnums'} =~ m/,/) { |
Line 1425 sections which contribute to enrollment
|
Line 1501 sections which contribute to enrollment
|
$response .= "</ul><br/><br/>\n"; |
$response .= "</ul><br/><br/>\n"; |
} |
} |
|
|
|
if ($seccount > 0) { |
|
$warning = &warning_message($dom,$crs,$action); |
|
$warn_prefix = "<br/><font size ='+1'><b>Warning</b></font>. Although you have selected sections to contribute enrollment to this course, additional action is required.<br/>"; |
|
unless ($warning eq '') { |
|
$response .= $warn_prefix.$warning; |
|
} |
|
} |
|
|
if ( exists($ENV{'form.numsec'}) ) { |
if ( exists($ENV{'form.numsec'}) ) { |
my $numsec = $ENV{'form.numsec'}; |
my $numsec = $ENV{'form.numsec'}; |
if ($numsec > 0) { |
if ($numsec > 0) { |
Line 1484 sub print_sections_response () {
|
Line 1568 sub print_sections_response () {
|
my $owner = $settings{'internal.courseowner'}; |
my $owner = $settings{'internal.courseowner'}; |
my $response = ''; |
my $response = ''; |
my $putreply = ''; |
my $putreply = ''; |
|
my $warning = ''; |
|
my $warn_prefix = ''; |
if ($secstr =~ m/,/) { |
if ($secstr =~ m/,/) { |
@allsections = split/,/,$secstr; |
@allsections = split/,/,$secstr; |
} else { |
} else { |
Line 1559 sub print_sections_response () {
|
Line 1645 sub print_sections_response () {
|
$response .= "</ul><br/><br/>\n"; |
$response .= "</ul><br/><br/>\n"; |
} |
} |
|
|
|
if (@allsections > 0) { |
|
$warning = &warning_message($dom,$crs,$action); |
|
$warn_prefix = "<br/><font size ='+1'><b>Warning</b></font>. Although you have selected sections to contribute enrollment to this course, additional action is required.<br/>"; |
|
unless ($warning eq '') { |
|
$response .= $warn_prefix.$warning; |
|
} |
|
} |
|
|
&print_reply($r,$response,$$tasktitleref{$action}); |
&print_reply($r,$response,$$tasktitleref{$action}); |
return; |
return; |
} |
} |
Line 1693 sub print_update_result () {
|
Line 1787 sub print_update_result () {
|
return; |
return; |
} |
} |
|
|
|
sub warning_message { |
|
my ($dom,$crs,$caller) = @_; |
|
my %settings = &Apache::lonnet::get('environment',['internal.autoadds','internal.autodrops','internal.sectionnums','internal.crosslistings','internal.autostart','internal.autoend'],$dom,$crs); |
|
my $currend = ''; |
|
my $currstart = ''; |
|
my $currsecs = ''; |
|
my $currxlists = ''; |
|
my $warning = ''; |
|
my $curradds = ''; |
|
my $currdrops = ''; |
|
if ( defined($settings{'internal.autoadds'}) ) { |
|
$curradds = $settings{'internal.autoadds'}; |
|
} |
|
if (defined($settings{'internal.autodrops'}) ) { |
|
$currdrops = $settings{'internal.autodrops'}; |
|
} |
|
if ( defined($settings{'internal.autostart'}) ) { |
|
$currstart = $settings{'internal.autostart'}; |
|
} |
|
if ( defined($settings{'internal.autoend'}) ) { |
|
$currend = $settings{'internal.autoend'}; |
|
} |
|
if ( defined($settings{'internal.sectionnums'}) ) { |
|
$currsecs = $settings{'internal.sectionnums'}; |
|
} |
|
if ( defined($settings{'internal.crosslistings'}) ) { |
|
$currxlists = $settings{'internal.crosslistings'} |
|
} |
|
unless ($caller eq 'setdates') { |
|
if ( ($currstart eq '') && ($currend eq '') ) { |
|
$warning = "You <b>must</b> now use <a href='/adm/populate?action=setdates'>Change enrollment dates</a> to set a start date <i>and</i> an end date for the enrollment (or check the 'No end date' checkbox) for the nightly adds process to actually occur.</br></br>"; |
|
} |
|
} |
|
unless ( ($caller eq 'sections') || ($caller eq 'crosslist') ) { |
|
if ( ($currsecs eq '') && ($currxlists eq '') ) { |
|
$warning .= "You <b>must</b> now use <a href='/adm/populate?action=sections'>Section settings</a> and/or <a href='/adm/populate?action=crosslist'>Change crosslistings</a> to choose at least one section of the course, or at least one crosslisted course which will contribute enrollment to this LON-CAPA course. At present there are <b>NO</b> sections or crosslisted courses that are affiliated with this course that are set to contribute to the automated enrollment process.<br/><br/>"; |
|
} |
|
} |
|
unless ( $caller eq 'chgsettings') { |
|
if ( (!$curradds) && (!$currdrops) ) { |
|
$warning .= "You <b>must</b> now use <a href='/adm/populate?action=chgsettings'>Automated adds/drops</a> to enable automated adds and/or drops if you want automatic enrollment updates to occur in this course.<br/><br/>."; |
|
} |
|
} |
|
return $warning; |
|
} |
|
|
sub print_reply () { |
sub print_reply () { |
my ($r,$response,$caller) = @_; |
my ($r,$response,$caller) = @_; |
$r->print(" |
$r->print(" |