X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FOE.pm;h=d91c4c51343f4743d5335c8a640c69ed361407ec;hb=2d51ec2e72f4b8cc59be91ee77e6568758f28ee9;hp=266e55793b7a55a343f93e3a0d07afdba7a5c4a4;hpb=f0ddfbfe848f0d94a7a28b8b5593786217c5dd39;p=kivitendo-erp.git diff --git a/SL/OE.pm b/SL/OE.pm index 266e55793..d91c4c513 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -116,6 +116,13 @@ sub transactions { } } + my ($phone_notes_columns, $phone_notes_join); + $form->{phone_notes} = trim($form->{phone_notes}); + if ($form->{phone_notes}) { + $phone_notes_columns = qq| , phone_notes.subject AS phone_notes_subject, phone_notes.body AS phone_notes_body |; + $phone_notes_join = qq| JOIN notes phone_notes ON (o.id = phone_notes.trans_id AND phone_notes.trans_module LIKE 'oe') |; + } + $query = qq|SELECT o.id, o.ordnumber, o.transdate, o.reqdate, | . qq| o.amount, ct.${vc}number, ct.name, o.netamount, o.${vc}_id, o.globalproject_id, | . @@ -133,6 +140,7 @@ sub transactions { qq| ct.${vc}number AS vcnumber, ct.country, ct.ustid, ct.business_id, | . qq| tz.description AS taxzone | . $periodic_invoices_columns . + $phone_notes_columns . qq| , o.order_probability, o.expected_billing_date, (o.netamount * o.order_probability / 100) AS expected_netamount | . qq|FROM oe o | . qq|JOIN $vc ct ON (o.${vc}_id = ct.id) | . @@ -146,6 +154,7 @@ sub transactions { qq|LEFT JOIN tax_zones tz ON (o.taxzone_id = tz.id) | . qq|LEFT JOIN department ON (o.department_id = department.id) | . qq|$periodic_invoices_joins | . + $phone_notes_join . qq|WHERE (o.quotation = ?) |; push(@values, $quotation); @@ -192,7 +201,8 @@ SQL push(@values, (like($form->{"cp_name"}))x2); } - if ( !(($vc eq 'customer' && $main::auth->assert('sales_all_edit', 1)) || ($vc eq 'vendor' && $main::auth->assert('purchase_all_edit', 1))) ) { + if ( !( ($vc eq 'customer' && ($main::auth->assert('sales_all_edit', 1) || $main::auth->assert('sales_order_view', 1))) + || ($vc eq 'vendor' && ($main::auth->assert('purchase_all_edit', 1) || $main::auth->assert('purchase_order_view', 1))) ) ) { $query .= " AND o.employee_id = (select id from employee where login= ?)"; push @values, $::myconfig{login}; } @@ -303,6 +313,11 @@ SQL push(@values, like($form->{intnotes})); } + if ($form->{phone_notes}) { + $query .= qq| AND (phone_notes.subject ILIKE ? OR phone_notes.body ILIKE ?)|; + push(@values, like($form->{phone_notes}), like($form->{phone_notes})); + } + if ($form->{parts_partnumber}) { $query .= <{delivered} ? "t" : "f", $form->{proforma} ? 't' : 'f', $quotation, conv_i($form->{department_id}), conv_i($form->{language_id}), conv_i($form->{taxzone_id}), - conv_i($form->{shipto_id}), conv_i($form->{payment_id}), + conv_i($form->{shipto_id}), conv_i($form->{billing_address_id}), conv_i($form->{payment_id}), conv_i($form->{delivery_vendor_id}), conv_i($form->{delivery_customer_id}), conv_i($form->{delivery_term_id}), @@ -841,6 +856,12 @@ SQL is_new => $is_new, ); + $self->_set_project_in_linked_requirement_spec( + type => $form->{type}, + project_id => $form->{globalproject_id}, + sales_order_id => $form->{id}, + ); + $main::lxdebug->leave_sub(); return 1; @@ -880,6 +901,25 @@ sub _link_created_sales_order_to_requirement_specs_for_sales_quotations { }); } +sub _set_project_in_linked_requirement_spec { + my ($self, %params) = @_; + + return if $params{type} ne 'sales_order'; + return if !$params{project_id} || !$params{sales_order_id}; + + my $query = <get_standard_dbh, $query, $params{project_id}, $params{sales_order_id}); +} + sub save_periodic_invoices_config { my ($self, %params) = @_; @@ -1075,7 +1115,7 @@ sub _retrieve { o.closed, o.reqdate, o.tax_point, o.quonumber, o.department_id, o.cusordnumber, o.mtime, o.itime, d.description AS department, o.payment_id, o.language_id, o.taxzone_id, - o.delivery_customer_id, o.delivery_vendor_id, o.proforma, o.shipto_id, + o.delivery_customer_id, o.delivery_vendor_id, o.proforma, o.shipto_id, o.billing_address_id, o.globalproject_id, o.delivered, o.transaction_description, o.delivery_term_id, o.itime::DATE AS insertdate, o.order_probability, o.expected_billing_date FROM oe o