function commerce_avatax_address_compare in Drupal Commerce Connector for AvaTax 7.4
Same name and namespace in other branches
- 7.5 includes/commerce_avatax.address.inc \commerce_avatax_address_compare()
Compare entered address and the address returned by AvaTax.
1 call to commerce_avatax_address_compare()
- commerce_avatax_form_alter in ./
commerce_avatax.module - Implements hook_form_alter().
File
- ./
commerce_avatax.module, line 1037 - Calculate Sales Tax using AvaTax service from Avalara, Inc.
Code
function commerce_avatax_address_compare($original, $validated_address) {
$result = array(
// valid/needs correction/invalid
'result' => '',
'msg' => '',
'suggestions' => array(),
);
$correct_address = array(
'line1' => isset($validated_address['Line1']) ? $validated_address['Line1'] : '',
'line2' => isset($validated_address['Line2']) ? $validated_address['Line2'] : '',
'city' => isset($validated_address['City']) ? $validated_address['City'] : '',
'state' => isset($validated_address['Region']) ? $validated_address['Region'] : '',
'country' => isset($validated_address['Country']) ? $validated_address['Country'] : '',
'postal_code' => isset($validated_address['PostalCode']) ? $validated_address['PostalCode'] : '',
);
if (!$validated_address) {
$result['result'] = 'invalid';
$result['msg'] = '<p>' . t('We could not validate the shipping address entered. Please check that you have entered the correct address.') . '</p>';
$result['msg'] .= '<p>' . t('Entered address is:') . '</p>' . theme('commerce_avatax_address', array(
'address' => $original,
));
return $result;
}
$line1 = $correct_address['line1'] == $original['line1'];
$line2 = $correct_address['line2'] == $original['line2'];
$city = $correct_address['city'] == $original['city'];
$state = $correct_address['state'] == $original['state'];
$country = $correct_address['country'] == $original['country'];
$post_code_full_validation = variable_get('commerce_avatax_address_postal_code', TRUE);
$autocomplete_post_code = variable_get('commerce_avatax_autocomplete_postal_code', TRUE);
$validated_postal_code = $correct_address['postal_code'];
$original_postal_code = $original['postal_code'];
if (!$post_code_full_validation || $autocomplete_post_code) {
$validated_postal_code = substr($validated_postal_code, 0, 5);
$original_postal_code = substr($original_postal_code, 0, 5);
}
$postal_code = $validated_postal_code == $original_postal_code;
if (!$line1 || !$line2 || !$city || !$state || !$country || !$postal_code) {
$result['result'] = 'needs correction';
$form = drupal_get_form('commerce_avatax_address_suggestion_form', $original, array(
$correct_address,
));
$result['msg'] = drupal_render($form);
$result['suggestions'] = array(
$correct_address,
);
}
else {
$result['result'] = 'valid';
$result['msg'] = '';
$result['suggestions'] = array(
$correct_address,
);
}
return $result;
}