Attachments were not moved to new transaction after edition for some document types.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 20 Feb 2015 10:02:50 +0000 (11:02 +0100)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Sat, 28 Feb 2015 17:04:10 +0000 (18:04 +0100)
admin/db/attachments_db.inc
gl/includes/db/gl_db_banking.inc
purchasing/includes/db/invoice_db.inc
sales/includes/db/sales_delivery_db.inc
sales/includes/db/sales_invoice_db.inc

index ebb247155bf7b8a05c05e37a5384a13f4337c2d0..3fb0a915d5410de7ad61fc1027005399f46c7325 100644 (file)
@@ -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');
+}
+
 
index 8df094b0c557f8d699ab7d4389276c0a5a0fad9e..bba72d72efefb64afb17df2efd487840018678d4 100644 (file)
@@ -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
     {
index 707704cf2abf21780b80cf9b8754b896ae4d9ca4..ed8c95328e3a0c19c153c6bdab229fa4b7c3e0d7 100644 (file)
@@ -10,6 +10,7 @@
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
 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;
 
index b6f4bd0e0f7f5c8fe5f3106fe7ff284b92487f63..290a3f2dffda99856f2627f5899207b20ed1c12b 100644 (file)
@@ -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())
        {
index d37463c49c7d34f99bcbea12259f85fbcf4eaac2..c38d69542bedb45202737421c31a1f5ef1edc989 100644 (file)
@@ -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