From 217429ba80c03da8d7d2fa9f90deba25b9fd400d Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Fri, 13 Nov 2009 15:50:27 +0000 Subject: [PATCH] Allow editing account when editing a row in GL Bank and GL Journal Entry Transaction bug in void_journal_trans() --- CHANGELOG.txt | 10 ++++++++++ gl/gl_bank.php | 4 ++-- gl/gl_journal.php | 4 ++-- gl/includes/db/gl_db_trans.inc | 10 ++++++---- gl/includes/ui/gl_bank_ui.inc | 4 +--- gl/includes/ui/gl_journal_ui.inc | 7 ++++--- includes/ui/items_cart.inc | 7 +++++-- 7 files changed, 30 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index ccffac66..da6f8381 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,16 @@ Legend: ! -> Note $ -> Affected files +13-Nov-2009 Tom Hallman/Joe Hunt +! Allow editing account when editing a row in GL Bank and GL Journal Entry +$ /gl/gl_bank.php + /gl/gl_journal.php + /gl/includes/ui/gl_bank_ui.inc + /gl/includes/ui/gl_journal_ui.inc + /includes/ui/items_cart.inc +# Transaction bug in void_journal_trans() +$ /gl/includes/db/gl_db_trans.inc + 12-Nov-2009 Tom Hallman/Joe Hunt ! Cleaning the CHANGELOG.txt file ! Changed to allow change of reference in GL modifying diff --git a/gl/gl_bank.php b/gl/gl_bank.php index f0b007e0..baf7f885 100644 --- a/gl/gl_bank.php +++ b/gl/gl_bank.php @@ -213,8 +213,8 @@ function handle_update_item() $amount = ($_SESSION['pay_items']->trans_type==ST_BANKPAYMENT ? 1:-1) * input_num('amount'); if($_POST['UpdateItem'] != "" && check_item_data()) { - $_SESSION['pay_items']->update_gl_item($_POST['Index'], $_POST['dimension_id'], - $_POST['dimension2_id'], $amount , $_POST['LineMemo']); + $_SESSION['pay_items']->update_gl_item($_POST['Index'], $_POST['code_id'], + $_POST['dimension_id'], $_POST['dimension2_id'], $amount , $_POST['LineMemo']); } line_start_focus(); } diff --git a/gl/gl_journal.php b/gl/gl_journal.php index 10cde058..d515b179 100644 --- a/gl/gl_journal.php +++ b/gl/gl_journal.php @@ -264,8 +264,8 @@ function handle_update_item() else $amount = -input_num('AmountCredit'); - $_SESSION['journal_items']->update_gl_item($_POST['Index'], $_POST['dimension_id'], - $_POST['dimension2_id'], $amount, $_POST['LineMemo']); + $_SESSION['journal_items']->update_gl_item($_POST['Index'], $_POST['code_id'], + $_POST['dimension_id'], $_POST['dimension2_id'], $amount, $_POST['LineMemo']); } line_start_focus(); } diff --git a/gl/includes/db/gl_db_trans.inc b/gl/includes/db/gl_db_trans.inc index 31c07899..b529bd09 100644 --- a/gl/includes/db/gl_db_trans.inc +++ b/gl/includes/db/gl_db_trans.inc @@ -393,7 +393,7 @@ function write_journal_entries(&$cart, $reverse, $use_transaction=true) begin_transaction(); if(!$new) - void_journal_trans($trans_type, $trans_id, true); + void_journal_trans($trans_type, $trans_id, false); foreach ($cart->gl_items as $journal_item) { @@ -492,15 +492,17 @@ function void_gl_trans($type, $trans_id, $nested=false) //---------------------------------------------------------------------------------------- -function void_journal_trans($type, $type_no) +function void_journal_trans($type, $type_no, $use_transaction=true) { - begin_transaction(); + if ($use_transaction) + begin_transaction(); void_bank_trans($type, $type_no, true); // void_gl_trans($type, $type_no, true); // this is done above // void_trans_tax_details($type, $type_no); // ditto - commit_transaction(); + if ($use_transaction) + commit_transaction(); } ?> \ No newline at end of file diff --git a/gl/includes/ui/gl_bank_ui.inc b/gl/includes/ui/gl_bank_ui.inc index a030db0c..4014426e 100644 --- a/gl/includes/ui/gl_bank_ui.inc +++ b/gl/includes/ui/gl_bank_ui.inc @@ -197,9 +197,7 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) $_POST['LineMemo'] = $item->reference; hidden('Index', $id); - hidden('code_id', $item->code_id); - label_cell($_POST['code_id']); - label_cell($item->description); + gl_all_accounts_list('code_id', null, true, true); if ($dim >= 1) dimensions_list_cells(null, 'dimension_id', null, true, " ", false, 1); if ($dim > 1) diff --git a/gl/includes/ui/gl_journal_ui.inc b/gl/includes/ui/gl_journal_ui.inc index cf76e3fc..04d703dd 100644 --- a/gl/includes/ui/gl_journal_ui.inc +++ b/gl/includes/ui/gl_journal_ui.inc @@ -150,6 +150,7 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) $id = find_submit('Edit'); if ($Index != -1 && $Index == $id) { + // Modifying an existing row $item = $order->gl_items[$Index]; $_POST['code_id'] = $item->code_id; $_POST['dimension_id'] = $item->dimension_id; @@ -168,9 +169,8 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) $_POST['LineMemo'] = $item->reference; hidden('Index', $id); - hidden('code_id', $item->code_id); - label_cell($_POST['code_id']); - label_cell($item->description); + $skip_bank = !$_SESSION["wa_current_user"]->can_access('SA_BANKJOURNAL'); + gl_all_accounts_list('code_id', null, $skip_bank, true); if ($dim >= 1) dimensions_list_cells(null, 'dimension_id', null, true, " ", false, 1); if ($dim > 1) @@ -179,6 +179,7 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) } else { + // Adding a new row $_POST['AmountDebit'] = ''; //price_format(0); $_POST['AmountCredit'] = ''; //price_format(0); $_POST['dimension_id'] = 0; diff --git a/includes/ui/items_cart.inc b/includes/ui/items_cart.inc index 0f8b3c35..12e1ab24 100644 --- a/includes/ui/items_cart.inc +++ b/includes/ui/items_cart.inc @@ -113,13 +113,16 @@ class items_cart return false; } - function update_gl_item($index, $dimension_id, $dimension2_id, $amount, $reference, $description=null) + function update_gl_item($index, $code_id, $dimension_id, $dimension2_id, $amount, $reference, $description=null) { + $this->gl_items[$index]->code_id = $code_id; $this->gl_items[$index]->dimension_id = $dimension_id; $this->gl_items[$index]->dimension2_id = $dimension2_id; $this->gl_items[$index]->amount = $amount; $this->gl_items[$index]->reference = $reference; - if ($description != null) + if ($description == null) + $this->gl_items[$index]->description = get_gl_account_name($code_id); + else $this->gl_items[$index]->description = $description; } -- 2.30.2