Fixed line deleting in bank deposit/payment and journal entry.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 13 Mar 2009 11:22:55 +0000 (11:22 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 13 Mar 2009 11:22:55 +0000 (11:22 +0000)
CHANGELOG.txt
gl/includes/ui/gl_bank_ui.inc
gl/includes/ui/gl_journal_ui.inc
includes/ui/items_cart.inc

index 48cc1f6eea1b88b102e03cc0fac5cef25bf930ce..45adb3aa29aa4888f393965d315dec07e08623e8 100644 (file)
@@ -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
index 561c677ab41e8159531744d89b243fdef7188f3b..507ff4cf4c779077fd71961744415be212f62c2a 100644 (file)
@@ -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);
index bc68af7cfea564266eaa49dbae75cea035e75977..d0f52cace5f5c46019bb2d68607a67f9c3bfdf80 100644 (file)
@@ -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);
index 2178fba1dfe5a467d34df7cc01b8bcdc77d2d720..a984c5c558ac14caceca260d197f9433ebf96807 100644 (file)
@@ -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<br>";
@@ -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;