Bug. Edit Journal -> orphaned attachments.
[fa-stable.git] / gl / includes / db / gl_journal.inc
index c44cb335b3328b8fd15179cecb5259439ed66d5a..88a8553da80448729b6be1e8a37e16f28c6e3596 100644 (file)
@@ -71,12 +71,10 @@ function write_cust_journal($trans_type, $trans_no, $branch_id, $date, $ref, $am
 {
        // we have to select any branch_id for given AR_act - in fact w
        $sql = "INSERT INTO ".TB_PREF."debtor_trans (trans_no, type, debtor_no, branch_code, tran_date, reference, ov_amount, rate)
-               SELECT "
-               .db_escape($trans_no).", ".db_escape($trans_type).", debtor_no,"
-               .db_escape($branch_id).",'".date2sql($date)."', ".db_escape($ref).","
-               .db_escape($amount).", ".db_escape($rate)."
-               FROM ".TB_PREF."cust_branch WHERE branch_code=".db_escape($branch_id);
-
+        VALUES (".db_escape($trans_no).", ".db_escape($trans_type).", 
+                       (SELECT debtor_no FROM ".TB_PREF."cust_branch WHERE branch_code=".db_escape($branch_id). ") ,"
+                       .db_escape($branch_id).",'".date2sql($date)."', ".db_escape($ref).","
+                       .db_escape($amount).", ".db_escape($rate).")";
        return db_query($sql, 'cannot write cust_journal');
 }
 
@@ -105,9 +103,10 @@ function write_journal_entries(&$cart)
        $memo_ = $cart->memo_;
        $trans_type = $cart->trans_type;
        $new = $cart->order_id == 0;
+       $old_no = $cart->order_id;
 
        begin_transaction();
-
+       hook_db_prewrite($cart, ST_JOURNAL);
        if (!$new)
        {
                $msg = void_transaction($trans_type, $cart->order_id, Today(), _("Document reentered."));
@@ -119,6 +118,18 @@ function write_journal_entries(&$cart)
        }
 
        $trans_id = $cart->order_id = get_next_trans_no($trans_type);
+       if ($old_no)
+       {
+               $aid = 0;
+               $aid = has_attachment($trans_type, $old_no);
+               if ($aid != 0)
+               {
+                       $row = get_attachment($aid);
+                       update_attachment($aid, $row['type_no'], $trans_id, $row['description'],
+                               $row['filename'], $row['unique_name'], $row['filesize'], $row['filetype']);
+               }
+
+       }       
        $total = $cart->gl_items_total_debit();
 
        $cart->write_gl();
@@ -134,7 +145,7 @@ function write_journal_entries(&$cart)
        }
 
        add_audit_trail($trans_type, $trans_id, $date_);
-
+       hook_db_postwrite($cart, ST_JOURNAL);
        commit_transaction();
 
        return $trans_id;