X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FCT.pm;h=57ee031eedbfcad8c01d0bfa8628f40f85280c0a;hb=2be3ec7cd2f7aeefb78b126cf8fd8b4e2e2fb767;hp=bec4a6d73bbc2d19a1ba44385c86b3189db3d4a1;hpb=1c8c106733572b39dccbb45066d28d4553d31587;p=kivitendo-erp.git diff --git a/SL/CT.pm b/SL/CT.pm index bec4a6d73..57ee031ee 100644 --- a/SL/CT.pm +++ b/SL/CT.pm @@ -25,7 +25,8 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1335, USA. #====================================================================== # # backend code for customers and vendors @@ -40,6 +41,7 @@ package CT; use SL::Common; use SL::CVar; use SL::DBUtils; +use SL::DB; use Text::ParseWords; use strict; @@ -104,19 +106,19 @@ sub search { if ($form->{"${cv}number"}) { $where .= " AND ct.${cv}number ILIKE ?"; - push(@values, '%' . $form->{"${cv}number"} . '%'); + push(@values, like($form->{"${cv}number"})); } foreach my $key (qw(name contact email)) { if ($form->{$key}) { $where .= " AND ct.$key ILIKE ?"; - push(@values, '%' . $form->{$key} . '%'); + push(@values, like($form->{$key})); } } if ($form->{cp_name}) { $where .= " AND ct.id IN (SELECT cp_cv_id FROM contacts WHERE lower(cp_name) LIKE lower(?))"; - push @values, '%' . $form->{cp_name} . '%'; + push @values, like($form->{cp_name}); } if ($form->{addr_street}) { @@ -127,7 +129,7 @@ sub search { qq| WHERE (sc.module = 'CT') | . qq| AND (sc.shiptostreet ILIKE ?) | . qq| ))) |; - push @values, ('%' . $form->{addr_street} . '%') x 2; + push @values, (like($form->{addr_street})) x 2; } if ($form->{addr_zipcode}) { @@ -138,7 +140,7 @@ sub search { qq| WHERE (sc.module = 'CT') | . qq| AND (sc.shiptozipcode ILIKE ?) | . qq| ))) |; - push @values, ('%' . $form->{addr_zipcode} . '%') x 2; + push @values, (like($form->{addr_zipcode})) x 2; } if ($form->{addr_city}) { @@ -151,7 +153,7 @@ sub search { AND (lower(sc.shiptocity) LIKE lower(?)) )) )"; - push @values, ('%' . $form->{addr_city} . '%') x 2; + push @values, (like($form->{addr_city})) x 2; } if ($form->{addr_country}) { @@ -164,7 +166,7 @@ sub search { AND (lower(so.shiptocountry) LIKE lower(?)) )) )"; - push @values, ('%' . $form->{addr_country} . '%') x 2; + push @values, (like($form->{addr_country})) x 2; } if ($form->{addr_gln}) { @@ -177,7 +179,7 @@ sub search { AND (lower(so.shiptogln) LIKE lower(?)) )) )"; - push @values, ('%' . $form->{addr_gln} . '%') x 2; + push @values, (like($form->{addr_gln})) x 2; } if ( $form->{status} eq 'orphaned' ) { @@ -251,7 +253,7 @@ sub search { } my $pg_select = $form->{l_pricegroup} ? qq|, pg.pricegroup as pricegroup | : ''; - my $pg_join = $form->{l_pricegroup} ? qq|LEFT JOIN pricegroup pg ON (ct.klass = pg.id) | : ''; + my $pg_join = $form->{l_pricegroup} ? qq|LEFT JOIN pricegroup pg ON (ct.pricegroup_id = pg.id) | : ''; my $query = qq|SELECT ct.*, ct.itime::DATE AS insertdate, b.description AS business, e.name as salesman, | . qq| pt.description as payment | . @@ -341,7 +343,7 @@ sub get_contact { die 'Missing argument: cp_id' unless $::form->{cp_id}; - my $dbh = $form->dbconnect($myconfig); + my $dbh = SL::DB->client->dbh; my $query = qq|SELECT * FROM contacts c | . qq|WHERE cp_id = ? ORDER BY cp_id limit 1|; @@ -359,7 +361,6 @@ sub get_contact { ($form->{cp_used}) = selectfirst_array_query($form, $dbh, $query, ($form->{cp_id})x2); $sth->finish; - $dbh->disconnect; $main::lxdebug->leave_sub(); } @@ -431,7 +432,7 @@ sub search_contacts { 'cp.cp_name ILIKE ?', 'cp.cp_givenname ILIKE ?', 'cp.cp_email ILIKE ?'; - push @values, ('%' . $params{search_term} . '%') x 3; + push @values, (like($params{search_term})) x 3; if (($params{search_term} =~ m/\d/) && ($params{search_term} !~ m/[^\d \(\)+\-]/)) { my $number = $params{search_term};