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; }
/** * 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())); }
/** * @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()); }
/** * @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; }
/** * 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 ''; } }
/** * 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; }