Revision 5074cc50
Von Moritz Bunkus vor etwa 13 Jahren hinzugefügt
SL/IC.pm | ||
---|---|---|
702 | 702 |
push(@values, '%' . $form->{"${column}_$i"} . '%'); |
703 | 703 |
} |
704 | 704 |
|
705 |
if ($form->{"id_${i}"}) { |
|
706 |
$where .= qq| AND p.id = ?|; |
|
707 |
push @values, $form->{"id_${i}"}; |
|
708 |
} |
|
709 |
|
|
710 | 705 |
if ($form->{id}) { |
711 | 706 |
$where .= qq| AND NOT (p.id = ?)|; |
712 | 707 |
push(@values, conv_i($form->{id})); |
713 | 708 |
} |
714 | 709 |
|
710 |
# Search for part ID overrides all other criteria. |
|
711 |
if ($form->{"id_${i}"}) { |
|
712 |
$where = qq|p.id = ?|; |
|
713 |
@values = ($form->{"id_${i}"}); |
|
714 |
} |
|
715 |
|
|
715 | 716 |
if ($form->{partnumber}) { |
716 | 717 |
$where .= qq| ORDER BY p.partnumber|; |
717 | 718 |
} else { |
Auch abrufbar als: Unified diff
Artikelauswahl gefixt: das Ausgewählte nehmen, nicht den ersten Treffer
Hintergrund: Suche in SL/IS.pm hat (sehr außergewöhnlich) ein
Suchkriterium nach EAN mit "OR" verknüpft. Dadurch, dass die Suche
nach ID schlicht ans Ende mit "AND" gestellt wurde, ergab sich grob
"(NOT OBSOLETE) OR (ean = ? AND id = ?)", wodurch wieder mehr als ein
Treffer gefunden wurde.
Bug wurde in Revision cb253140 eingebaut.