Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5074cc50

Von Moritz Bunkus vor etwa 13 Jahren hinzugefügt

  • ID 5074cc502811728e2bbaf42cfd5ea39974ba6e2a
  • Vorgänger d232a246
  • Nachfolger 62ffcb1a

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.

Unterschiede anzeigen:

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