X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FShopOrder.pm;h=2752de6271a32ad896811bfea4ace1871c114207;hb=2a4583f30144fd4d2bcec2833f1ecaaa19a5ddf6;hp=ee02f3e934796f64a9dad4f40ad918cfaf5b1980;hpb=3d44994029eca9d82030740d7feed1506c52b0b4;p=kivitendo-erp.git diff --git a/SL/DB/ShopOrder.pm b/SL/DB/ShopOrder.pm index ee02f3e93..2752de627 100644 --- a/SL/DB/ShopOrder.pm +++ b/SL/DB/ShopOrder.pm @@ -26,8 +26,9 @@ __PACKAGE__->meta->initialize; sub convert_to_sales_order { my ($self, %params) = @_; - my $customer = delete $params{customer}; - my $employee = delete $params{employee}; + my $customer = delete $params{customer}; + my $employee = delete $params{employee}; + my $transdate = delete $params{transdate} // DateTime->today_local; croak "param customer is missing" unless ref($customer) eq 'SL::DB::Customer'; croak "param employee is missing" unless ref($employee) eq 'SL::DB::Employee'; @@ -98,7 +99,7 @@ sub convert_to_sales_order { taxzone_id => $customer->taxzone_id, currency_id => $customer->currency_id, transaction_description => $shop->transaction_description, - transdate => DateTime->today_local + transdate => $transdate, ); return $order; }else{ @@ -121,7 +122,7 @@ sub check_for_existing_customers { my $zipcode = $self->billing_street ne '' ? $self->billing_zipcode : ''; my $email = $self->billing_street ne '' ? $self->billing_email : ''; - if($self->check_trgm) { + if(check_trgm($::form->get_standard_dbh())) { # Fuzzysearch for street to find e.g. "Dorfstrasse - Dorfstr. - Dorfstraße" my $fs_query = <get_all_count( + query => [customer_id => $self->{kivi_customer_id}, + paid => {lt_sql => 'amount'}, + ], + ); + return $open_invoices; +} + sub get_customer{ my ($self, %params) = @_; my $shop = SL::DB::Manager::Shop->find_by(id => $self->shop_id); @@ -234,17 +245,6 @@ sub compare_to { return $result || ($self->id <=> $other->id); } -sub check_trgm { - my ( $self ) = @_; - - my $dbh = $::form->get_standard_dbh(); - my $sql = "SELECT installed_version FROM pg_available_extensions WHERE name = 'pg_trgm'"; - my @version = selectall_hashref_query($::form, $dbh, $sql); - - return 1 if($version[0]->{installed_version}); - return 0; -} - sub has_differing_delivery_address { my ($self) = @_; ($self->billing_firstname // '') ne ($self->delivery_firstname // '') || @@ -293,10 +293,6 @@ When it is 0 get customer creates a new customer object of the shop order billin =item C -=item C - -Checks if the postgresextension pg_trgm is installed and return 0 or 1. - =back =head1 TODO