Revision 60ebd03b
Von Sven Schöling vor mehr als 14 Jahren hinzugefügt
SL/CVar.pm | ||
---|---|---|
490 | 490 |
} |
491 | 491 |
|
492 | 492 |
if (@sub_where) { |
493 |
push @sub_where, qq|cvar.sub_module = ?|; |
|
494 |
push @sub_values, "$params{sub_module}"; |
|
493 |
add_token(\@sub_where, \@sub_values, col => 'cvar.sub_module', val => $params{sub_module} || ''); |
|
495 | 494 |
|
496 | 495 |
push @where, |
497 | 496 |
qq|$not EXISTS( |
SL/IC.pm | ||
---|---|---|
35 | 35 |
package IC; |
36 | 36 |
|
37 | 37 |
use Data::Dumper; |
38 |
use List::MoreUtils qw(all any); |
|
38 |
use List::MoreUtils qw(all any uniq);
|
|
39 | 39 |
use YAML; |
40 | 40 |
|
41 | 41 |
use SL::CVar; |
... | ... | |
1005 | 1005 |
my $where_clause = join ' AND ', map { "($_)" } @where_tokens; |
1006 | 1006 |
my $group_clause = ' GROUP BY ' . join ', ', map { $token_builder->($_) } @group_tokens if scalar @group_tokens; |
1007 | 1007 |
|
1008 |
my ($cvar_where, @cvar_values) = CVar->build_filter_query('module' => 'IC', |
|
1009 |
'trans_id_field' => 'p.id', |
|
1010 |
'filter' => $form); |
|
1008 |
my %oe_flag_to_cvar = ( |
|
1009 |
bought => 'invoice', |
|
1010 |
sold => 'invoice', |
|
1011 |
onorder => 'orderitems', |
|
1012 |
ordered => 'orderitems', |
|
1013 |
rfq => 'orderitems', |
|
1014 |
quoted => 'orderitems', |
|
1015 |
); |
|
1016 |
|
|
1017 |
my ($cvar_where, @cvar_values) = CVar->build_filter_query( |
|
1018 |
module => 'IC', |
|
1019 |
trans_id_field => $bsooqr ? 'ioi.id': 'p.id', |
|
1020 |
filter => $form, |
|
1021 |
sub_module => $bsooqr ? [ uniq grep { $oe_flag_to_cvar{$form->{$_}} } @oe_flags ] : undef, |
|
1022 |
); |
|
1023 |
|
|
1024 |
$::lxdebug->dump(0, "\@cvar_val", \@cvar_values); |
|
1011 | 1025 |
|
1012 | 1026 |
if ($cvar_where) { |
1013 | 1027 |
$where_clause .= qq| AND ($cvar_where)|; |
Auch abrufbar als: Unified diff
CVars über die Warenmaske auch in Belegen suchen.
Fix für Bug 1209.