Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 98404f3e

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID 98404f3ed037c375e08c54579a5d1dad44574b12
  • Vorgänger 59661dc5
  • Nachfolger fc6a3e79

Varianten: PartPicker: mehrere Varianten eines Stammartikel hinzufügen

Unterschiede anzeigen:

SL/DB/Manager/Part.pm
return or => [ map { $prefix . $_ => $value } qw(partnumber description ean customerprices.customer_partnumber) ],
$prefix . 'customerprices';
},
has_variant_property_value_id => sub {
my ($key, $value, $prefix) = @_;
my @values = grep {$_}
ref $value eq 'ARRAY' ? @{$value} : split(/\s+/, $value);
return unless scalar @values;
my $where = join(' or ', ("val.id = ?") x @values) || '1=1';
my $query = <<SQL;
SELECT part_id from (
SELECT
t1.part_id, COUNT(*) as count_hits
FROM
variant_property_values val
JOIN variant_property_values_parts t1 ON (t1.variant_property_value_id = val.id)
WHERE
$where
GROUP BY t1.part_id
) as tmp
WHERE count_hits >= ?;
SQL
push @values, scalar @values; # count_hits
my @part_ids =
map {$_->{part_id}}
selectall_hashref_query($::form, $::form->get_standard_dbh, $query, @values);
return id => scalar @part_ids ? \@part_ids : (-1); # empty list not allowed
},
# all_with_variants => sub {
all => sub {
my ($key, $value, $prefix) = @_;
......
return $open_qty
}
sub sort_variants {
my ($self, $variants) = @_;
my @sorted_variants =
map { $_->{variant} }
sort { $a->{sortkey} cmp $b->{sortkey} }
map { {
variant => $_,
sortkey => join('', map {
(10000 + $_->variant_property->sortkey ) . (10000 + $_->sortkey)
} @{$_->variant_property_values}
),
} }
@$variants;
return \@sorted_variants;
}
sub _sort_spec {
(
default => [ 'partnumber', 1 ],

Auch abrufbar als: Unified diff