From 11403450bbf64674332f64459670a1c06dd92265 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Fri, 20 Feb 2015 11:02:50 +0100 Subject: [PATCH] Attachments were not moved to new transaction after edition for some document types. --- admin/db/attachments_db.inc | 7 +++++++ gl/includes/db/gl_db_banking.inc | 4 ++-- purchasing/includes/db/invoice_db.inc | 3 +++ sales/includes/db/sales_delivery_db.inc | 2 ++ sales/includes/db/sales_invoice_db.inc | 3 ++- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/admin/db/attachments_db.inc b/admin/db/attachments_db.inc index ebb24715..3fb0a915 100644 --- a/admin/db/attachments_db.inc +++ b/admin/db/attachments_db.inc @@ -103,4 +103,11 @@ function get_sql_for_attached_documents($type) ." ORDER BY trans_no DESC"; } +function move_trans_attachments($type, $trans_from, $trans_to) +{ + $sql = "UPDATE ".TB_PREF."attachments SET trans_no=".db_escape($trans_to) + ." WHERE type_no=".db_escape($type)." AND trans_no=".db_escape($trans_from); + db_query($sql, 'cannot move atachments'); +} + diff --git a/gl/includes/db/gl_db_banking.inc b/gl/includes/db/gl_db_banking.inc index 8df094b0..bba72d72 100644 --- a/gl/includes/db/gl_db_banking.inc +++ b/gl/includes/db/gl_db_banking.inc @@ -417,7 +417,7 @@ function write_bank_transaction($trans_type, $trans_no, $from_account, $items, $ $trans_no = write_customer_trans($trans_type, 0, $person_id, $person_detail_id, $date_, $ref, $cust_amount); - + move_trans_attachments($trans_type, $old_trans, $trans_no); } elseif ($person_type_id == PT_SUPPLIER) { @@ -433,7 +433,7 @@ function write_bank_transaction($trans_type, $trans_no, $from_account, $items, $ $trans_no = write_supp_trans($trans_type, 0, $person_id, $date_, '', $ref, "", $supp_amount, 0, 0); - + move_trans_attachments($trans_type, $old_trans, $trans_no); } else { diff --git a/purchasing/includes/db/invoice_db.inc b/purchasing/includes/db/invoice_db.inc index 707704cf..ed8c9532 100644 --- a/purchasing/includes/db/invoice_db.inc +++ b/purchasing/includes/db/invoice_db.inc @@ -10,6 +10,7 @@ See the License here . ***********************************************************************/ include_once($path_to_root . "/purchasing/includes/db/invoice_items_db.inc"); +include_once($path_to_root . "/admin/db/attachments_db.inc"); //-------------------------------------------------------------------------------------------------- @@ -175,6 +176,8 @@ function add_supp_invoice(&$supp_trans) // do not receive as ref because we chan $invoice_items_total, $item_added_tax, $supp_trans->ov_discount, "", 0, $supp_trans->tax_included, $supp_trans->tax_algorithm); + if ($trans_no) + move_trans_attachments($trans_type, $trans_no, $invoice_id); $supp_trans->trans_no = $invoice_id; diff --git a/sales/includes/db/sales_delivery_db.inc b/sales/includes/db/sales_delivery_db.inc index b6f4bd0e..290a3f2d 100644 --- a/sales/includes/db/sales_delivery_db.inc +++ b/sales/includes/db/sales_delivery_db.inc @@ -54,12 +54,14 @@ function write_sales_delivery(&$delivery,$bo_policy) if ($trans_no == 0) { $delivery->trans_no = array($delivery_no=>0); } else { + move_trans_attachments(ST_CUSTDELIVERY, $trans_no, $delivery_no); void_gl_trans(ST_CUSTDELIVERY, $delivery_no, true); void_stock_move(ST_CUSTDELIVERY, $delivery_no); void_trans_tax_details(ST_CUSTDELIVERY, $delivery_no); delete_comments(ST_CUSTDELIVERY, $delivery_no); } + // for prepaid delivery repost income from deffered account if ($delivery->is_prepaid()) { diff --git a/sales/includes/db/sales_invoice_db.inc b/sales/includes/db/sales_invoice_db.inc index d37463c4..c38d6954 100644 --- a/sales/includes/db/sales_invoice_db.inc +++ b/sales/includes/db/sales_invoice_db.inc @@ -90,7 +90,8 @@ function write_sales_invoice(&$invoice) if ($trans_no == 0) { $invoice->trans_no = array($invoice_no=>0); - } + } else + move_trans_attachments(ST_SALESINVOICE, $trans_no, $invoice_no); $total = 0; // for prepayments use deferred income account if set -- 2.30.2