コード例 #1
0
function cw_aom_normalize_after_update($doc, $original = array())
{
    global $addons, $app_main_dir;
    $doc = cw_call('cw_aom_recalculate_totals', array($doc));
    cw_cart_normalize($doc);
    if ($doc['info']['cause_id']) {
        $doc['cause_info'] = cw_doc_get_cause_info($doc['info']['cause_id'], 0, $doc['cause_info']['doc'], 1);
    }
    if (is_array($doc['products'])) {
        foreach ($doc['products'] as $pk => $product) {
            $product_id = $product['product_id'];
            $options = array();
            if (is_array($product['product_options'])) {
                foreach ($product['product_options'] as $k => $v) {
                    $options[$k] = $v['option_id'];
                }
            }
            $doc['products'][$pk]['items_in_stock'] = cw_aom_get_quantity_in_stock($product['warehouse_customer_id'], $product_id, $original['order']['status'], $options, $original['products'][$pk]);
            $doc['products'][$pk]['items_in_backorder'] = cw_aom_get_quantity_in_stock($product['warehouse_customer_id'], $product_id, $original['order']['status'], $options, $original['products'][$pk], 'avail_sold');
            # kornev, TOFIX
            if ($addons['product_options']) {
                $options = $product['extra_data']['product_options'];
                $product_options = cw_call('cw_get_product_classes', array('product_id' => $product['product_id']));
                $product_options = cw_call('cw_product_options_set_selected', array($product_options, $options));
                $doc['products'][$pk]['display_options'] = $product_options;
            }
        }
    }
    return $doc;
}
コード例 #2
0
    }
    exit(0);
}
if ($action == 'delete_item' && isset($index) && !$aom_orders[$doc_id]['saved']) {
    unset($aom_orders[$doc_id]['products'][$index]);
    $aom_orders[$doc_id]['info']['use_shipping_cost_alt'] = 'N';
    $doc_data = cw_doc_get($doc_id, 0);
    $aom_orders[$doc_id] = cw_aom_normalize_after_update($aom_orders[$doc_id], $doc_data);
}
if ($action == 'update_item_info' && isset($index) && !$aom_orders[$doc_id]['saved']) {
    $aom_orders[$doc_id]['info']['use_shipping_cost_alt'] = 'N';
    $doc_data = cw_doc_get($doc_id, 0);
    $product_id = $aom_orders[$doc_id]['products'][$index]['product_id'];
    $v = $product_details[$index];
    $v['amount'] = intval($v['amount']);
    $count_product_in_stock = cw_aom_get_quantity_in_stock($aom_orders[$doc_id]['products'][$index]['warehouse_customer_id'], $product_id, $doc_data['order']['status'], $v['product_options'], $doc_data['products'][$index]);
    if ($is_old) {
        $count_product_in_stock += $v['amount'];
    }
    # kornev
    # pos orders && supplier orders are unlimited
    if ($v['amount'] > 0) {
        $aom_orders[$doc_id]['products'][$index]['amount'] = $config['unlimited_products'] ? $v['amount'] : min($v['amount'], $count_product_in_stock);
    }
    $v['price'] = cw_aom_validate_price($v['price']);
    if ($config['Taxes']['display_taxed_order_totals'] == 'Y') {
        $v['price'] = cw_taxes_price_without_tax($v['price'], $aom_orders[$doc_id]['products'][$index]['taxes']);
    }
    $product_options_result = array();
    # kornev, TOFIX
    if ($v['product_options'] && $addons['product_options']) {