X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FOE.pm;h=2a283d2e33ee19712bc03a584aed15b58cac1c49;hb=45ee0662e55cf328d365c1662694cc1b333c723d;hp=d91c4c51343f4743d5335c8a640c69ed361407ec;hpb=2d51ec2e72f4b8cc59be91ee77e6568758f28ee9;p=kivitendo-erp.git diff --git a/SL/OE.pm b/SL/OE.pm index d91c4c513..2a283d2e3 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -318,6 +318,26 @@ SQL push(@values, like($form->{phone_notes}), like($form->{phone_notes})); } + $form->{fulltext} = trim($form->{fulltext}); + if ($form->{fulltext}) { + my @fulltext_fields = qw(o.notes + o.intnotes + o.shippingpoint + o.shipvia + o.transaction_description + o.quonumber + o.ordnumber + o.cusordnumber); + $query .= ' AND ('; + $query .= join ' ILIKE ? OR ', @fulltext_fields; + $query .= ' ILIKE ?'; + $query .= qq| OR EXISTS (SELECT files.id FROM files LEFT JOIN file_full_texts ON (file_full_texts.file_id = files.id) WHERE files.object_id = o.id AND files.object_type = 'sales_order' AND file_full_texts.full_text ILIKE ?)|; + $query .= qq| OR EXISTS (SELECT notes.id FROM notes WHERE notes.trans_id = o.id AND notes.trans_module LIKE 'oe' AND (notes.subject ILIKE ? OR notes.body ILIKE ?))|; + $query .= qq| OR EXISTS (SELECT follow_up_links.id FROM follow_up_links WHERE follow_up_links.trans_id = o.id AND trans_type = 'sales_order' AND EXISTS (SELECT notes.id FROM notes WHERE trans_module LIKE 'fu' AND trans_id = follow_up_links.follow_up_id AND (notes.subject ILIKE ? OR notes.body ILIKE ?)))|; + $query .= ')'; + push(@values, like($form->{fulltext})) for 1 .. (scalar @fulltext_fields) + 5; + } + if ($form->{parts_partnumber}) { $query .= <