Esempio n. 1
0
 public static function createFromCustomer(Mage_Customer_Model_Customer $customer)
 {
     /** @var Mage_Log_Model_Customer $logCustomer */
     $logCustomer = Mage::getModel('log/customer')->loadByCustomer($customer->getId());
     switch ($customer->getGender()) {
         case '1':
             $gender = 1;
             break;
         case '2':
             $gender = 2;
             break;
         default:
             $gender = 0;
     }
     $aCustomer = new self();
     $aCustomer->email = $customer->getEmail();
     $aCustomer->type = 'e';
     $aCustomer->gender = $gender;
     $aCustomer->id = $customer->getId();
     $aCustomer->first_name = $customer->getFirstname();
     $aCustomer->last_name = $customer->getLastname();
     if (($birthday = $customer->getDob()) !== null) {
         $aCustomer->birthday = Aplazame_Sdk_Serializer_Date::fromDateTime(new DateTime($birthday));
     }
     if (($document_id = $customer->getTaxvat()) !== null) {
         $aCustomer->document_id = $document_id;
     }
     $aCustomer->date_joined = Aplazame_Sdk_Serializer_Date::fromDateTime(new DateTime('@' . $customer->getCreatedAtTimestamp()));
     if (($lastLogin = $logCustomer->getLoginAtTimestamp()) != null) {
         $aCustomer->last_login = Aplazame_Sdk_Serializer_Date::fromDateTime(new DateTime('@' . $lastLogin));
     }
     return $aCustomer;
 }
Esempio n. 2
0
 /**
  * Sets API attributes on a customer object
  *
  * @param Mage_Customer_Model_Customer $customer Customer to work with
  *
  * @return void
  */
 public function setGroupNameAndGenderNameForCustomer($customer)
 {
     if ($this->_customerGroups == null) {
         $this->_customerGroups = array();
         /* @var Mage_Customer_Model_Resource_Group $customerGroups */
         $customerGroups = Mage::getModel('customer/group')->getCollection();
         foreach ($customerGroups as $group) {
             $groupId = $group['customer_group_id'];
             $groupCode = $group['customer_group_code'];
             $this->_customerGroups[$groupId] = $groupCode;
         }
     }
     if (array_key_exists($customer->getGroupId(), $this->_customerGroups)) {
         $customer->setGroupName($this->_customerGroups[$customer->getGroupId()]);
     }
     $customer->setGenderName(Mage::getResourceSingleton('customer/customer')->getAttribute('gender')->getSource()->getOptionText($customer->getGender()));
 }
Esempio n. 3
0
 /**
  * @param Mage_Customer_Model_Customer $customer
  *
  * @return string
  */
 protected function _getCustomerGenderLabel(Mage_Customer_Model_Customer $customer)
 {
     return Mage::getResourceSingleton('customer/customer')->getAttribute('gender')->getSource()->getOptionText($customer->getGender());
 }
Esempio n. 4
0
 /**
  * @param Mage_Customer_Model_Customer $customer
  * @return string|null
  */
 protected function _createGender(Mage_Customer_Model_Customer $customer)
 {
     $gender = $customer->getGender();
     if ($gender == 1) {
         return 'MALE';
     } else {
         if ($gender == 2) {
             return 'FEMALE';
         }
     }
     return null;
 }
Esempio n. 5
0
 /**
  * get gender according to shopgate needs
  *
  * @param Mage_Customer_Model_Customer|Mage_Customer_Model_Address $data
  * @return string
  */
 public function getShopgateCustomerGender($data)
 {
     $options = Mage::getResourceModel('customer/customer')->getAttribute('gender')->getSource()->getAllOptions(false);
     $gender = null;
     foreach ($options as $option) {
         if ($option['value'] == $data->getGender()) {
             $gender = $option['label'];
         }
     }
     switch ($gender) {
         case 'Male':
             return ShopgateCustomer::MALE;
             break;
         case 'Female':
             return ShopgateCustomer::FEMALE;
             break;
         default:
             return '';
     }
 }
Esempio n. 6
0
 /**
  * Validate customer attributes
  *
  * @param Mage_Customer_Model_Customer $customer
  * @return bool
  */
 public function validateCustomerAttributes(Mage_Customer_Model_Customer $customer)
 {
     $errors = array();
     $customerHelper = Mage::helper('customer');
     if (!Zend_Validate::is(trim($customer->getFirstname()), 'NotEmpty')) {
         $errors[] = $customerHelper->__('The first name cannot be empty.');
     }
     /*
             if (!Zend_Validate::is( trim($customer->getLastname()) , 'NotEmpty')) {
                 $errors[] = $customerHelper->__('The last name cannot be empty.');
             }
     */
     if (!Zend_Validate::is($customer->getEmail(), 'EmailAddress')) {
         $errors[] = $customerHelper->__('Invalid email address "%s".', $customer->getEmail());
     }
     $password = $customer->getPassword();
     if (!$customer->getId() && !Zend_Validate::is($password, 'NotEmpty')) {
         $errors[] = $customerHelper->__('The password cannot be empty.');
     }
     if (strlen($password) && !Zend_Validate::is($password, 'StringLength', array(6))) {
         $errors[] = $customerHelper->__('The minimum password length is %s', 6);
     }
     $confirmation = $customer->getConfirmation();
     if ($password != $confirmation) {
         $errors[] = $customerHelper->__('Please make sure your passwords match.');
     }
     $entityType = Mage::getSingleton('eav/config')->getEntityType('customer');
     $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, 'dob');
     if ($attribute->getIsRequired() && '' == trim($customer->getDob())) {
         $errors[] = $customerHelper->__('The Date of Birth is required.');
     }
     $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, 'taxvat');
     if ($attribute->getIsRequired() && '' == trim($customer->getTaxvat())) {
         $errors[] = $customerHelper->__('The TAX/VAT number is required.');
     }
     $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, 'gender');
     if ($attribute->getIsRequired() && '' == trim($customer->getGender())) {
         $errors[] = $customerHelper->__('Gender is required.');
     }
     return empty($errors) ? true : $errors;
 }