hook_db_prewrite is not properly used inside journal entry. Fixed by @kvvaradha.
[fa-stable.git] / gl / includes / db / gl_journal.inc
index ae32414cf24ae9615179ada6fbb4590a3cb3714c..7de137a1f5c6bbe88cb15022067cc0c0195a4fab 100644 (file)
@@ -13,9 +13,8 @@ function add_journal($type, $trans_no, $amount, $tran_date, $currency, $referenc
         $event_date='', $doc_date='')
 {
        $sql = "INSERT INTO ".TB_PREF."journal(
-          `type`,`trans_no`, `amount`, `currency`, `rate`, `reference`, `source_ref`, `tran_date`,
-          `event_date`, `doc_date`)
-          VALUES("
+          `type`,`trans_no`, `amount`, `currency`, `rate`, `reference`, `source_ref`, `tran_date`,`event_date`,`doc_date`)
+         VALUES("
          .db_escape($type).","
          .db_escape($trans_no).","
          .db_escape($amount).","
@@ -23,9 +22,9 @@ function add_journal($type, $trans_no, $amount, $tran_date, $currency, $referenc
          .db_escape($rate).","
          .db_escape($reference).","
          .db_escape($source_ref).","
-         ."'".date2sql($tran_date)."',"
-         ."'".date2sql($event_date)."',"
-         ."'".date2sql($doc_date)."')";
+         ."'".date2sql($tran_date)."','"
+         . ($event_date === '' ? '0000-00-00' : date2sql($event_date))."','"
+         . ($doc_date === '' ? '0000-00-00' : date2sql($doc_date))."')";
 
        return db_query($sql, 'cannot add journal entry');
 }
@@ -39,9 +38,9 @@ function update_journal($type, $trans_no, $amount, $tran_date, $currency, $refer
          ."`rate`=".db_escape($rate).","
          ."`reference`=".db_escape($reference).","
          ."`source_ref`=".db_escape($source_ref).","
-         ."`tran_date`="."'".date2sql($tran_date)."',"
-         ."`event_date`="."'".date2sql($event_date)."',"
-         ."`doc_date`="."'".date2sql($doc_date)."')
+         ."`tran_date`='".date2sql($tran_date)."',"
+         ."`event_date`='".($event_date === '' ? '0000-00-00' : date2sql($event_date))."',"
+         ."`doc_date`='".($doc_date === '' ? '0000-00-00' : date2sql($doc_date))."'
           WHERE `type`=".db_escape($type)." AND " ."`trans_no`=".db_escape($trans_no);
 
        return db_query($sql, 'cannot update journal entry');
@@ -72,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');
 }
 
@@ -108,7 +105,7 @@ function write_journal_entries(&$cart)
        $new = $cart->order_id == 0;
 
        begin_transaction();
-
+       hook_db_prewrite($cart, ST_JOURNAL);
        if (!$new)
        {
                $msg = void_transaction($trans_type, $cart->order_id, Today(), _("Document reentered."));
@@ -135,7 +132,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;