Diff for /loncom/interface/spreadsheet/assesscalc.pm between versions 1.40 and 1.41

version 1.40, 2005/05/13 21:14:46 version 1.41, 2005/05/15 02:18:12
Line 661  sub get_problem_state { Line 661  sub get_problem_state {
   
 sub determine_parts {  sub determine_parts {
     my $self = shift;      my $self = shift;
       my $check_hidden = shift;
     if (exists($self->{'Parts'}) && ref($self->{'Parts'}) eq 'HASH') {      if (exists($self->{'Parts'}) && ref($self->{'Parts'}) eq 'HASH') {
         return;          return;
     }      }
Line 671  sub determine_parts { Line 672  sub determine_parts {
     my $metadata = &Apache::lonnet::metadata($src,'packages');      my $metadata = &Apache::lonnet::metadata($src,'packages');
     foreach (split(',',$metadata)) {      foreach (split(',',$metadata)) {
         my ($part) = (/^part_(.*)$/);          my ($part) = (/^part_(.*)$/);
         if (defined($part) &&           if (!defined($part)) { next; }
             ! &Apache::loncommon::check_if_partid_hidden          if (!$check_hidden) { $Parts{$part}++; next; }
                 ($part,$self->{'symb'},$self->{'name'},$self->{'domain'})          if (!&Apache::loncommon::check_if_partid_hidden
       ($part,$self->{'symb'},$self->{'name'},$self->{'domain'})
             ) {              ) {
             $Parts{$part}++;              $Parts{$part}++;
         }          }
Line 749  sub compute { Line 751  sub compute {
     }      }
     #      #
     # Get the students performance data      # Get the students performance data
       $self->determine_parts(exists($parameters{'parameter_0_hiddenparts'}));
     my %student_parameters = $self->get_problem_state();      my %student_parameters = $self->get_problem_state();
     while (my ($parm,$value) = each(%student_parameters)) {      while (my ($parm,$value) = each(%student_parameters)) {
         $parm =~ s/^resource\./stores_/;          $parm =~ s/^resource\./stores_/;
         $parm =~ s/\./_/g;          $parm =~ s/\./_/g;
         $parameters{$parm} = $value;   # Clean out any bad parameters
     }   next if (! $self->parameter_part_is_valid($parm));
     #   $parameters{$parm} = $value;
     # Clean out any bad parameters  
     $self->determine_parts();  
     foreach my $param (keys(%parameters)) {  
         if (! $self->parameter_part_is_valid($param)) {  
             delete ($parameters{$param});  
         }  
     }      }
     #      #
     # Set up the formulas and parameter values      # Set up the formulas and parameter values

Removed from v.1.40  
changed lines
  Added in v.1.41


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