X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fui%2Fitems_cart.inc;h=25101807d61c6b26b04448e5ce2a7b3b1e871edc;hb=50606312fee0bb0dbe984e2c08af53b7dab229bd;hp=0f8b3c35462aefee00d8531d97dee54834742958;hpb=286e6233d6d7d63fbaafea42475ecbd5f4cf0dd0;p=fa-stable.git diff --git a/includes/ui/items_cart.inc b/includes/ui/items_cart.inc index 0f8b3c35..25101807 100644 --- a/includes/ui/items_cart.inc +++ b/includes/ui/items_cart.inc @@ -20,17 +20,15 @@ class items_cart var $order_id; - var $editing_item, $deleting_item; - var $from_loc; var $to_loc; var $tran_date; var $transfer_type; var $increase; var $memo_; - var $person_id; var $branch_id; var $reference; + var $original_amount; function items_cart($type) { @@ -52,7 +50,7 @@ class items_cart else { // shouldn't come here under normal circumstances - display_db_error("unexpected - adding an invalid item or null quantity", "", true); + display_error("unexpected - adding an invalid item or null quantity", "", true); } return false; @@ -96,30 +94,44 @@ class items_cart // ----------- GL item functions - function add_gl_item($code_id, $dimension_id, $dimension2_id, $amount, $reference, $description=null) + function add_gl_item($code_id, $dimension_id, $dimension2_id, $amount, $reference, $description=null, $person_id=null) { if (isset($code_id) && $code_id != "" && isset($amount) && isset($dimension_id) && isset($dimension2_id)) { - $this->gl_items[] = new gl_item($code_id, $dimension_id, $dimension2_id, $amount, $reference, $description); + $this->gl_items[] = new gl_item($code_id, $dimension_id, $dimension2_id, $amount, $reference, $description, $person_id); return true; } else { // shouldn't come here under normal circumstances - display_db_error("unexpected - invalid parameters in add_gl_item($code_id, $dimension_id, $dimension2_id, $amount,...)", "", true); + display_error("unexpected - invalid parameters in add_gl_item($code_id, $dimension_id, $dimension2_id, $amount,...)", "", true); } 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, $person_id=null) { + $this->gl_items[$index]->code_id = $code_id; + $this->gl_items[$index]->person_id = $person_id; + + $gl_type = is_subledger_account($code_id, $person_id); + if ($gl_type) + { + $this->gl_items[$index]->person_type_id = $gl_type > 0 ? PT_CUSTOMER : PT_SUPPLIER; + $this->gl_items[$index]->person_name = get_subaccount_name($code_id, $person_id); + } else + { + $this->gl_items[$index]->person_type_id = $this->gl_items[$index]->person_name = ''; + } $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; } @@ -175,6 +187,18 @@ class items_cart $this->gl_items = array(); } + // + // Check if cart contains virtual subaccount (AP/AR) postings + // + function has_sub_accounts() + { + foreach ($this->gl_items as $gl_item) + { + if ($gl_item->person_id) + return true; + } + return false; + } } //-------------------------------------------------------------------------------------------- @@ -195,7 +219,7 @@ class line_item $item_row = get_item($stock_id); if ($item_row == null) - display_db_error("invalid item added to order : $stock_id", ""); + display_error("invalid item added to order : $stock_id", ""); $this->mb_flag = $item_row["mb_flag"]; $this->units = $item_row["units"]; @@ -254,9 +278,12 @@ class gl_item var $amount; var $reference; var $description; + var $person_id; + var $person_type_id; + var $person_name; function gl_item($code_id, $dimension_id, $dimension2_id, $amount, $reference, - $description=null) + $description=null, $person_id=null) { //echo "adding $index, $code_id, $dimension_id, $amount, $reference
"; @@ -266,6 +293,13 @@ class gl_item $this->description = $description; $this->code_id = $code_id; + $this->person_id = $person_id; + $gl_type = is_subledger_account($code_id, $person_id); + if ($gl_type) + { + $this->person_type_id = $gl_type > 0 ? PT_CUSTOMER : PT_SUPPLIER; + $this->person_name = get_subaccount_name($code_id, $person_id); + } $this->dimension_id = $dimension_id; $this->dimension2_id = $dimension2_id; $this->amount = $amount;