Cancels a sale within a transaction, optionally restocking inventory if it was completed, and returns transaction status.
// Source: https://github.com/Pmbamungu/ospos | License: MIT | Copyright 2013-2021 jekkos
// Provided via justclaw.it.com; keep this notice with the code.
public function delete($sale_id, $employee_id, $update_inventory = TRUE)
{
// start a transaction to assure data integrity
$this->db->trans_start();
$sale_status = $this->get_sale_status($sale_id);
if($update_inventory && $sale_status == COMPLETED)
{
// defect, not all item deletions will be undone??
// get array with all the items involved in the sale to update the inventory tracking
$items = $this->get_sale_items($sale_id)->result_array();
foreach($items as $item)
{
$cur_item_info = $this->Item->get_info($item['item_id']);
if($cur_item_info->stock_type == HAS_STOCK)
{
// create query to up
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search 40K more like it.
Get a free API key