Esempio n. 1
0
 public function getAttributes()
 {
     $attributes = parent::getAttributes();
     $collection = Mage::getModel('customer/attribute')->getCollection();
     $filters = array("is_user_defined = 1", "entity_type_id = " . Mage::getModel('eav/entity')->setType('customer')->getTypeId());
     $collection = Mage::helper('amcustomerattr')->addFilters($collection, 'eav_attribute', $filters);
     $temp = array();
     foreach ($attributes as $attribute) {
         $temp[] = $attribute->getAttributeCode();
     }
     foreach ($collection as $attribute) {
         if ('customer_activated' != $attribute->getAttributeCode() && 'unlock_customer' != $attribute->getAttributeCode()) {
             // filter attributes by store on the edit customer page in the backend
             if ('customer' == Mage::app()->getRequest()->getControllerName() && 'edit' == Mage::app()->getRequest()->getActionName()) {
                 $applicableStoreIds = explode(',', $attribute->getStoreIds());
                 // 0 means allowed on all store views
                 if (!in_array(0, $applicableStoreIds)) {
                     if (!in_array(Mage::registry('current_customer')->getStoreId(), $applicableStoreIds) && 0 != Mage::registry('current_customer')->getStoreId()) {
                         continue;
                     }
                 }
             }
             if (!in_array($attribute->getAttributeCode(), $temp)) {
                 $attributes[] = $attribute;
             }
         }
     }
     return $attributes;
 }
 public function getAttributes()
 {
     $attributes = parent::getAttributes();
     $collection = Mage::getModel('customer/attribute')->getCollection();
     $collection->addFieldToFilter('is_user_defined', 1);
     $collection->addFieldToFilter('entity_type_id', Mage::getModel('eav/entity')->setType('customer')->getTypeId());
     foreach ($collection as $attribute) {
         if ('customer_activated' != $attribute->getAttributeCode() && 'unlock_customer' != $attribute->getAttributeCode()) {
             $attributes[] = $attribute;
         }
     }
     return $attributes;
 }
Esempio n. 3
0
 /**
  * Handle Read-Only customer
  *
  * @param Varien_Data_Form $form
  * @param Mage_Customer_Model_Customer $customer
  */
 protected function _handleReadOnlyCustomer($form, $customer)
 {
     if (!$customer->isReadonly()) {
         return;
     }
     foreach ($customer->getAttributes() as $attribute) {
         $element = $form->getElement($attribute->getAttributeCode());
         if ($element) {
             $element->setReadonly(true, true);
         }
     }
 }