Diff for /loncom/interface/lonmanagekeys.pm between versions 1.10 and 1.11

version 1.10, 2003/05/02 16:58:56 version 1.11, 2003/05/02 19:00:29
Line 54  ENDHEAD Line 54  ENDHEAD
   
 # =================================================== Show student list to drop  # =================================================== Show student list to drop
 sub show_key_list {  sub show_key_list {
     my ($r,$comment,$newonly,$checkonly,%cenv)=@_;      my ($r,$csvlist,$comment,$newonly,$checkonly,%cenv)=@_;
     $comment=~s/\W/\./g;      $comment=~s/\W/\./g;
     my %accesskeys=&Apache::lonnet::dump      my %accesskeys=&Apache::lonnet::dump
  ('accesskeys',$cenv{'domain'},$cenv{'num'});   ('accesskeys',$cenv{'domain'},$cenv{'num'});
     $r->print(<<ENDTABLEHEADER);      unless ($csvlist) {
    $r->print(<<ENDTABLEHEADER);
 <script>  <script>
     function copyallcom(tf) {      function copyallcom(tf) {
  for (i=0; i<tf.elements.length; i++) {   for (i=0; i<tf.elements.length; i++) {
Line 77  sub show_key_list { Line 78  sub show_key_list {
 <input type="button" value="Copy to All" onClick="copyallcom(this.form);" />  <input type="button" value="Copy to All" onClick="copyallcom(this.form);" />
 </th></tr>  </th></tr>
 ENDTABLEHEADER  ENDTABLEHEADER
       }
     foreach (keys %accesskeys) {      foreach (keys %accesskeys) {
         if ($_=~/^error\:/) {          if ($_=~/^error\:/) {
     $r->print('<tr><td>No keys have been generated yet.</td></tr>');      $r->print('<tr><td>No keys have been generated yet.</td></tr>');
Line 87  ENDTABLEHEADER Line 89  ENDTABLEHEADER
             } else {              } else {
  if ($newonly) { next; }   if ($newonly) { next; }
             }              }
    $r->print("\n<tr><td><tt>".$_.'</tt></td><td>'.($checkout?              unless ($csvlist) {
    $r->print("\n<tr><td><tt>".$_.'</tt></td><td>'.($checkout?
                      $checkout:'-').'</td><td>'.                       $checkout:'-').'</td><td>'.
                      join('<br />',split(/\s*\;\s*/,$com)).                       join('<br />',split(/\s*\;\s*/,$com)).
      '</td><td><input type="text" size="40" name="com_'.$_.       '</td><td><input type="text" size="40" name="com_'.$_.
      '" value="" /></td></tr>');       '" value="" /></td></tr>');
       } else {
    my @line = ();
    push @line,&Apache::loncommon::csv_translate($_);
    push @line,&Apache::loncommon::csv_translate($checkout);
    foreach (split(/\s*\;\s*/,$com)) {
       push @line,&Apache::loncommon::csv_translate($_);
    }
    my $tmp = $";
    $" = '","';
    $r->print("\"@line\"\n");
    $" = $tmp;
       }
        }         }
     }      }
     $r->print('</table>');      unless ($csvlist) {
     $r->print('<input type="submit" name="addcom" value="Add Above Comments to Keys" /><hr />');   $r->print('</table>');
     return '';   $r->print('<input type="submit" name="addcom" value="Add Above Comments to Keys" /><hr />');
 #  
 # Junk below  
 #  
     my ($mode,$linkto,$action,$statusmode,$classlist,$keylist);  
 #  
 # Just junk so that this compiles  
 #  
     my ($username,$domain,$id,$name,$section,$status,@Sorted_Students);  
 #  
 #   
 #   
     my $cid=$ENV{'form.cid'};  
     #  
     # Variables for excel output  
     my ($excel_workbook, $excel_sheet, $excel_filename,$row);  
     #  
   
     # Print out header   
     if ($mode eq 'view') {  
     } elsif ($mode eq 'excel') {  
         # Create the excel spreadsheet  
         $excel_filename = '/prtspool/'.  
             $ENV{'user.name'}.'_'.$ENV{'user.domain'}.'_'.  
                 time.'_'.rand(1000000000).'.xls';  
         $excel_workbook = Spreadsheet::WriteExcel->new('/home/httpd'.  
                                                        $excel_filename);  
         $excel_workbook->set_tempdir('/home/httpd/perl/tmp');  
         $excel_sheet = $excel_workbook->addworksheet('classlist');  
         #  
         my $description = 'Classlist for '.  
             $ENV{'course.'.$ENV{'request.course.id'}.'.description'};  
         $excel_sheet->write($row++,0,$description);  
         #  
         $excel_sheet->write($row++,0,["username","domain","ID",  
                                       "student name","section","status"]);  
     }  
     foreach my $student (@Sorted_Students) {  
         if ($mode eq 'view') {  
         } elsif ($mode eq 'csv') {  
             # no need to bother with $linkto  
             my @line = ();  
             foreach ($username,$domain,$id,$name,$section) {  
                 push @line,&Apache::loncommon::csv_translate($_);  
             }  
             if ($statusmode eq 'Any') {  
                 push @line,&Apache::loncommon::csv_translate($status);  
             }  
             my $tmp = $";  
             $" = '","';  
             $r->print("\"@line\"\n");  
             $" = $tmp;  
         } elsif ($mode eq 'excel') {  
             $excel_sheet->write($row++,0,[$username,$domain,$id,  
                                           $name,$section,$status]);  
         }  
     }  
     if ($mode eq 'view') {  
     } elsif ($mode eq 'excel') {  
         $excel_workbook->close();  
         $r->print('<p><a href="'.$excel_filename.'">'.  
                'Your Excel spreadsheet</a> is ready for download.</p>'."\n");  
     }      }
       return '';
 }  }
   
   
Line 236  sub handler { Line 191  sub handler {
     }      }
     if ($ENV{'form.cid'}) {      if ($ENV{'form.cid'}) {
         my %cenv=&Apache::lonnet::coursedescription($ENV{'form.cid'});          my %cenv=&Apache::lonnet::coursedescription($ENV{'form.cid'});
  if (exists($ENV{'form.state'}) && ($ENV{'form.state'} eq 'csv')) {   if ($ENV{'form.listkeyscsv'}) {
 #  #
 # CSV Output  # CSV Output
 #  #
     $r->content_type('text/csv');      $r->content_type('text/csv');
               $r->send_http_header;
 #  #
 # Do CSV  # Do CSV
 #  #
       &show_key_list($r,1,$ENV{'form.listcom'},
                             $ENV{'form.newonly'},$ENV{'form.checkonly'},%cenv);
   
  } else {   } else {
 #  #
 # Normal web stuff  # Normal web stuff
Line 266  sub handler { Line 225  sub handler {
                 $r->print($msg.'<br />');                  $r->print($msg.'<br />');
     }      }
             if ($ENV{'form.listkeys'}) {              if ($ENV{'form.listkeys'}) {
  &show_key_list($r,$ENV{'form.listcom'},   &show_key_list($r,0,$ENV{'form.listcom'},
                           $ENV{'form.newonly'},$ENV{'form.checkonly'},%cenv);                            $ENV{'form.newonly'},$ENV{'form.checkonly'},%cenv);
             }              }
             if ($ENV{'form.addcom'}) {              if ($ENV{'form.addcom'}) {
Line 285  Number of keys to be generated: <input t Line 244  Number of keys to be generated: <input t
 Comments/Remarks/Notes: <input type="text" name="comments" size="30" /><br />  Comments/Remarks/Notes: <input type="text" name="comments" size="30" /><br />
 <input type="submit" name="genkeys" value="Generate Keys" />  <input type="submit" name="genkeys" value="Generate Keys" />
 <hr /><h3>List Keys</h3>  <hr /><h3>List Keys</h3>
 Comments/Remarks/Notes/User/Batch Number:  Comments/Remarks/Notes/User/Batch Number Filter:
 <input type="text" name="listcom" size="30" value="$batchnumber" /><br />  <input type="text" name="listcom" size="30" value="$batchnumber" /><br />
 <input type="checkbox" name="newonly" /> Unused keys only<br />  <input type="checkbox" name="newonly" /> Unused keys only<br />
 <input type="checkbox" name="checkonly" /> Used keys only<br />  <input type="checkbox" name="checkonly" /> Used keys only<br />
 <input type="submit" name="listkeys" value="List Keys" />  <input type="submit" name="listkeys" value="List Keys/Add Comments" />
   <input type="submit" name="listkeyscsv" value="CSV List of Keys" />
 ENDKEYMENU  ENDKEYMENU
     $r->print('</form></body></html>');      $r->print('</form></body></html>');
  }   }

Removed from v.1.10  
changed lines
  Added in v.1.11


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