Diff for /loncom/interface/spreadsheet/assesscalc.pm between versions 1.7 and 1.11

version 1.7, 2003/05/23 14:52:51 version 1.11, 2003/05/29 13:39:38
Line 123  sub clear_package { Line 123  sub clear_package {
     undef(%courseopt);      undef(%courseopt);
 }  }
   
   sub initialize {
       &clear_package();
   }
   
 ########################################################  ########################################################
 ########################################################  ########################################################
   
Line 313  sub parmval { Line 317  sub parmval {
     return '';      return '';
 }  }
   
   sub get_html_title {
       my $self = shift;
       my ($assess_title,$name,$time) = $self->get_title();
       my $title = '<h1>'.$assess_title.'</h1>'.
           '<h2>'.$name.', '.
           &Apache::loncommon::aboutmewrapper
                            ($self->{'name'}.'@'.$self->{'domain'},
                             $self->{'name'},$self->{'domain'});
       $title .= '<h3>'.$time.'</h3>';
       return $title;
   }
   
 sub get_title {  sub get_title {
     my $self = shift;      my $self = shift;
     my $title;      my @title = ();
     if (($self->{'usymb'} eq '_feedback') ||      if (($self->{'usymb'} eq '_feedback') ||
         ($self->{'usymb'} eq '_evaluation') ||          ($self->{'usymb'} eq '_evaluation') ||
         ($self->{'usymb'} eq '_discussion') ||          ($self->{'usymb'} eq '_discussion') ||
         ($self->{'usymb'} eq '_tutoring')) {          ($self->{'usymb'} eq '_tutoring')) {
         $title = $self->{'usymb'};          my $assess_title = ucfirst($self->{'usymb'});
         $title =~ s/^_//;          $assess_title =~ s/^_//;
         $title = '<h1>'.ucfirst($title)."</h1>\n";          push(@title,$assess_title);
     } else {      } else {
         $title = '<h1>'.&Apache::lonnet::gettitle($self->{'symb'})."</h1>\n";          push(@title,&Apache::lonnet::gettitle($self->{'symb'}));
     }      }
     # Look up the users identifying information      # Look up the users identifying information
     # Get the users information      # Get the users information
Line 333  sub get_title { Line 349  sub get_title {
     my $name =       my $name = 
         join(' ',@userenv{'firstname','middlename','lastname','generation'});          join(' ',@userenv{'firstname','middlename','lastname','generation'});
     $name =~ s/\s+$//;      $name =~ s/\s+$//;
     $title .= '<h2>'.$name.', '.      push (@title,$name);
         &Apache::loncommon::aboutmewrapper($self->{'name'}.'@'.$self->{'domain'},      push (@title,scalar(localtime(time)));
                                            $self->{'name'},$self->{'domain'}).      return @title;
                                            "</h2>\n";  
     $title .= '<h3>'.localtime(time).'</h3>';  
     #  
     return $title;  
 }  }
   
 sub parent_link {  sub parent_link {
Line 405  END Line 417  END
     }      }
     #      #
     my $num_output = 0;      my $num_output = 0;
     foreach my $rownum ($self->rows()) {      foreach my $rownum (sort {$a <=> $b} ($self->rows())) {
  if ($num_output++ % 50 == 0) {   if ($num_output++ % 50 == 0) {
     $r->print("</table>\n".$tableheader);      $r->print("</table>\n".$tableheader);
  }   }
  $r->print('<tr><td>'.$rownum.'</td>'.   $r->print('<tr><td>'.$rownum.'</td>'.
                   $self->assess_html_row($num_uneditable,$rownum)."</tr>\n");                    $self->assess_html_row($rownum)."</tr>\n");
     }      }
     $r->print("</table>\n");      $r->print("</table>\n");
     return;      return;
Line 418  END Line 430  END
   
 sub assess_html_row {  sub assess_html_row {
     my $self = shift();      my $self = shift();
     my ($num_uneditable,$row) = @_;      my ($row) = @_;
     my $requester_is_student = ($ENV{'request.role'} =~ /^st\./);  
     my $parameter_name = $self->{'formulas'}->{'A'.$row};      my $parameter_name = $self->{'formulas'}->{'A'.$row};
     my @rowdata = $self->get_row($row);      my @rowdata = $self->get_row($row);
     my $num_cols_output = 0;      my $num_cols_output = 0;
Line 432  sub assess_html_row { Line 443  sub assess_html_row {
         $row_html .= '<td>'.$parameter_name.'</td>';          $row_html .= '<td>'.$parameter_name.'</td>';
     }      }
     foreach my $cell (@rowdata) {      foreach my $cell (@rowdata) {
  if ($requester_is_student ||           if ($num_cols_output < 1) {
     $num_cols_output++ < $num_uneditable) {              $row_html .= '<td bgcolor="#FFDDDD">';
     $row_html .= '<td bgcolor="#FFDDDD">';              $row_html .= &Apache::Spreadsheet::html_uneditable_cell($cell,
     $row_html .= &Apache::Spreadsheet::html_uneditable_cell($cell,'#FFDDDD');                                                                      '#FFDDDD');
  } else {          } else {
     $row_html .= '<td bgcolor="#EOFFDD">';              $row_html .= '<td bgcolor="#EOFFDD">';
     $row_html .= &Apache::Spreadsheet::html_editable_cell($cell,'#E0FFDD');              $row_html .= &Apache::Spreadsheet::html_editable_cell($cell,
  }                                                                    '#E0FFDD',1);
           }
  $row_html .= '</td>';   $row_html .= '</td>';
           $num_cols_output++;
     }      }
     return $row_html;      return $row_html;
 }  }
   
 sub outsheet_csv {  sub csv_rows {
       # writes the meat of the spreadsheet to an excel worksheet.  Called
       # by Spreadsheet::outsheet_excel;
     my $self = shift;      my $self = shift;
     my ($r)=@_;      my ($filehandle) = @_;
 }      #
       # Write a header row
 sub outsheet_excel {      $self->csv_output_row($filehandle,undef,
     my $self = shift;                            ('Parameter','Description','Value'));
     my ($r)=@_;      #
       # Write each row
       foreach my $rownum (sort {$a <=> $b} ($self->rows())) {
           my $parameter_name = $self->{'formulas'}->{'A'.$rownum};
           my $description = '';
           if (exists($nice_parameter_name{$parameter_name})) {
               $description = $nice_parameter_name{$parameter_name};
           }
           $self->csv_output_row($filehandle,$rownum,
                                 $parameter_name,$description);
       }
       return;
 }  }
   
 sub display {  sub excel_rows {
       # writes the meat of the spreadsheet to an excel worksheet.  Called
       # by Spreadsheet::outsheet_excel;
     my $self = shift;      my $self = shift;
     my ($r) = @_;      my ($worksheet,$cols_output,$rows_output) = @_;
     $self->compute();      #
     $self->outsheet_html($r);      # Write a header row
       $cols_output = 0;
       foreach my $value ('Parameter','Description','Value') {
           $worksheet->write($rows_output,$cols_output++,$value);
       }
       $rows_output++;    
       #
       # Write each row
       foreach my $rownum (sort {$a <=> $b} ($self->rows())) {
           my $parameter_name = $self->{'formulas'}->{'A'.$rownum};
           my $description = '';
           if (exists($nice_parameter_name{$parameter_name})) {
               $description = $nice_parameter_name{$parameter_name};
           }
           $self->excel_output_row($worksheet,$rownum,$rows_output++,
                                   $parameter_name,$description);
       }
       return;
 }  }
   
 sub compute {  sub compute {
     my $self = shift;      my $self = shift;
     $self->logthis('computing');      $self->logthis('computing');
     $self->initialize_safe_space();      $self->initialize_safe_space();
       #########################################
       #########################################
       ###                                   ###
       ###  Retrieve the problem parameters  ###
       ###                                   ###
       #########################################
       #########################################
       my @Mandatory_parameters = ("stores_0_solved",
                                   "stores_0_awarddetail",
                                   "stores_0_awarded",
                                   "timestamp",
                                   "stores_0_tries",
                                   "stores_0_award");
     #      #
     # Definitions      # Definitions
     undef(%nice_parameter_name);      undef(%nice_parameter_name);
Line 474  sub compute { Line 532  sub compute {
     # Get the metadata fields and determine their proper names      # Get the metadata fields and determine their proper names
     my ($symap,$syid,$srcf)=split(/___/,$self->{'symb'});      my ($symap,$syid,$srcf)=split(/___/,$self->{'symb'});
     my @Metadata = split(/\,/,&Apache::lonnet::metadata($srcf,'keys'));      my @Metadata = split(/\,/,&Apache::lonnet::metadata($srcf,'keys'));
     foreach my $parm (@Metadata) {      foreach my $parm (@Mandatory_parameters,@Metadata) {
         next if ($parm !~ /^(resource\.|stores|parameter)_/);          next if ($parm !~ /^(resource\.|stores|parameter)_/);
         my $cleaned_name = $parm;          my $cleaned_name = $parm;
         $cleaned_name =~ s/^resource\./stores_/;          $cleaned_name =~ s/^resource\./stores_/;

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


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