Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function getVatValidationUserMessage($customerAddress, $customerGroupAutoAssignDisabled, $validationResult)
- {
- $message = '';
- $isError = true;
- $customerVatClass = $this->getCustomerVatClass($customerAddress->getCountryId(), $validationResult);
- $groupAutoAssignDisabled = Mage::getStoreConfigFlag(self::XML_PATH_CUSTOMER_VIV_GROUP_AUTO_ASSIGN);
- $willChargeTaxMessage = $this->__('You will be charged tax.');
- $willNotChargeTaxMessage = $this->__('You will not be charged tax.');
- if ($validationResult->getIsValid()) {
- $message = $this->__('Your VAT ID was successfully validated.');
- $isError = false;
- if (!$groupAutoAssignDisabled && !$customerGroupAutoAssignDisabled) {
- $message .= ' ' . ($customerVatClass == self::VAT_CLASS_DOMESTIC
- ? $willChargeTaxMessage
- : $willNotChargeTaxMessage);
- }
- } else if ($validationResult->getRequestSuccess()) {
- $message = sprintf(
- $this->__('The VAT ID entered (%s) is not a valid VAT ID.') . ' ',
- $this->escapeHtml($customerAddress->getVatId())
- );
- if (!$groupAutoAssignDisabled && !$customerGroupAutoAssignDisabled) {
- $message .= $willChargeTaxMessage;
- }
- }
- else {
- $contactUsMessage = sprintf($this->__('If you believe this is an error, please contact us at %s'),
- Mage::getStoreConfig(self::XML_PATH_SUPPORT_EMAIL));
- $message = $this->__('Your Tax ID cannot be validated.') . ' '
- . (!$groupAutoAssignDisabled && !$customerGroupAutoAssignDisabled
- ? $willChargeTaxMessage . ' ' : '')
- . $contactUsMessage;
- }
- $validationMessageEnvelope = new Varien_Object();
- $validationMessageEnvelope->setMessage($message);
- $validationMessageEnvelope->setIsError($isError);
- return $validationMessageEnvelope;
- }
- if (!$validationMessage->getIsError()) {
- Mage::getSingleton('customer/session')->addSuccess($validationMessage->getMessage());
- } else {
- Mage::getSingleton('customer/session')->addError($validationMessage->getMessage());
- }
- <block type="core/messages" name="global_messages" as="global_messages"/>
- <block type="core/messages" name="messages" as="messages"/>
- /*
- * @author: ..
- * This class overrides the addMessage for customer.
- * Because when BTW is validated, a message appears multiple times.
- * With this rewrite we check if the message is not already added.
- */
- class MYMODULE_Customer_Model_Session extends Mage_Customer_Model_Session
- {
- /*
- * Adding new message to message collection
- *
- * @param Mage_Core_Model_Message_Abstract $message
- * @return Mage_Core_Model_Session_Abstract
- */
- public function addMessage(Mage_Core_Model_Message_Abstract $message)
- {
- // get all current messages
- $sessionMessages = $this->getMessages()->getItems();
- // loop thrue messages and find message with same text
- $found = false;
- foreach($sessionMessages as $sessionMessage) {
- if ( $sessionMessage->getCode() == $message->getCode() ) {
- $found = true; // found message with same text
- }
- }
- if ( !$found ) { // only add message if not already in session
- $this->getMessages()->add($message);
- Mage::dispatchEvent('core_session_abstract_add_message');
- }
- return $this;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement