From c295561f11414066682ce0073dc05e2524b03fc9 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Fri, 13 Mar 2009 11:22:55 +0000 Subject: [PATCH] Fixed line deleting in bank deposit/payment and journal entry. --- CHANGELOG.txt | 6 ++++++ gl/includes/ui/gl_bank_ui.inc | 14 +++++++------- gl/includes/ui/gl_journal_ui.inc | 13 +++++++------ includes/ui/items_cart.inc | 17 +++-------------- 4 files changed, 23 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 48cc1f6e..45adb3aa 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,12 @@ Legend: ! -> Note $ -> Affected files +13-Mar-2009 Janusz Dobrowolski +# GL line delete bug fixed. +$ /gl/includes/ui/gl_bank_ui.inc + /gl/includes/ui/gl_journal_ui.inc + /includes/ui/items_cart.inc + 11-Mar-2009 Joe Hunt # Several errors related to new bank account id in /gl/includes/db/gl_db_banking.inc $ /gl/include/db/gl_db_banking.inc diff --git a/gl/includes/ui/gl_bank_ui.inc b/gl/includes/ui/gl_bank_ui.inc index 561c677a..507ff4cf 100644 --- a/gl/includes/ui/gl_bank_ui.inc +++ b/gl/includes/ui/gl_bank_ui.inc @@ -133,9 +133,9 @@ function display_gl_items($title, &$order) $k = 0; //row colour counter $id = find_submit('Edit'); - foreach ($order->gl_items as $item) + foreach ($order->gl_items as $line => $item) { - if ($id != $item->index) + if ($id != $line) { alt_table_row_color($k); @@ -152,15 +152,15 @@ function display_gl_items($title, &$order) amount_cell($item->amount); label_cell($item->reference); - edit_button_cell("Edit$item->index", _("Edit"), + edit_button_cell("Edit$line", _("Edit"), _('Edit document line')); - delete_button_cell("Delete$item->index", _("Delete"), + delete_button_cell("Delete$line", _("Delete"), _('Remove line from document')); end_row(); } else { - gl_edit_item_controls($order, $dim, $item->index); + gl_edit_item_controls($order, $dim, $line); } } @@ -168,7 +168,7 @@ function display_gl_items($title, &$order) gl_edit_item_controls($order, $dim); if ($order->count_gl_items()) - label_row(_("Total"), number_format2(abs($order->gl_items_total()), user_price_dec()),"colspan=" . $colspan . " align=right", "align=right"); + label_row(_("Total"), number_format2(abs($order->gl_items_total()), user_price_dec()),"colspan=" . $colspan . " align=right", "align=right",3); end_table(); div_end(); @@ -193,7 +193,7 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) $_POST['description'] = $item->description; $_POST['LineMemo'] = $item->reference; - hidden('Index', $item->index); + hidden('Index', $id); hidden('code_id', $item->code_id); label_cell($_POST['code_id']); label_cell($item->description); diff --git a/gl/includes/ui/gl_journal_ui.inc b/gl/includes/ui/gl_journal_ui.inc index bc68af7c..d0f52cac 100644 --- a/gl/includes/ui/gl_journal_ui.inc +++ b/gl/includes/ui/gl_journal_ui.inc @@ -84,9 +84,9 @@ function display_gl_items($title, &$order) $k = 0; $id = find_submit('Edit'); - foreach ($order->gl_items as $item) + foreach ($order->gl_items as $line => $item) { - if ($id != $item->index) + if ($id != $line) { alt_table_row_color($k); @@ -107,15 +107,15 @@ function display_gl_items($title, &$order) } label_cell($item->reference); - edit_button_cell("Edit$item->index", _("Edit"), + edit_button_cell("Edit$line", _("Edit"), _('Edit journal line')); - delete_button_cell("Delete$item->index", _("Delete"), + delete_button_cell("Delete$line", _("Delete"), _('Remove line from journal')); end_row(); } else { - gl_edit_item_controls($order, $dim, $item->index); + gl_edit_item_controls($order, $dim, $line); } } @@ -129,6 +129,7 @@ function display_gl_items($title, &$order) label_cell(_("Total"), "align=right colspan=" . $colspan); amount_cell($order->gl_items_total_debit()); amount_cell(abs($order->gl_items_total_credit())); + label_cell('', "colspan=3"); end_row(); } @@ -163,7 +164,7 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) $_POST['description'] = $item->description; $_POST['LineMemo'] = $item->reference; - hidden('Index', $item->index); + hidden('Index', $id); hidden('code_id', $item->code_id); label_cell($_POST['code_id']); label_cell($item->description); diff --git a/includes/ui/items_cart.inc b/includes/ui/items_cart.inc index 2178fba1..a984c5c5 100644 --- a/includes/ui/items_cart.inc +++ b/includes/ui/items_cart.inc @@ -18,8 +18,6 @@ class items_cart var $line_items; var $gl_items; - var $gl_item_count; - var $order_id; var $editing_item, $deleting_item; @@ -102,9 +100,7 @@ class items_cart if (isset($code_id) && $code_id != "" && isset($amount) && isset($dimension_id) && isset($dimension2_id)) { - $this->gl_items[$this->gl_item_count] = new gl_item($this->gl_item_count, - $code_id, $dimension_id, $dimension2_id, $amount, $reference, $description); - $this->gl_item_count++; + $this->gl_items[] = new gl_item($code_id, $dimension_id, $dimension2_id, $amount, $reference, $description); return true; } else @@ -118,7 +114,6 @@ class items_cart function update_gl_item($index, $dimension_id, $dimension2_id, $amount, $reference, $description=null) { - $this->gl_items[$index]->index = $index; $this->gl_items[$index]->dimension_id = $dimension_id; $this->gl_items[$index]->dimension2_id = $dimension2_id; $this->gl_items[$index]->amount = $amount; @@ -130,10 +125,7 @@ class items_cart function remove_gl_item($index) { - if (isset($index)) - { - array_splice($this->gl_items, $line_no, 1); - } + array_splice($this->gl_items, $index, 1); } function count_gl_items() @@ -180,7 +172,6 @@ class items_cart unset($this->gl_items); $this->gl_items = array(); - $this->gl_item_count = 1; } } @@ -254,7 +245,6 @@ class line_item class gl_item { - var $index; var $code_id; var $dimension_id; var $dimension2_id; @@ -262,7 +252,7 @@ class gl_item var $reference; var $description; - function gl_item($index, $code_id, $dimension_id, $dimension2_id, $amount, $reference, + function gl_item($code_id, $dimension_id, $dimension2_id, $amount, $reference, $description=null) { //echo "adding $index, $code_id, $dimension_id, $amount, $reference
"; @@ -272,7 +262,6 @@ class gl_item else $this->description = $description; - $this->index = $index; $this->code_id = $code_id; $this->dimension_id = $dimension_id; $this->dimension2_id = $dimension2_id; -- 2.30.2