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

version 1.7, 2003/12/15 07:55:59 version 1.8, 2003/12/29 16:34:39
Line 645  ENDTWO Line 645  ENDTWO
           }            }
       }        }
       if (@sections > 0) {        if (@sections > 0) {
           if (@sections > 1) {            my $secshow = @sections;
               my $secshow = @sections;            $r->print("
               $r->print("  
             <form name=\"enter\" method=\"post\"><br/>              <form name=\"enter\" method=\"post\"><br/>
             <table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"3\">              <table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"3\">
              <tr>               <tr>
Line 669  your changes.</td> Line 668  your changes.</td>
               <td><b>LON-CAPA section/group ID</b></td>                <td><b>LON-CAPA section/group ID</b></td>
               <td><b>Enrollment in this course?</b></td>                <td><b>Enrollment in this course?</b></td>
              </tr>               </tr>
               ");            ");
               for (my $i=0; $i<@sections; $i++) {            for (my $i=0; $i<@sections; $i++) {
                   my $colflag = $i%2;                my $colflag = $i%2;
                   my $shrflag = 0;                my $shrflag = 0;
                   $r->print("<tr bgcolor=\"$bgcolors[$colflag]\" align=\"left\">                $r->print("<tr bgcolor=\"$bgcolors[$colflag]\" align=\"left\">
                    <td>$sections[$i]<input type=\"hidden\" name=\"secnum_$i\" value=\"$sections[$i]\" /></td>                     <td>$sections[$i]<input type=\"hidden\" name=\"secnum_$i\" value=\"$sections[$i]\" /></td>
                    <td>                     <td>
                   ");                ");
                   if (grep/^$sections[$i]$/,@currsections) {                if (grep/^$sections[$i]$/,@currsections) {
                       $r->print("Enrollment active");                    $r->print("Enrollment active");
                       $shrflag = 1;                    $shrflag = 1;
                   } else {                } else {
                       $r->print("Enrollment inactive");                    $r->print("Enrollment inactive");
                   }  
                   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></tr>");   
                   } else {  
                       $r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"\"><td><input type=\"checkbox\" name=\"sec_$i\" /></td></tr>");  
                   }  
               }                }
               $r->print("                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></tr>"); 
                 } else {
                     $r->print("</td><td><input type=\"text\" size=\"10\" name=\"loncapasec_$i\" value=\"\"><td><input type=\"checkbox\" name=\"sec_$i\" /></td></tr>");
                 }
             }
             $r->print("
             </table>              </table>
             <br/>              <br/>
             <table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">              <table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">
Line 703  your changes.</td> Line 702  your changes.</td>
             <input type=\"hidden\" name=\"action\" value=\"$action\">              <input type=\"hidden\" name=\"action\" value=\"$action\">
             <input type=\"hidden\" name=\"state\" value=\"process\">              <input type=\"hidden\" name=\"state\" value=\"process\">
             </form>              </form>
               ");            ");
           } else {  
               $r->print("<br/>              
             <table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"3\">  
              <tr>  
               <td align=\"left\">  
                <b>$$tasktitleref{$action}</b><br/>  
               </td>  
              </tr>  
             </table>  
             <table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">  
              <tr>  
               <td>As your institution's course catalog only includes a single section for this course, there are no additional sections that can be set for inclusion in the LON-CAPA roster for the course.</td>  
             </tr>  
             </table>  
               ");  
           }   
       } else {        } else {
           $r->print("            $r->print("
             <form name=\"enter\" method=\"post\"><br/>              <form name=\"enter\" method=\"post\"><br/>
Line 1315  sub print_crosslistings_response () { Line 1298  sub print_crosslistings_response () {
   
 sub print_sections_menu () {  sub print_sections_menu () {
   my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;    my ($r,$realm,$dom,$crs,$action,$tasktitleref) = @_;
   my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode'],$dom,$crs);    my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode','internal.courseowner'],$dom,$crs);
   my @currsections = ();    my @currsections = ();
   my @sections = ();    my @sections = ();
     my @badowner = ();
     my @badsections = ();
   my $seccount = 0;    my $seccount = 0;
   my $removecount = 0;    my $removecount = 0;
   my $addcount = 0;    my $addcount = 0;
   my $secstr = '';    my $secstr = '';
   my $response = '';    my $response = '';
   my $coursecode = $settings{'internal.coursecode'};    my $coursecode = $settings{'internal.coursecode'};
     my $owner = $settings{'internal.courseowner'};
   if ($settings{'internal.sectionnums'} =~ m/,/) {    if ($settings{'internal.sectionnums'} =~ m/,/) {
       @currsections = split/,/,$settings{'internal.sectionnums'};        @currsections = split/,/,$settings{'internal.sectionnums'};
   } elsif ($settings{'internal.sectionnums'} ne '') {    } elsif ($settings{'internal.sectionnums'} ne '') {
Line 1331  sub print_sections_menu () { Line 1317  sub print_sections_menu () {
   }    }
   
   if ( exists($ENV{'form.secshow'}) ) {    if ( exists($ENV{'form.secshow'}) ) {
      for (my $i=0; $i<$ENV{'form.secshow'}; $i++) {        for (my $i=0; $i<$ENV{'form.secshow'}; $i++) {
          my $gp = "loncapasec_".$i;            my $gp = "loncapasec_".$i;
          my $secnum = "secnum_".$i;            my $secnum = "secnum_".$i;
          my $sec = "sec_".$i;            my $sec = "sec_".$i;
          if ( exists( $ENV{"form.$sec"} ) ) {            if ( exists( $ENV{"form.$sec"} ) ) {
             my $secentry;                my $secentry;
             if ( exists( $ENV{"form.$secnum"} ) ) {                 if ( exists( $ENV{"form.$secnum"} ) ) { 
                 $secentry = $ENV{"form.$secnum"}.':';                    $secentry = $ENV{"form.$secnum"}.':';
             }                }
             if ( exists( $ENV{"form.$gp"} ) ) {                if ( exists( $ENV{"form.$gp"} ) ) {
                 $secentry .= $ENV{"form.$gp"};                    $secentry .= $ENV{"form.$gp"};
             }                }
             push @sections, $secentry;                if ( grep/^$ENV{"form.$secnum"}:/,@currsections) {
             $seccount ++;                    push @sections, $secentry;
             unless (grep/^$ENV{"form.$secnum"}:/,@currsections) {                    $seccount ++;
                 $addcount ++;                } else {
             }                    my $newsec = $coursecode.$ENV{"form.$secnum"};
          }                    my $coursecheck = &localenroll::validate_courseID($newsec);
      }                    if ($coursecheck eq 'ok') {
      if (@currsections > 0) {                        my $addcheck = &localenroll::new_course($newsec,$owner);
          for (my $i=0; $i<@currsections; $i++) {                        if ($addcheck eq 'ok') {
              if ($currsections[$i] =~ m/^(\w+:)/ ) {                            push @sections,$ENV{"form.$secnum"}.":".$ENV{"form.$gp"};
                 my $oldsec  = $1;                            $seccount ++;
                 unless (grep/^$oldsec/,@sections) {                            $addcount ++;
                     $removecount ++;                        } else {
                 }                            push @badowner,$ENV{"form.$secnum"}.":".$ENV{"form.$gp"};
              }                        }
          }                    } else {
      }                        push @badsections, $ENV{"form.$secnum"}.":".$ENV{"form.$gp"}.":".$coursecheck;
                     }
                 }
             }
         }
         if (@currsections > 0) {
             for (my $i=0; $i<@currsections; $i++) {
                 if ($currsections[$i] =~ m/^(\w+:)/ ) {
                     my $oldsec  = $1;
                     unless (grep/^$oldsec/,@sections) {
                         $removecount ++;
                     }
                 }
             }
         }
   } elsif (@currsections > 0) {    } elsif (@currsections > 0) {
       for (my $i=0; $i<@currsections; $i++) {        for (my $i=0; $i<@currsections; $i++) {
           my $sec = "sec_".$i;            my $sec = "sec_".$i;
Line 1407  sections which contribute to enrollment Line 1407  sections which contribute to enrollment
       }        }
   }    }
   
     if (@badsections > 0) {
         $response .= "The sections listed below could not be included in the sections for this LON-CAPA course, because they are not valid section numbers according to your institution's official schedule of classes and sections.<br/><ul>\n";
         foreach (@badsections) {
             my ($secnum,$gp,$prob) = split/:/,$_;
             $response .= "<li>$secnum - ID: $gp - Error: $prob</li>\n";
         }
         $response .= "</ul><br/><br/>\n";
     }
   
     if (@badowner > 0) {
         $response .= "The sections listed below could not be included in the sections for this LON-CAPA course, because the owner of this course - $owner - does not have rights to view enrollment in those classes as determined by your instititution's policies on access to official classlists.<br/><ul>\n";
         foreach (@badowner) {
             my ($secnum,$gp) = split/:/,$_;
             $response .= "<li>$secnum - ID: $gp</li>\n";
         }
         $response .= "</ul><br/><br/>\n";
     }
   
   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 1454  sections which contribute to enrollment Line 1472  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) = @_;
   my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode'],$dom,$crs);    my %settings = &Apache::lonnet::get('environment',['internal.sectionnums','internal.coursecode','internal.courseowner'],$dom,$crs);
   my @currsections = ();    my @currsections = ();
   my @sections = ();    my @sections = ();
   my @allsections = ();    my @allsections = ();
     my @badowner = ();
     my @badsections = ();
   my $numsec = 0;    my $numsec = 0;
   my $secstr =  $settings{'internal.sectionnums'};    my $secstr =  $settings{'internal.sectionnums'};
   my $coursecode = $settings{'internal.coursecode'};    my $coursecode = $settings{'internal.coursecode'};
     my $owner = $settings{'internal.courseowner'};
   my $response = '';    my $response = '';
                                                                                                          my $putreply = '';
   if ($secstr =~ m/,/) {    if ($secstr =~ m/,/) {
       @allsections = split/,/,$secstr;        @allsections = split/,/,$secstr;
   } else {    } else {
Line 1472  sub print_sections_response () { Line 1493  sub print_sections_response () {
   if ( exists($ENV{'form.numsec'}) ) {    if ( exists($ENV{'form.numsec'}) ) {
       $numsec = $ENV{'form.numsec'};        $numsec = $ENV{'form.numsec'};
   }    }
                                                                                                        
   if ($numsec > 0) {    if ($numsec > 0) {
       for (my $i=0; $i<$numsec; $i++) {        for (my $i=0; $i<$numsec; $i++) {
           my $sec = "newsec_".$i;            my $sec = "newsec_".$i;
           my $gp = "newsecgp_".$i;            my $gp = "newsecgp_".$i;
           if ( exists($ENV{"form.$sec"}) ) {            if ( exists($ENV{"form.$sec"}) ) {
               push @sections,$ENV{"form.$sec"}.":".$ENV{"form.$gp"};                unless ( (grep/^$ENV{"form.$sec"}:/,@allsections) || (grep/^$ENV{"form.$sec"}:/,@sections) ) {
                     my $newsec = $coursecode.$ENV{"form.$sec"};
                     my $coursecheck = &localenroll::validate_courseID($newsec);
                     if ($coursecheck eq 'ok') {
                         my $addcheck = &localenroll::new_course($newsec,$owner);
                         if ($addcheck eq 'ok') {
                             push @sections,$ENV{"form.$sec"}.":".$ENV{"form.$gp"};
                         } else {
                             push @badowner,$ENV{"form.$sec"}.":".$ENV{"form.$gp"};
                         }
                     } else {
                         push @badsections, $ENV{"form.$sec"}.":".$ENV{"form.$gp"}.":".$coursecheck;
                     }
                 }
           }            }
       }        }
       push @allsections, @sections;        push @allsections, @sections;
   }    }
                                                                                                        
   if (@sections > 0 ) {    if (@sections > 0 ) {
       unless ($secstr eq '') { $secstr .= ","; }         unless ($secstr eq '') { $secstr .= ","; } 
       if (@sections > 1) {        if (@sections > 1) {
Line 1492  sub print_sections_response () { Line 1526  sub print_sections_response () {
           $secstr .= $sections[0];            $secstr .= $sections[0];
       }        }
       my %cenv = ('internal.sectionnums' => $secstr);        my %cenv = ('internal.sectionnums' => $secstr);
       my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs);        $putreply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs);
       if ($reply !~ /^ok$/) {        if ($putreply !~ /^ok$/) {
           $response = "There was a problem processing your requested changes. The automated enrollment settings for this course have been left unchanged.<br/>";            $response = "There was a problem processing your requested changes. The automated enrollment settings for this course have been left unchanged.<br/><br/>";
       } else {  
           $response = "Students enrolling in the sections listed below will be automatically added to the class roster for LON-CAPA course $realm ($coursecode), if you have chosen to enable a nightly automated enrollment update.<br/><ul>\n";  
       }        }
   }    }
                                                                                                        
   foreach (@allsections) {    if ($putreply =~ /^ok/) {
       my ($sec,$gp) = split/:/,$_;        $response = "Students enrolling in the sections listed below will be automatically added to the class roster for LON-CAPA course $realm ($coursecode), if you have chosen to enable a nightly automated enrollment update.<br/><ul>\n";
       $response .= "<li>$sec - ID: $gp</li>\n";        foreach (@allsections) {
             my ($sec,$gp) = split/:/,$_;
             $response .= "<li>$sec - ID: $gp</li>\n";
         }
         $response .= "</ul><br/><br/>\n";
   }    }
   $response .= "</ul><br/>\n";  
                                                                                                          if (@badsections > 0) {
         $response .= "The sections listed below could not be included in the sections for this LON-CAPA course, because they are not valid section numbers according to your institution's official schedule of classes and sections.<br/><ul>\n";
         foreach (@badsections) {
             my ($secnum,$gp,$prob) = split/:/,$_;
             $response .= "<li>$secnum - ID: $gp - Error: $prob</li>\n";
         }
         $response .= "</ul><br/><br/>\n";
     }
   
     if (@badowner > 0) {
         $response .= "The sections listed below could not be included in the sections for this LON-CAPA course, because the owner of this course - $owner - does not have rights to view enrollment in those classes as determined by your instititution's policies on access to official classlists.<br/><ul>\n";
         foreach (@badowner) {
             my ($secnum,$gp) = split/:/,$_;
             $response .= "<li>$secnum - ID: $gp</li>\n";
         }
         $response .= "</ul><br/><br/>\n";
     }
   
   &print_reply($r,$response,$$tasktitleref{$action});    &print_reply($r,$response,$$tasktitleref{$action});
   return;    return;
 }  }
Line 1518  sub print_photos_response () { Line 1571  sub print_photos_response () {
   if ( exists($ENV{'form.showphotos'}) ) {    if ( exists($ENV{'form.showphotos'}) ) {
       $showphotos=$ENV{'form.showphotos'};        $showphotos=$ENV{'form.showphotos'};
   }    }
                                                                                               
   my $response = "";    my $response = "";
   my %cenv = ('internal.showphotos' => $showphotos);    my %cenv = ('internal.showphotos' => $showphotos);
   my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs);    my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs);

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


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