Diff for /loncom/interface/lonpopulate.pm between versions 1.8 and 1.12

version 1.8, 2003/12/29 16:34:39 version 1.12, 2004/06/08 22:09:44
Line 207  ENDONE Line 207  ENDONE
 ###############################################################  ###############################################################
   
 sub print_main_frame {  sub print_main_frame {
   my ($r,$realm,$dom,$crs,$tasktitleref) = @_;    my ($r,$realm,$dom,$crs,$tasktitleref,$homeserver,$server) = @_;
   my $action = "information";    my $action = "information";
   if (exists($ENV{'form.action'}) ) {    if (exists($ENV{'form.action'}) ) {
       $action = $ENV{'form.action'};        $action = $ENV{'form.action'};
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 629  ENDTWO Line 641  ENDTWO
             </form>               </form> 
       ");        ");
   } elsif ($action eq "sections") {    } elsif ($action eq "sections") {
       my @sections = &localenroll::get_sections($enrollvar{coursecode});        my @sections = ();
         @sections = &Apache::lonnet::auto_get_sections($homeserver,$enrollvar{coursecode});
       my @storedsections = ();        my @storedsections = ();
       my @currsections = ();        my @currsections = ();
       my %sec_id = ();        my %sec_id = ();
Line 885  ENDBASE Line 898  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 934  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 949  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 970  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 1003  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 965  sub print_setdates_response { Line 1025  sub print_setdates_response {
       if ($currend == $autoend) {        if ($currend == $autoend) {
           $response .= "The last date for automated enrollment has been left unchanged as $showend.<br/>";            $response .= "The last date for automated enrollment has been left unchanged as $showend.<br/>";
       } else {        } else {
           $response .= "The last date for enrollment has been left unchanged as $showend.<br/>";            $response .= "The last date for automated enrollment has been changed to $showend.<br/>";
       }        }
     
 # Generate message in case where old first access date was later than today, but new first access date is now today or earlier.  # Generate message in case where old first access date was later than today, but new first access date is now today or earlier.
Line 983  sub print_setdates_response { Line 1043  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 1060  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 1092  sub print_notify_response { Line 1157  sub print_notify_response {
 }  }
   
 sub print_crosslistings_menu () {  sub print_crosslistings_menu () {
   my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;    my ($r,$realm,$dom,$crs,$action,$tasktitleref,$homeserver,$server) = @_;
   my %settings = &Apache::lonnet::get('environment',['internal.crosslistings','internal.coursecode'],$dom,$crs);    my %settings = &Apache::lonnet::get('environment',['internal.crosslistings','internal.coursecode'],$dom,$crs);
   my @currxlists = ();    my @currxlists = ();
   my @xlists = ();    my @xlists = ();
Line 1195  sub print_crosslistings_menu () { Line 1260  sub print_crosslistings_menu () {
 }  }
   
 sub print_crosslistings_response () {  sub print_crosslistings_response () {
   my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;    my ($r,$realm,$dom,$crs,$action,$tasktitleref,$homeserver,$server) = @_;
   my %settings = &Apache::lonnet::get('environment',['internal.crosslistings','internal.coursecode','internal.courseowner'],$dom,$crs);    my %settings = &Apache::lonnet::get('environment',['internal.crosslistings','internal.coursecode','internal.courseowner'],$dom,$crs);
   my @currxlists = ();    my @currxlists = ();
   my @xlists = ();    my @xlists = ();
Line 1207  sub print_crosslistings_response () { Line 1272  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 1223  sub print_crosslistings_response () { Line 1290  sub print_crosslistings_response () {
           my $xl = "newcross_".$i;            my $xl = "newcross_".$i;
           my $gp = "newgroupid_".$i;            my $gp = "newgroupid_".$i;
           if ( exists($ENV{"form.$xl"}) ) {            if ( exists($ENV{"form.$xl"}) ) {
               my $coursecheck = &localenroll::validate_courseID($ENV{"form.$xl"});                my $coursecheck = '';
   #              if ($homeserver eq $server) {
   #                  $coursecheck = &localenroll::validate_courseID($ENV{"form.$xl"});
   #              } else {
                     $coursecheck = &Apache::lonnet::auto_validate_courseID($homeserver,$ENV{"form.$xl"});
   #              }
               if ($coursecheck eq 'ok') {                if ($coursecheck eq 'ok') {
                   my $addcheck = &localenroll::new_course($ENV{"form.$xl"},$owner);                    my $addcheck = '';
   #                  if ($homeserver eq $server) {
   #                      $addcheck = &localenroll::new_course($ENV{"form.$xl"},$owner);
   #                  } else {
                         $addcheck = &Apache::lonnet::auto_new_course($homeserver,$ENV{"form.$xl"},$owner);
   #                  }
                   if ($addcheck eq 'ok') {                    if ($addcheck eq 'ok') {
                      push @xlists,$ENV{"form.$xl"}.":".$ENV{"form.$gp"};                       push @xlists,$ENV{"form.$xl"}.":".$ENV{"form.$gp"};
                   } else {                    } else {
                      push @badowner,$ENV{"form.$xl"}.":".$ENV{"form.$gp"};                       push @badowner,$ENV{"form.$xl"}.":".$ENV{"form.$gp"};
                   }                     }
               } else {                } else {
                   push @badxlists, $ENV{"form.$xl"}.":".$ENV{"form.$gp"}.":".$coursecheck;                    push @badxlists, $ENV{"form.$xl"}.":".$ENV{"form.$gp"}.":".$coursecheck;
               }                }
Line 1292  sub print_crosslistings_response () { Line 1369  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;
 }  }
   
 sub print_sections_menu () {  sub print_sections_menu () {
   my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;    my ($r,$realm,$dom,$crs,$action,$tasktitleref,$homeserver,$server) = @_;
   my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode','internal.courseowner'],$dom,$crs);    my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode','internal.courseowner'],$dom,$crs);
   my @currsections = ();    my @currsections = ();
   my @sections = ();    my @sections = ();
Line 1308  sub print_sections_menu () { Line 1393  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 1334  sub print_sections_menu () { Line 1421  sub print_sections_menu () {
                   $seccount ++;                    $seccount ++;
               } else {                } else {
                   my $newsec = $coursecode.$ENV{"form.$secnum"};                    my $newsec = $coursecode.$ENV{"form.$secnum"};
                   my $coursecheck = &localenroll::validate_courseID($newsec);                    my $coursecheck = '';
   #                  if ($homeserver eq $server) {
   #                      $coursecheck = &localenroll::validate_courseID($newsec);
   #                  } else  {
                         $coursecheck = &Apache::lonnet::auto_validate_courseID($homeserver,$newsec);
   #                  }
                   if ($coursecheck eq 'ok') {                    if ($coursecheck eq 'ok') {
                       my $addcheck = &localenroll::new_course($newsec,$owner);                        my $addcheck = '';
   #                      if ($homeserver eq $server) {
   #                          $addcheck = &localenroll::new_course($newsec,$owner);
   #                      } else {
                             $addcheck = &Apache::lonnet::auto_new_course($homeserver,$newsec,$owner);
   #                      }
                       if ($addcheck eq 'ok') {                        if ($addcheck eq 'ok') {
                           push @sections,$ENV{"form.$secnum"}.":".$ENV{"form.$gp"};                            push @sections,$ENV{"form.$secnum"}.":".$ENV{"form.$gp"};
                           $seccount ++;                            $seccount ++;
Line 1425  sections which contribute to enrollment Line 1522  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 1471  sections which contribute to enrollment Line 1576  sections which contribute to enrollment
 }  }
   
 sub print_sections_response () {  sub print_sections_response () {
   my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;    my ($r,$realm,$dom,$crs,$action,$tasktitleref,$homeserver,$server) = @_;
   my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode','internal.courseowner'],$dom,$crs);    my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode','internal.courseowner'],$dom,$crs);
   my @currsections = ();    my @currsections = ();
   my @sections = ();    my @sections = ();
Line 1484  sub print_sections_response () { Line 1589  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 1501  sub print_sections_response () { Line 1608  sub print_sections_response () {
           if ( exists($ENV{"form.$sec"}) ) {            if ( exists($ENV{"form.$sec"}) ) {
               unless ( (grep/^$ENV{"form.$sec"}:/,@allsections) || (grep/^$ENV{"form.$sec"}:/,@sections) ) {                unless ( (grep/^$ENV{"form.$sec"}:/,@allsections) || (grep/^$ENV{"form.$sec"}:/,@sections) ) {
                   my $newsec = $coursecode.$ENV{"form.$sec"};                    my $newsec = $coursecode.$ENV{"form.$sec"};
                   my $coursecheck = &localenroll::validate_courseID($newsec);                    my $coursecheck = '';
   #                  if ($homeserver eq $server) {
   #                      $coursecheck = &localenroll::validate_courseID($newsec);
   #                  } else {
                         $coursecheck = &Apache::lonnet::auto_validate_courseID($homeserver,$newsec);
   #                  }
                   if ($coursecheck eq 'ok') {                    if ($coursecheck eq 'ok') {
                       my $addcheck = &localenroll::new_course($newsec,$owner);                        my $addcheck = '';
   #                      if ($homeserver eq $server) {
   #                          $addcheck = &localenroll::new_course($newsec,$owner);
   #                      } else {
                             $addcheck = &Apache::lonnet::auto_new_course($homeserver,$newsec,$owner);
   #                      }
                       if ($addcheck eq 'ok') {                        if ($addcheck eq 'ok') {
                           push @sections,$ENV{"form.$sec"}.":".$ENV{"form.$gp"};                            push @sections,$ENV{"form.$sec"}.":".$ENV{"form.$gp"};
                       } else {                        } else {
Line 1559  sub print_sections_response () { Line 1676  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 1597  sub print_photos_response () { Line 1722  sub print_photos_response () {
 }  }
   
 sub print_update_result () {  sub print_update_result () {
   my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;    my ($r,$realm,$dom,$crs,$action,$tasktitleref,$homeserver,$server) = @_;
   my $response = '';    my $response = '';
   my $updateadds = 0;    my $updateadds = 0;
   my $updatedrops = 0;    my $updatedrops = 0;
Line 1669  sub print_update_result () { Line 1794  sub print_update_result () {
   
       if (@allcourses > 0) {        if (@allcourses > 0) {
           @{$affiliates{$crs}} = @allcourses;            @{$affiliates{$crs}} = @allcourses;
           &localenroll::fetch_enrollment($dom,\%affiliates,\%reply);  #          if ($homeserver eq $server) {
   #              &localenroll::fetch_enrollment($dom,\%affiliates,\%reply);
   #          } else {
                 &Apache::lonnet::fetch_enrollment_query($homeserver,$dom,\%affiliates,\%reply);
   #          }
           if ($reply{$crs} > 0) {            if ($reply{$crs} > 0) {
               ($changecount,$response) = &LONCAPA::Enrollment::update_LC($dom,$crs,$updateadds,$updatedrops,$autostart,$autoend,$authtype,$autharg,\@allcourses,\%LC_code,\$logmsg,\$newusermsg,"updatenow");                ($changecount,$response) = &LONCAPA::Enrollment::update_LC($dom,$crs,$updateadds,$updatedrops,$autostart,$autoend,$authtype,$autharg,\@allcourses,\%LC_code,\$logmsg,\$newusermsg,"updatenow");
           } else {            } else {
Line 1693  sub print_update_result () { Line 1822  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("
Line 1708  sub print_reply () { Line 1883  sub print_reply () {
   
 sub setup_date_selectors {  sub setup_date_selectors {
     my ($starttime,$endtime) = @_;      my ($starttime,$endtime) = @_;
     if ($endtime == 0) {  
         $endtime = 1999915200;  
     }  
     if (! defined($starttime)) {      if (! defined($starttime)) {
         $starttime = time;          $starttime = time;
         if (exists($ENV{'course.'.$ENV{'request.course.id'}.          if (exists($ENV{'course.'.$ENV{'request.course.id'}.
Line 1867  sub handler { Line 2039  sub handler {
             }              }
         }          }
     }      }
   
   # Determine course home server and current server
       my $homeserver = &Apache::lonnet::homeserver($crs,$dom);
       my $server = $Apache::lonnet::perlvar{'lonHostID'};
       
     my $reply = 0;      my $reply = 0;
     unless ($state eq "choose") { $reply = 1; }      unless ($state eq "choose") { $reply = 1; }
Line 1875  sub handler { Line 2051  sub handler {
     &print_navmenu($r,\@tasks,\%tasklong);      &print_navmenu($r,\@tasks,\%tasklong);
           
     if (($state eq "choose") || ($action eq "information")) {      if (($state eq "choose") || ($action eq "information")) {
         &print_main_frame($r,$realm,$dom,$crs,\%tasktitle);          &print_main_frame($r,$realm,$dom,$crs,\%tasktitle,$homeserver,$server);
     } elsif ($action eq "chgsettings") {      } elsif ($action eq "chgsettings") {
         &print_chgsettings_response($r,$realm,$dom,$crs,$action,\%tasktitle);          &print_chgsettings_response($r,$realm,$dom,$crs,$action,\%tasktitle);
     } elsif ($action eq "setdates") {      } elsif ($action eq "setdates") {
Line 1883  sub handler { Line 2059  sub handler {
     } elsif ($action eq "notify") {      } elsif ($action eq "notify") {
         &print_notify_response($r,$realm,$dom,$crs,$action,\%tasktitle);          &print_notify_response($r,$realm,$dom,$crs,$action,\%tasktitle);
     } elsif ($action eq "sections") {      } elsif ($action eq "sections") {
         &print_sections_menu($r,$realm,$dom,$crs,$action,\%tasktitle);          &print_sections_menu($r,$realm,$dom,$crs,$action,\%tasktitle,$homeserver,$server);
     } elsif ($action eq "crosslist") {      } elsif ($action eq "crosslist") {
         &print_crosslistings_menu($r,$realm,$dom,$crs,$action,\%tasktitle);          &print_crosslistings_menu($r,$realm,$dom,$crs,$action,\%tasktitle,$homeserver,$server);
     } elsif ($action eq "updatenow") {      } elsif ($action eq "updatenow") {
         &print_update_result($r,$realm,$dom,$crs,$action,\%tasktitle);          &print_update_result($r,$realm,$dom,$crs,$action,\%tasktitle,$homeserver,$server);
     } elsif ($action eq "photos") {      } elsif ($action eq "photos") {
         &print_photos_response($r,$realm,$dom,$crs,$action,\%tasktitle);          &print_photos_response($r,$realm,$dom,$crs,$action,\%tasktitle);
     } elsif ($action eq "newcross") {      } elsif ($action eq "newcross") {
         &print_crosslistings_response($r,$realm,$dom,$crs,$action,\%tasktitle);              &print_crosslistings_response($r,$realm,$dom,$crs,$action,\%tasktitle,$homeserver,$server);    
     } elsif ($action eq "newsections") {      } elsif ($action eq "newsections") {
         &print_sections_response($r,$realm,$dom,$crs,$action,\%tasktitle);          &print_sections_response($r,$realm,$dom,$crs,$action,\%tasktitle,$homeserver,$server);
     }      }
     &print_doc_base($r);        &print_doc_base($r);  
     return OK;      return OK;

Removed from v.1.8  
changed lines
  Added in v.1.12


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>