cvsuser     05/10/12 07:03:04

  Modified:    App-Repository/lib/App/ValueDomain Repository.pm
  Log:
  added {extra_values} and {extra_labels} attribs,  EACH as a special kind of 
{extra_values}
  
  Revision  Changes    Path
  1.6       +18 -7     p5ee/App-Repository/lib/App/ValueDomain/Repository.pm
  
  Index: Repository.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Repository/lib/App/ValueDomain/Repository.pm,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Repository.pm     16 Sep 2005 19:51:57 -0000      1.5
  +++ Repository.pm     12 Oct 2005 14:03:04 -0000      1.6
  @@ -135,16 +135,27 @@
               $rows   = $rep->get_rows($table, \%params, [EMAIL PROTECTED], 
$options);
               $values = [];
               $labels = {};
  -            if ($self->{extra_values}) {
  -                push(@$values, @{$self->{extra_values}});
  -            }
  -            if ($self->{extra_labels}) {
  -                $labels = { %{$self->{extra_labels}} };
  -            }
               foreach $row (@$rows) {
                   push(@$values, $row->[0]);
                   $labels->{$row->[0]} = $row->[1] if ($labelcolumn);
               }
  +            if ($self->{extra_values}) {
  +                my @each = @$values;
  +                my $extra_values = $self->{extra_values};
  +                my $extra_labels = $self->{extra_labels} || {};
  +                for (my $i = $#$extra_values; $i >= 0; $i--) {
  +                    if ($extra_values->[$i] eq "EACH") {
  +                        $key = join(",", @each) || -99999;
  +                        unshift(@$values, $key);
  +                        $labels->{$key} = $extra_labels->{EACH};
  +                    }
  +                    else {
  +                        $key = $extra_values->[$i];
  +                        unshift(@$values, $key);
  +                        $labels->{$key} = $extra_labels->{$key};
  +                    }
  +                }
  +            }
               $self->{values} = $values;
               $self->{labels} = $labels if ($labelcolumn);
               $time = time();
  
  
  

Reply via email to