X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FOE.pm;h=d91c4c51343f4743d5335c8a640c69ed361407ec;hb=2d51ec2e72f4b8cc59be91ee77e6568758f28ee9;hp=f3d3d0cd57a5cb158ea7bfc52f4288826ea402e8;hpb=bebdc2ce03a4c60e94337cf69a12e167a8144d72;p=kivitendo-erp.git diff --git a/SL/OE.pm b/SL/OE.pm index f3d3d0cd5..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}), @@ -1100,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