function commerce_vat_order_rate in Commerce VAT 7
1 call to commerce_vat_order_rate()
- commerce_vat_rules_order_rate in ./
commerce_vat.rules.inc - Rules action: loads and applies a vat rate to the given line item.
File
- ./
commerce_vat.module, line 634 - Defines VAT rates and Rules integration for configuring vat rules for applicability and display.
Code
function commerce_vat_order_rate($order) {
$component_types = commerce_vat_commerce_price_component_type_info();
$order_wrapper = entity_metadata_wrapper('commerce_order', $order);
$rates = array();
foreach ($order_wrapper->commerce_line_items as $line_item_wrapper) {
if ($line_item_wrapper->type
->value() != 'shipping') {
$commerce_total = $line_item_wrapper->commerce_total
->value();
foreach ($commerce_total['data']['components'] as $component) {
$component_name = explode('|', $component['name']);
if ($component_name[0] == 'vat') {
$rates[$component_name[1]] = $component['price']['data']['vat_rate_info']['rate'];
}
}
}
}
if (!empty($rates)) {
arsort($rates);
$rate = key($rates);
}
else {
$rate = FALSE;
}
return $rate;
}