Diff for /loncom/interface/lonpopulate.pm between versions 1.52 and 1.61

version 1.52, 2008/01/02 07:53:47 version 1.61, 2009/04/22 17:13:38
Line 49  sub choose_header { Line 49  sub choose_header {
     my ($action) = @_;      my ($action) = @_;
     my $notify_check = '/^note_[0-9]+$/';      my $notify_check = '/^note_[0-9]+$/';
     my $scripttag = qq|      my $scripttag = qq|
 <script language='javascript' type='text/javascript'>  <script type=\"text/javascript\" language=\"JavaScript\">
 <!--  <!--
 function process(calling,numauto,nummanual,numlock,numunlock) {  function process(calling,numauto,nummanual,numlock,numunlock) {
  var checker = 1   var checker = 1
Line 208  sub print_mainbox { Line 208  sub print_mainbox {
     }      }
     my $page = '';      my $page = '';
     if ($action eq "information") {      if ($action eq "information") {
         $page = "<b>Automated Student Enrollment</b>";          $page = "<b>".&mt("Automated Enrollment")."</b>";
     } else {      } else {
         $page =  '<a href="/adm/populate">Automated Student Enrollment</a>';          $page =  '<a href="/adm/populate">'.&mt('Automated Enrollment').'</a>';
         if ($reply) {          if ($reply) {
             if ($action eq "newcross") {              if ($action eq "newcross") {
                 $action = "crosslist";                  $action = "crosslist";
Line 222  sub print_mainbox { Line 222  sub print_mainbox {
             $page .=  " -&gt; <b>".$$tasklongref{$action}."</b>";               $page .=  " -&gt; <b>".$$tasklongref{$action}."</b>"; 
         }          }
     }      }
       my $usrmang = &mt('User Management');
       my $autenrl = &mt('Automated Enrollment Manager');
     $r->print(<<ENDTHIS);      $r->print(<<ENDTHIS);
 <table width="100%" border="0" cellpadding="0" cellspacing="0">  <table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>   <tr>
   <td bgcolor="#CCCCFF">     <td bgcolor="#CCCCFF"> 
    <font size="2"><a href="/adm/menu">$realm</a> -&gt; <a href="/adm/createuser">User Management</a> -&gt; $page</font><br/>     <font size="2"><a href="/adm/menu">$realm</a> -&gt; <a href="/adm/createuser">$usrmang</a> -&gt; $page</font><br/>
   </td>    </td>
   <td align="right" bgcolor="#CCCCFF" valign="top">    <td align="right" bgcolor="#CCCCFF" valign="top">
    <font size="+1">Automated Student Enrollment Manager&nbsp;</font>     <font size="+1">$autenrl&nbsp;</font>
   </td>    </td>
  </tr>   </tr>
 </table>  </table>
Line 368  ENDONE Line 370  ENDONE
 ENDTWO  ENDTWO
       if ($enrollvar{autoadds}) {        if ($enrollvar{autoadds}) {
           $r->print("            $r->print("
     <label><input type=\"radio\" name=\"autoadds\" value=\"1\" checked=\"true\" />&nbsp;Enable&nbsp;&nbsp;&nbsp;</label>      <label><input type=\"radio\" name=\"autoadds\" value=\"1\" checked=\"checked\" />&nbsp;Enable&nbsp;&nbsp;&nbsp;</label>
     <label><input type=\"radio\" name=\"autoadds\" value=\"0\" />&nbsp;Disable</label>      <label><input type=\"radio\" name=\"autoadds\" value=\"0\" />&nbsp;Disable</label>
          ");           ");
       } else {        } else {
           $r->print("            $r->print("
                             <label><input type=\"radio\" name=\"autoadds\" value=\"1\" />&nbsp;Enable&nbsp;&nbsp;&nbsp;</label>                              <label><input type=\"radio\" name=\"autoadds\" value=\"1\" />&nbsp;Enable&nbsp;&nbsp;&nbsp;</label>
                             <label><input type=\"radio\" name=\"autoadds\" value=\"0\" checked=\"true\" />&nbsp;Disable</label>                              <label><input type=\"radio\" name=\"autoadds\" value=\"0\" checked=\"checked\" />&nbsp;Disable</label>
          ");           ");
       }        }
       $r->print("        $r->print("
Line 385  ENDTWO Line 387  ENDTWO
         Removals based on classlist changes:&nbsp;&nbsp;");          Removals based on classlist changes:&nbsp;&nbsp;");
       if ($enrollvar{autodrops}) {        if ($enrollvar{autodrops}) {
           $r->print("            $r->print("
                 <label><input type=\"radio\" name=\"autodrops\" value=\"1\" checked=\"true\" />&nbsp;Enable&nbsp;&nbsp;&nbsp;</label>                  <label><input type=\"radio\" name=\"autodrops\" value=\"1\" checked=\"checked\" />&nbsp;Enable&nbsp;&nbsp;&nbsp;</label>
                 <label><input type=\"radio\" name=\"autodrops\" value=\"0\" />&nbsp;Disable</label>");                  <label><input type=\"radio\" name=\"autodrops\" value=\"0\" />&nbsp;Disable</label>");
       } else {        } else {
           $r->print("            $r->print("
                 <label><input type=\"radio\" name=\"autodrops\" value=\"1\" />&nbsp;Enable&nbsp;&nbsp;&nbsp;</label>                  <label><input type=\"radio\" name=\"autodrops\" value=\"1\" />&nbsp;Enable&nbsp;&nbsp;&nbsp;</label>
                 <label><input type=\"radio\" name=\"autodrops\" value=\"0\" checked=\"true\" />&nbsp;Disable</label>");                  <label><input type=\"radio\" name=\"autodrops\" value=\"0\" checked=\"checked\" />&nbsp;Disable</label>");
       }        }
       $r->print("        $r->print("
               </td>                </td>
Line 545  ENDTWO Line 547  ENDTWO
       ");        ");
       if ($notifycount) {        if ($notifycount) {
           $r->print("            $r->print("
                         <label><input type=\"radio\" name=\"notify\" value=\"1\" checked=\"true\" />&nbsp;Yes&nbsp;&nbsp;&nbsp;</label>                          <label><input type=\"radio\" name=\"notify\" value=\"1\" checked=\"checked\" />&nbsp;Yes&nbsp;&nbsp;&nbsp;</label>
                         <label><input type=\"radio\" name=\"notify\" value=\"0\" />&nbsp;No</label>                          <label><input type=\"radio\" name=\"notify\" value=\"0\" />&nbsp;No</label>
           ");            ");
       } else {        } else {
           $r->print("            $r->print("
                         <label><input type=\"radio\" name=\"notify\" value=\"1\" />&nbsp;Yes&nbsp;&nbsp;&nbsp;</label>                          <label><input type=\"radio\" name=\"notify\" value=\"1\" />&nbsp;Yes&nbsp;&nbsp;&nbsp;</label>
                         <label><input type=\"radio\" name=\"notify\" value=\"0\" checked=\"true\" />&nbsp;No</label>                          <label><input type=\"radio\" name=\"notify\" value=\"0\" checked=\"checked\" />&nbsp;No</label>
           ");            ");
       }        }
       $r->print("        $r->print("
Line 732  ENDTWO Line 734  ENDTWO
               my $colflag = $i%2;                my $colflag = $i%2;
               $r->print(&Apache::loncommon::start_data_table_row());                $r->print(&Apache::loncommon::start_data_table_row());
               $r->print("                $r->print("
                  <td><input type=\"checkbox\" name=\"cross_$i\" checked=\"true\" /></td>                   <td><input type=\"checkbox\" name=\"cross_$i\" checked=\"checked\" /></td>
                  <td>$xl</td>                   <td>$xl</td>
                  <td><input type =\"text\" size=\"10\" name=\"lcsec_$i\" value=\"$lc_sec\" /></td>                   <td><input type =\"text\" size=\"10\" name=\"lcsec_$i\" value=\"$lc_sec\" /></td>
               ");                ");
Line 823  ENDTWO Line 825  ENDTWO
                   $r->print("Enrollment inactive");                    $r->print("Enrollment inactive");
               }                }
               if ($shrflag) {                if ($shrflag) {
                   $r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"$sec_id{$sections[$i]}\"></td><td><input type=\"checkbox\" name=\"sec_$i\" checked=\"true\" /></td>");                     $r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"$sec_id{$sections[$i]}\" /></td><td><input type=\"checkbox\" name=\"sec_$i\" checked=\"checked\" /></td>"); 
               } else {                } else {
                   $r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"\" /></td><td><input type=\"checkbox\" name=\"sec_$i\" /></td>");                    $r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"\" /></td><td><input type=\"checkbox\" name=\"sec_$i\" /></td>");
               }                }
Line 872  ENDTWO Line 874  ENDTWO
                   my $colflag = $j%2;                    my $colflag = $j%2;
                   $r->print(&Apache::loncommon::start_data_table_row());                    $r->print(&Apache::loncommon::start_data_table_row());
                   $r->print("                    $r->print("
                  <td><input type=\"checkbox\" name=\"sec_$j\" checked=\"true\" /></td>                   <td><input type=\"checkbox\" name=\"sec_$j\" checked=\"checked\" /></td>
                  <td>$currsections[$j]</td>                   <td>$currsections[$j]</td>
                  <td><input type=\"text\" name=\"lcsec_$j\" size=\"10\" value=\"$sec_id{$currsections[$j]}\" /></td>                   <td><input type=\"text\" name=\"lcsec_$j\" size=\"10\" value=\"$sec_id{$currsections[$j]}\" /></td>
                   ");                    ");
Line 929  ENDTWO Line 931  ENDTWO
       ");        ");
       if ($enrollvar{showphoto}) {        if ($enrollvar{showphoto}) {
           $r->print("            $r->print("
                         <label><input type=\"radio\" name=\"showphotos\" value=\"1\" checked=\"true\" />&nbsp;Yes&nbsp;&nbsp;&nbsp;</label>                          <label><input type=\"radio\" name=\"showphotos\" value=\"1\" checked=\"checked\" />&nbsp;Yes&nbsp;&nbsp;&nbsp;</label>
                         <label><input type=\"radio\" name=\"showphotos\" value=\"0\" />&nbsp;No</label>                          <label><input type=\"radio\" name=\"showphotos\" value=\"0\" />&nbsp;No</label>
           ");            ");
       } else {        } else {
           $r->print("            $r->print("
                         <label><input type=\"radio\" name=\"showphotos\" value=\"1\" />&nbsp;Yes&nbsp;&nbsp;&nbsp;</label>                          <label><input type=\"radio\" name=\"showphotos\" value=\"1\" />&nbsp;Yes&nbsp;&nbsp;&nbsp;</label>
                         <label><input type=\"radio\" name=\"showphotos\" value=\"0\" checked=\"true\" />&nbsp;No</label>                          <label><input type=\"radio\" name=\"showphotos\" value=\"0\" checked=\"checked\" />&nbsp;No</label>
           ");            ");
       }        }
       $r->print('        $r->print('
Line 954  ENDTWO Line 956  ENDTWO
                       $r->print('                        $r->print('
                     <tr>                      <tr>
                      <td>'.                       <td>'.
 &mt('Previously the owner of this course agreed to the conditions of use of digital student photos required by [_1].', $institution).'<br />'.&mt('As a result [_1]s can choose to automatically import student photos into this course.',&Apache::lonnet::plaintext('cc')).'<br /><nobr><label>'.&mt('[_1] owner acceptance of these conditions of use?','<b>Cancel</b>').'&nbsp;<input type="checkbox" name="cancel_agreement" value="1" /></label></nobr>  &mt('Previously the owner of this course agreed to the conditions of use of digital student photos required by [_1].', $institution).'<br />'.&mt('As a result [_1]s can choose to automatically import student photos into this course.',&Apache::lonnet::plaintext('cc')).'<br /><span class="LC_nobreak"><label>'.&mt('[_1] owner acceptance of these conditions of use?','<b>Cancel</b>').'&nbsp;<input type="checkbox" name="cancel_agreement" value="1" /></label></span>
                      </td>                       </td>
                     </tr>                      </tr>
                       ');                        ');
Line 1000  ENDTWO Line 1002  ENDTWO
               }                }
               $r->print('                $r->print('
                     <tr>                      <tr>
                      <td>'.                       <td>'
 &mt('The policies of your institution ([_1]) require that the course owner ([_2]) must indicate acceptance of the conditions of use of digital photos of registered students, before they may be made available for use in a course.',$institution,$ownername).'<br /><br />'.&mt('Please direct the course owner [_1] to visit the "Student photos" page in the Automated Student Enrollment Manager to indicate acceptance of these conditions of use.',$emailstr).'<br /><br /><input type="button" name="mainmenu" value="Go back" onclick="javascript:history.go(-1);" />                        .&mt('The policies of your institution ([_1]) require that the course owner ([_2]) must indicate acceptance of the conditions of use of digital photos of registered students, before they may be made available for use in a course.',$institution,$ownername)
                         .'<br /><br />'
                         .&mt('Please direct the course owner [_1] to visit the "Student photos" page in the Automated Enrollment Manager to indicate acceptance of these conditions of use.',$emailstr)
                         .'<br /><br /><input type="button" name="mainmenu" value="Go back" onclick="javascript:history.go(-1);" />
                     </td>                      </td>
                    </tr>                     </tr>
                   </form>                    </form>
Line 1089  onclick="javascript:document.photoupdate Line 1094  onclick="javascript:document.photoupdate
 <input type ="hidden" name="state" value="process" />  <input type ="hidden" name="state" value="process" />
 </form>');  </form>');
           } else {            } else {
               $r->print(&mt('Update of photos via the Automated Student Enrollment Manager is unavailable in this domain.').'<br /><br /><input type="button" name=mainmenu" value="Go back" onclick="javascript:history.go(-1);" />');                $r->print(&mt('Update of photos via the Automated Enrollment Manager is unavailable in this domain.')
                          .'<br /><br /><input type="button" name="mainmenu" value="'.&mt('Go back').'" onclick="javascript:history.go(-1);" />');
           }            }
       } else {        } else {
           $r->print('Update of photos is unavailable, as import of student photos is currently disabled.<br />Enable this first via: <a href="/adm/populate?action=photos">'.$$tasktitleref{'photos'}.'</a>');            $r->print('Update of photos is unavailable, as import of student photos is currently disabled.<br />Enable this first via: <a href="/adm/populate?action=photos">'.$$tasktitleref{'photos'}.'</a>');
Line 2374  sub print_photo_agreement { Line 2380  sub print_photo_agreement {
     my $institution = &Apache::lonnet::domain($dom,'description');      my $institution = &Apache::lonnet::domain($dom,'description');
     if (&user_is_courseowner($courseowner)) {      if (&user_is_courseowner($courseowner)) {
         $response = '          $response = '
 <script type="text/javascript">  <script type="text/javascript" language="JavaScript">
 function agreement_result(caller) {  function agreement_result(caller) {
     document.permission.photopermission.value = caller;      document.permission.photopermission.value = caller;
     if (caller == 0) {      if (caller == 0) {
Line 2419  function agreement_result(caller) { Line 2425  function agreement_result(caller) {
         if ($owneremail) {          if ($owneremail) {
             $emailstr = "(e-mail: $owneremail)";              $emailstr = "(e-mail: $owneremail)";
         }          }
         $response = &mt('The policies of your institution [_1] require that the course owner [_2] must indicate acceptance of the conditions of use of digital photos of registered students, before they may be made available for use in a course.',$institution,$ownername).'<br /><br />'.&mt('Please direct the course owner [_1] to visit the "Student photos" page in the Automated Student Enrollment Manager to indicate acceptance of these conditions of use',$emailstr);          $response = &mt('The policies of your institution [_1] require that the course owner [_2] must indicate acceptance of the conditions of use of digital photos of registered students, before they may be made available for use in a course.',$institution,$ownername)
                      .'<br /><br />'
                      .&mt('Please direct the course owner [_1] to visit the "Student photos" page in the Automated Enrollment Manager to indicate acceptance of these conditions of use.',$emailstr);
     }      }
     &print_reply($r,$response,$$tasktitleref{$action});      &print_reply($r,$response,$$tasktitleref{$action});
 }  }
Line 2485  onclick="javascript:document.photoupdate Line 2493  onclick="javascript:document.photoupdate
         }          }
     }      }
     if (keys(%newenv) > 0) {      if (keys(%newenv) > 0) {
         &Apache::lonnet::appenv(%newenv);          &Apache::lonnet::appenv(\%newenv);
     }      }
     &print_reply($r,$response,$$tasktitleref{$action});      &print_reply($r,$response,$$tasktitleref{$action});
     return;      return;
Line 2505  sub print_photoupdate_response { Line 2513  sub print_photoupdate_response {
     my %LC_code;      my %LC_code;
     my %affiliates;      my %affiliates;
     my $outcome;      my $outcome;
     &get_institutional_codes(\%settings,,\@allcourses,\%LC_code);      &Apache::loncommon::get_institutional_codes(\%settings,\@allcourses,\%LC_code);
     if (@allcourses > 0) {      if (@allcourses > 0) {
         @{$affiliates{$crs}} = @allcourses;          @{$affiliates{$crs}} = @allcourses;
         $outcome = &Apache::lonnet::auto_photoupdate(\%affiliates,$dom,$crs,\%changes);          $outcome = &Apache::lonnet::auto_photoupdate(\%affiliates,$dom,$crs,\%changes);
Line 2518  sub print_photoupdate_response { Line 2526  sub print_photoupdate_response {
         }          }
         if ($outcome eq 'ok') {          if ($outcome eq 'ok') {
             if (keys(%changes) > 0) {              if (keys(%changes) > 0) {
                 $response = &mt('Update of photos for registered students resulted in the following ').': <br /><script type="text/javascript">                  $response = &mt('Update of photos for registered students resulted in the following ').': <br />'
                              .'<script type="text/javascript" language="JavaScript">
 function photowindow(photolink) {  function photowindow(photolink) {
     var title = "Photo_Viewer";      var title = "Photo_Viewer";
     var options = "scrollbars=1,resizable=1,menubar=0";      var options = "scrollbars=1,resizable=1,menubar=0";
Line 2609  sub print_update_result () { Line 2618  sub print_update_result () {
     } elsif ($coursecode eq '') {      } elsif ($coursecode eq '') {
  $response = "There was a problem retrieving the course code for this LON-CAPA course.  An update of the class roster has not been carried out, and enrollment remains unchanged";   $response = "There was a problem retrieving the course code for this LON-CAPA course.  An update of the class roster has not been carried out, and enrollment remains unchanged";
     } else {      } else {
         &get_institutional_codes(\%settings,\@allcourses,\%LC_code);          &Apache::loncommon::get_institutional_codes(\%settings,\@allcourses,\%LC_code);
  if (@allcourses > 0) {   if (@allcourses > 0) {
     @{$affiliates{$crs}} = @allcourses;      @{$affiliates{$crs}} = @allcourses;
     my $outcome = &Apache::lonnet::fetch_enrollment_query('updatenow',\%affiliates,\%reply,$dom,$crs);      my $outcome = &Apache::lonnet::fetch_enrollment_query('updatenow',\%affiliates,\%reply,$dom,$crs);
Line 2643  sub print_update_result () { Line 2652  sub print_update_result () {
     return;      return;
 }  }
   
 sub get_institutional_codes {  
     my ($settings,$allcourses,$LC_code) = @_;  
 # Get complete list of course sections to update  
     my @currsections = ();  
     my @currxlists = ();  
     my $coursecode = $$settings{'internal.coursecode'};  
       
     if ($$settings{'internal.sectionnums'} ne '') {  
         @currsections = split(/,/,$$settings{'internal.sectionnums'});  
     }  
       
     if ($$settings{'internal.crosslistings'} ne '') {  
         @currxlists = split(/,/,$$settings{'internal.crosslistings'});  
     }  
       
     if (@currxlists > 0) {  
         foreach (@currxlists) {  
             if (m/^([^:]+):(\w*)$/) {  
                 unless (grep/^$1$/,@{$allcourses}) {  
                     push @{$allcourses},$1;  
                     $$LC_code{$1} = $2;  
                 }  
             }  
         }  
     }  
                                                                                          
     if (@currsections > 0) {  
         foreach (@currsections) {  
             if (m/^(\w+):(\w*)$/) {  
                 my $sec = $coursecode.$1;  
                 my $lc_sec = $2;  
                 unless (grep/^$sec$/,@{$allcourses}) {  
                     push @{$allcourses},$sec;  
                     $$LC_code{$sec} = $lc_sec;  
                 }  
             }  
         }  
     }  
     return;   
 }  
   
   
 sub print_viewclass_response {  sub print_viewclass_response {
     my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;      my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;
     my $response;      my $response;
Line 2739  sub print_viewclass_response { Line 2706  sub print_viewclass_response {
             } elsif ($newtype eq '') {              } elsif ($newtype eq '') {
                 $newlock = '1';                  $newlock = '1';
             }              }
             my $modreply = &Apache::lonnet::modify_student_enrollment($udom,$uname,$uid,'','','','',$section,$end,$start,$newtype,$newlock,$cid);              my $modreply = &Apache::lonnet::modify_student_enrollment($udom,$uname,$uid,'','','','',$section,$end,$start,$newtype,$newlock,$cid,'','chgtype');
             if ($modreply eq 'ok') {              if ($modreply eq 'ok') {
                 $chgok ++;                  $chgok ++;
                 $chg{$student} = "Changed to $change";                  $chg{$student} = "Changed to $change";
Line 2771  sub print_viewclass_response { Line 2738  sub print_viewclass_response {
                 $newlockname = &mt('unlocked');                  $newlockname = &mt('unlocked');
                 $oldlockname = &mt('locked');                   $oldlockname = &mt('locked'); 
             }              }
             my $lockreply = &Apache::lonnet::modify_student_enrollment($udom,$uname,$uid,'','','','',$section,$end,$start,$type,$newlock,$cid);              my $lockreply = &Apache::lonnet::modify_student_enrollment($udom,$uname,$uid,'','','','',$section,$end,$start,$type,$newlock,$cid,'','chgtype');
             if ($lockreply eq 'ok') {              if ($lockreply eq 'ok') {
                 $lockok ++;                  $lockok ++;
                 $lockchg{$student} = 'Changed to '.$newlockname;                  $lockchg{$student} = 'Changed to '.$newlockname;
Line 2969  sub get_dates_from_form { Line 2936  sub get_dates_from_form {
 sub date_setting_table {  sub date_setting_table {
     my ($starttime,$endtime,$action) = @_;      my ($starttime,$endtime,$action) = @_;
     my ($startform,$endform) = &setup_date_selectors($starttime,$endtime,$action);      my ($startform,$endform) = &setup_date_selectors($starttime,$endtime,$action);
     my $perpetual = '<nobr><label><input type="checkbox" name="no_end_date"';      my $perpetual = '<span class="LC_nobreak"><label><input type="checkbox" name="no_end_date"';
     if (($action eq 'setdates' && defined($endtime) && $endtime == 0) || (($action eq 'setaccess' || $action eq 'updatenow') && ($endtime eq '' || $endtime == 0)) ) {      if (($action eq 'setdates' && defined($endtime) && $endtime == 0) || (($action eq 'setaccess' || $action eq 'updatenow') && ($endtime eq '' || $endtime == 0)) ) {
         $perpetual .= ' checked';          $perpetual .= ' checked';
     }      }
     $perpetual.= ' />'.' no ending date</label></nobr>';      $perpetual.= ' />'.' no ending date</label></span>';
     my $start_table = '';      my $start_table = '';
     $start_table .= "<table>\n";      $start_table .= "<table>\n";
     $start_table .= '<tr><td align="right">Starting Date</td>'.      $start_table .= '<tr><td align="right">Starting Date</td>'.

Removed from v.1.52  
changed lines
  Added in v.1.61


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