$dflt_xr_provider = 0;
/*
- Optional sorting new sales documents lines according to item code
+ Optional sorting sales documents lines during edition according to item code
*/
$sort_sales_items = false;
return strcmp($a->stock_id, $b->stock_id);
}
- function sort_items()
+ /*
+ Returns items array optionally sorted by item code.
+ */
+ function get_items()
{
global $sort_sales_items;
- if (@$sort_sales_items && !$this->trans_no) // sort items optionally for new transaction
- usort($this->line_items, array($this, '_cmp_lines'));
+ $items = $this->line_items;
+ if (@$sort_sales_items)
+ uasort($items, array($this, '_cmp_lines'));
+
+ return $items;
}
//
// Prepare cart to new child document entry, just after initial parent doc read.
if ($line->valid) {
$this->line_items[$line_no] = $line;
- $this->sort_items();
return 1;
} else
display_error(_("You have to enter valid stock code or nonempty description"));
$this->line_items[$line_no]->qty_dispatched = $qty;
$this->line_items[$line_no]->price = $price;
$this->line_items[$line_no]->discount_percent = $disc;
- $this->sort_items();
}
function update_add_cart_item_qty($line_no, $qty)
$id = find_submit('Edit');
- foreach ($order->line_items as $line_no=>$line)
+ foreach ($order->get_items() as $line_no=>$line)
{
$line_total = round($line->qty_dispatched * $line->price * (1 - $line->discount_percent),
user_price_dec());
$id = find_submit('Edit');
$has_marked = false;
- foreach ($order->line_items as $line_no=>$stock_item)
+
+ foreach ($order->get_items() as $line_no=>$stock_item)
{
$line_total = round($stock_item->qty_dispatched * $stock_item->price * (1 - $stock_item->discount_percent),