You are here

function _commerce_eu_vat_configure_place_of_supply in Commerce European Union VAT 7

26 calls to _commerce_eu_vat_configure_place_of_supply()
commerce_eu_vat_at_default_rules_configuration_alter in countries/commerce_eu_vat_at/commerce_eu_vat_at.rules_defaults.inc
Impliments hook_default_rules_configuration_alter().
commerce_eu_vat_be_default_rules_configuration_alter in countries/commerce_eu_vat_be/commerce_eu_vat_be.rules_defaults.inc
Impliments hook_default_rules_configuration_alter().
commerce_eu_vat_bg_default_rules_configuration_alter in countries/commerce_eu_vat_bg/commerce_eu_vat_bg.rules_defaults.inc
Impliments hook_default_rules_configuration_alter().
commerce_eu_vat_cy_default_rules_configuration_alter in countries/commerce_eu_vat_cy/commerce_eu_vat_cy.rules_defaults.inc
Impliments hook_default_rules_configuration_alter().
commerce_eu_vat_cz_default_rules_configuration_alter in countries/commerce_eu_vat_cz/commerce_eu_vat_cz.rules_defaults.inc
Impliments hook_default_rules_configuration_alter().

... See full list

File

./commerce_eu_vat.module, line 212
Code for the Commerce EU VAT.

Code

function _commerce_eu_vat_configure_place_of_supply(&$configs, $country) {
  if (variable_get('site_default_country', NULL) != $country) {
    $tax_rates = commerce_tax_rates();
    foreach ($tax_rates as $tax_rate) {
      if (strpos($tax_rate['type'], 'eu_vat') === 0 && !empty($configs[$tax_rate['rules_component']])) {
        if ($tax_rate['module'] == 'commerce_eu_vat_' . strtolower($country)) {
          $configs[$tax_rate['rules_component']]
            ->condition('component_commerce_eu_vat_rules_place_of_supply_' . strtolower($country), array(
            'commerce_order:select' => 'commerce-line-item:order',
          ));
        }
        else {
          $configs[$tax_rate['rules_component']]
            ->condition(rules_condition('component_commerce_eu_vat_rules_place_of_supply_' . strtolower($country), array(
            'commerce_order:select' => 'commerce-line-item:order',
          ))
            ->negate());
        }
      }
    }
  }
}