public function Amount($order) { $shopConfig = ShopConfig::current_shop_config(); $amount = new Price(); $amount->setAmount($order->SubTotal()->getAmount() * ($this->Rate / 100)); $amount->setCurrency($shopConfig->BaseCurrency); $amount->setSymbol($shopConfig->BaseCurrencySymbol); return $amount; }
public function Amount() { // TODO: Multi currency $shopConfig = ShopConfig::current_shop_config(); $amount = new Price(); $amount->setAmount($this->Price); $amount->setCurrency($shopConfig->BaseCurrency); $amount->setSymbol($shopConfig->BaseCurrencySymbol); $this->extend('updateAmount', $amount); return $amount; }
/** * Get the form fields for the OrderForm. * * @return FieldList List of fields */ public function getFormFields() { $fields = new FieldList(); $field = new XeroTaxModifierField($this, _t('Xero.TAX', 'Tax')); $shopConfig = ShopConfig::current_shop_config(); $amount = new Price(); $amount->setAmount($this->Price); $amount->setCurrency($shopConfig->BaseCurrency); $amount->setSymbol($shopConfig->BaseCurrencySymbol); $field->setAmount($amount); $fields->push($field); if (!$fields->exists()) { Requirements::javascript('swipestripe-flatfeetax/javascript/FlatFeeTaxModifierField.js'); } return $fields; }
/** * Calculate the tax component based on tax rates for the items and modifications in the order * * @param Order $order * @return Price The tax amount for the order */ public function calculate(Order $order) { $taxAmount = 0; $shopConfig = ShopConfig::current_shop_config(); $items = $order->Items(); if ($items && $items->exists()) { foreach ($items as $item) { $taxAmount += $item->Total()->getAmount() * ($item->XeroTaxRate / 100); } } $mods = $order->Modifications(); if ($mods && $mods->exists()) { foreach ($mods as $mod) { $taxAmount += $mod->Amount()->getAmount() * ($mod->XeroTaxRate / 100); } } $amount = new Price(); $amount->setAmount($taxAmount); $amount->setCurrency($shopConfig->BaseCurrency); $amount->setSymbol($shopConfig->BaseCurrencySymbol); return $amount; }