Esempio n. 1
0
 protected function _prepareForm()
 {
     $form = new Varien_Data_Form();
     $this->setForm($form);
     $fieldset = $form->addFieldset('customergroup', array('legend' => Mage::helper('pointofsale')->__('Customer Group Selection')));
     $model = Mage::getModel('pointofsale/pointofsale');
     $model->load($this->getRequest()->getParam('place_id'));
     $_customer_group = array();
     $customer_group = new Mage_Customer_Model_Group();
     $allGroups = $customer_group->getCollection()->toOptionHash();
     foreach ($allGroups as $key => $allGroup) {
         $_customer_group[$key] = array('value' => $key, 'label' => $allGroup);
     }
     array_unshift($_customer_group, array('value' => "-1", 'label' => Mage::helper('pointofsale')->__('No Customer Group')));
     $fieldset->addField('customer_group', 'multiselect', array('name' => 'customer_group[]', 'label' => Mage::helper('cms')->__('Customer Group'), 'title' => Mage::helper('cms')->__('Customer Group'), 'class' => 'validate-select', 'required' => true, 'values' => $_customer_group));
     if (Mage::getSingleton('adminhtml/session')->getPointofsalePlaceData()) {
         $form->setValues(Mage::getSingleton('adminhtml/session')->getPointofsalePlaceData());
         Mage::getSingleton('adminhtml/session')->getPointofsalePlaceData(null);
     } elseif (Mage::registry('pointofsale_data') && $this->getRequest()->getParam('place_id')) {
         $form->setValues($model);
         $values = array();
         if ($model->getCustomerGroup() != null) {
             foreach (explode(',', $model->getCustomerGroup()) as $k => $v) {
                 $values[] = $v;
             }
             $form->getElement('customer_group')->setValue($values);
         } else {
             $form->getElement('customer_group')->setValue(-1);
         }
     }
     return parent::_prepareForm();
 }
Esempio n. 2
0
 function getGroups()
 {
     $customer_group = new Mage_Customer_Model_Group();
     $allGroups = $customer_group->getCollection()->toOptionHash();
     $customerGroup[99] = array('value' => "99", 'label' => "User Logined");
     foreach ($allGroups as $key => $allGroup) {
         $customerGroup[$key] = array('value' => $key, 'label' => $allGroup);
     }
     return $customerGroup;
 }
Esempio n. 3
0
 /**
  * Define which customer groups are selectable
  *
  * @return array
  */
 public function toOptionArray()
 {
     $customerGroups = new Mage_Customer_Model_Group();
     $allGroups = $customerGroups->getCollection()->toOptionHash();
     $listGroups = array(array('value' => "ALL", 'label' => Mage::helper('ratepaypayment')->__('All Customers')), array('label' => "-------------------", 'value' => false));
     foreach ($allGroups as $value => $label) {
         $listGroups[] = array('label' => $label, 'value' => $value);
     }
     return $listGroups;
 }
Esempio n. 4
0
 public function toOptionArray()
 {
     $customer_group = new Mage_Customer_Model_Group();
     $allGroups = $customer_group->getCollection();
     $allSet = array();
     foreach ($allGroups as $attributeSet) {
         $allSet[] = array('value' => $attributeSet->getCustomerGroupId(), 'label' => $attributeSet->getCustomerGroupCode());
     }
     return $allSet;
 }
 public static function getCustomerGroupsArray()
 {
     // Make sure the static property is only populated once
     if (count(self::$_customerGroups) == 0) {
         $customer_group = new Mage_Customer_Model_Group();
         $customer_groups = $customer_group->getCollection()->toOptionHash();
         self::$_customerGroups = $customer_groups;
     }
     return self::$_customerGroups;
 }
Esempio n. 6
0
 public function toOptionArray()
 {
     $customerGroup = array();
     $customer_group = new Mage_Customer_Model_Group();
     $allGroups = $customer_group->getCollection()->toOptionHash();
     // $customerGroup[-1]=array('value'=>-1,'label'=>'Please select');
     foreach ($allGroups as $key => $allGroup) {
         $customerGroup[$key] = array('value' => $key, 'label' => $allGroup);
     }
     return $customerGroup;
 }
 /**
  * Unfortunately, Magento does not consistently use a single path to request a customer's tax class id.
  * Therefore, we need to overwrite this function, which is called occasionally and circumvents the getTaxClassId()
  * function in Mage_Customer_Model_Customer.
  * If we are to use the Avectra Tax Exempt Status, this function never returns and we rely on the value set in
  * ICC_Customer_Model_Customer::getTaxClassId();
  *
  * @param null $groupId
  * @return mixed
  */
 public function getTaxClassId($groupId = null)
 {
     $useAvectraTaxExemptStatus = Mage::getModel('customer/customer')->useAvectraTaxExemptStatus();
     if ($useAvectraTaxExemptStatus) {
         return parent::getTaxClassId(null);
     }
     return parent::getTaxClassId($groupId);
 }
Esempio n. 8
0
 public function render(Varien_Object $row)
 {
     $_customer_group = array();
     $output = null;
     $customer_group = new Mage_Customer_Model_Group();
     $allGroups = $customer_group->getCollection()->toOptionHash();
     foreach ($allGroups as $key => $allGroup) {
         $_customer_group[$key] = $allGroup;
     }
     $selection = explode(',', $row->getCustomerGroup());
     if (in_array('-1', $selection) || count($selection) < 1) {
         echo Mage::helper('pointofsale')->__("No Customer Group");
         return;
     } else {
         foreach ($selection as $v) {
             $output .= $_customer_group[$v] . "<br>";
         }
     }
     echo $output;
     return;
 }
Esempio n. 9
0
 protected function _createNewCoupon($store, $email)
 {
     $couponamount = Mage::getStoreConfig(Ebizmarts_Autoresponder_Model_Config::REVIEW_COUPON_DISCOUNT, $store);
     $couponexpiredays = Mage::getStoreConfig(Ebizmarts_Autoresponder_Model_Config::REVIEW_COUPON_EXPIRE, $store);
     $coupontype = Mage::getStoreConfig(Ebizmarts_Autoresponder_Model_Config::REVIEW_COUPON_DISCOUNT_TYPE, $store);
     $couponlength = Mage::getStoreConfig(Ebizmarts_Autoresponder_Model_Config::REVIEW_COUPON_LENGTH, $store);
     $couponlabel = Mage::getStoreConfig(Ebizmarts_Autoresponder_Model_Config::REVIEW_COUPON_LABEL, $store);
     $websiteid = Mage::getModel('core/store')->load($store)->getWebsiteId();
     $fromDate = date("Y-m-d");
     $toDate = date('Y-m-d', strtotime($fromDate . " + {$couponexpiredays} day"));
     if ($coupontype == 1) {
         $action = 'cart_fixed';
         $discount = Mage::app()->getStore($store)->getCurrentCurrencyCode() . "{$couponamount}";
     } elseif ($coupontype == 2) {
         $action = 'by_percent';
         $discount = "{$couponamount}%";
     }
     $customer_group = new Mage_Customer_Model_Group();
     $allGroups = $customer_group->getCollection()->toOptionHash();
     $groups = array();
     foreach ($allGroups as $groupid => $name) {
         $groups[] = $groupid;
     }
     $coupon_rule = Mage::getModel('salesrule/rule');
     $coupon_rule->setName("Review coupon {$email}")->setDescription("Review coupon {$email}")->setFromDate($fromDate)->setToDate($toDate)->setIsActive(1)->setCouponType(2)->setUsesPerCoupon(1)->setUsesPerCustomer(1)->setCustomerGroupIds($groups)->setProductIds('')->setLengthMin($couponlength)->setLengthMax($couponlength)->setSortOrder(0)->setStoreLabels(array($couponlabel))->setSimpleAction($action)->setDiscountAmount($couponamount)->setDiscountQty(0)->setDiscountStep('0')->setSimpleFreeShipping('0')->setApplyToShipping('0')->setIsRss(0)->setWebsiteIds($websiteid);
     $uniqueId = Mage::getSingleton('salesrule/coupon_codegenerator', array('length' => $couponlength))->generateCode();
     $coupon_rule->setCouponCode($uniqueId);
     $coupon_rule->save();
     return array($uniqueId, $discount, $toDate);
 }
Esempio n. 10
0
 public function testCRUD()
 {
     $this->_model->setCustomerGroupCode('test');
     $crud = new Magento_Test_Entity($this->_model, array('customer_group_code' => uniqid()));
     $crud->testCrud();
 }
Esempio n. 11
0
 public function getGroups()
 {
     $customer_group = new Mage_Customer_Model_Group();
     $allGroups = $customer_group->getCollection()->toOptionHash();
     $data = array();
     foreach ($allGroups as $label => $allGroup) {
         $data[] = array('label' => $allGroup, 'value' => $label);
     }
     return $data;
 }
Esempio n. 12
0
 public function getOptionsGroup()
 {
     $customer_group = new Mage_Customer_Model_Group();
     $allGroups = $customer_group->getCollection()->toOptionHash();
     $data = array();
     foreach ($allGroups as $label => $allGroup) {
         $data['g/' . $label] = $allGroup;
     }
     return $data;
 }
Esempio n. 13
0
 /**
  * @param $store
  * @param $email
  * @return array
  */
 protected function _createNewCoupon($store, $email)
 {
     $collection = Mage::getModel('salesrule/rule')->getCollection()->addFieldToFilter('name', array('like' => 'Abandoned coupon ' . $email));
     if (!count($collection)) {
         $websiteid = Mage::getModel('core/store')->load($store)->getWebsiteId();
         $fromDate = date("Y-m-d");
         $toDate = date('Y-m-d', strtotime($fromDate . " + {$this->couponexpiredays} day"));
         if ($this->coupontype == 1) {
             $action = 'cart_fixed';
             $discount = Mage::app()->getStore($store)->getCurrentCurrencyCode() . "{$this->couponamount}";
         } elseif ($this->coupontype == 2) {
             $action = 'by_percent';
             $discount = "{$this->couponamount}%";
         }
         $customer_group = new Mage_Customer_Model_Group();
         $allGroups = $customer_group->getCollection()->toOptionHash();
         $groups = array();
         foreach ($allGroups as $groupid => $name) {
             $groups[] = $groupid;
         }
         $coupon_rule = Mage::getModel('salesrule/rule');
         $coupon_rule->setName("Abandoned coupon {$email}")->setDescription("Abandoned coupon {$email}")->setStopRulesProcessing(0)->setFromDate($fromDate)->setToDate($toDate)->setIsActive(1)->setCouponType(2)->setUsesPerCoupon(1)->setUsesPerCustomer(1)->setCustomerGroupIds($groups)->setProductIds('')->setLengthMin($this->couponlength)->setLengthMax($this->couponlength)->setSortOrder(0)->setStoreLabels(array($this->couponlabel))->setSimpleAction($action)->setDiscountAmount($this->couponamount)->setDiscountQty(0)->setDiscountStep('0')->setSimpleFreeShipping('0')->setApplyToShipping('0')->setIsRss(0)->setWebsiteIds($websiteid);
         $uniqueId = Mage::getSingleton('salesrule/coupon_codegenerator', array('length' => $this->couponlength))->generateCode();
         $coupon_rule->setCouponCode($uniqueId);
         $coupon_rule->save();
         return array($uniqueId, $discount, $toDate);
     } else {
         $coupon = $collection->getFirstItem();
         if ($coupon->getSimpleAction() == 'cart_fixed') {
             $discount = Mage::app()->getStore($store)->getCurrentCurrencyCode() . ($coupon->getDiscountAmount() + 0);
         } else {
             $discount = $coupon->getDiscountAmount() + 0;
         }
         return array($coupon->getCode(), $discount, $coupon->getToDate());
     }
 }
Esempio n. 14
0
 /**
  * Set the posted allowed payment methods on the customer group model.
  *
  * @param Mage_Customer_Model_Group $group
  * @return null
  */
 protected function _setPaymentFilterOnGroup(Mage_Customer_Model_Group $group)
 {
     if (Mage::app()->getRequest()->getParam('payment_methods_posted')) {
         $allowedPaymentMethds = Mage::app()->getRequest()->getParam('allowed_payment_methods');
         $group->setAllowedPaymentMethods($allowedPaymentMethds);
     }
 }
Esempio n. 15
0
 /**
  * Retrieve fixed bundle base price (with special price and rules)
  *
  * @param int $productId
  * @param array $priceData
  * @param Mage_Core_Model_Website $website
  * @param Mage_Customer_Model_Group $customerGroup
  * @return float
  */
 protected function _getBasePrice($productId, array $priceData, $website, $customerGroup)
 {
     $store = $website->getDefaultStore();
     $storeTimeStamp = Mage::app()->getLocale()->storeTimeStamp($store);
     $finalPrice = $this->_calculateSpecialPrice($priceData['price'], $priceData, $website);
     $rulePrice = Mage::getResourceModel('catalogrule/rule')->getRulePrice($storeTimeStamp, $website->getId(), $customerGroup->getId(), $productId);
     if ($rulePrice !== null && $rulePrice !== false) {
         $finalPrice = min($finalPrice, $rulePrice);
     }
     return $finalPrice;
 }
Esempio n. 16
0
 private function getGroupIdOf($name)
 {
     $claz = new Mage_Customer_Model_Group();
     $coll = $claz->getCollection();
     foreach ($coll as $group) {
         $code = $group->getCustomerGroupCode();
         $id = $group->getCustomerGroupId();
         switch ($code) {
             case "NOT_LOGGED_IN":
                 $res = $id;
                 break;
             case "" . $name:
                 $res = $id;
                 continue;
         }
     }
     return $res;
 }
Esempio n. 17
0
 /**
  * @return bool
  */
 public function indexAction()
 {
     $dealerNumber = $this->decrypt($this->getRequest()->getParam('dealer_number'));
     $dealerName = $this->decrypt($this->getRequest()->getParam('dealer_name'));
     $dealerCountry = $this->decrypt($this->getRequest()->getParam('dealer_country'));
     $dealerAddress = $this->decrypt($this->getRequest()->getParam('address'));
     $dealerCity = $this->decrypt($this->getRequest()->getParam('city'));
     $dealerState = $this->decrypt($this->getRequest()->getParam('state'));
     $dealerZip = $this->decrypt($this->getRequest()->getParam('zipcode'));
     $dealerPhone = $this->decrypt($this->getRequest()->getParam('phone'));
     $firstName = $this->decrypt($this->getRequest()->getParam('first_name'));
     $lastName = $this->decrypt($this->getRequest()->getParam('last_name'));
     $emailAddress = $this->decrypt($this->getRequest()->getParam('email_address'));
     $customer = Mage::getModel('customer/customer');
     $customer->setWebsiteId(Mage::app()->getWebsite()->getId());
     $customer->loadByEmail($emailAddress);
     /*
      * Check if the email exist on the system.
      * If YES,  it will not create a user account.
      */
     if (!$customer->getId()) {
         //setting data such as email, firstname, lastname, and password
         $customer->setEmail($emailAddress);
         $customer->setUsername($dealerNumber);
         $customer_group = new Mage_Customer_Model_Group();
         $allGroups = $customer_group->getCollection()->toOptionHash();
         if ($dealerCountry == 'USA') {
             foreach ($allGroups as $key => $allGroup) {
                 if (strtolower($allGroup) == 'usa') {
                     $customer->setData('group_id', $key);
                     break;
                 }
             }
         } else {
             if ($dealerCountry == 'Canada') {
                 foreach ($allGroups as $key => $allGroup) {
                     if (strtolower($allGroup) == 'canada') {
                         $customer->setData('group_id', $key);
                         break;
                     }
                 }
             } else {
                 foreach ($allGroups as $key => $allGroup) {
                     if (strtolower($allGroup) == 'europe') {
                         $customer->setData('group_id', $key);
                         break;
                     }
                 }
             }
         }
         $customer->setFirstname($firstName);
         $customer->setLastname($lastName);
         $customer->setPassword($customer->generatePassword(8));
     }
     try {
         //the save the data and send the new account email.
         $customer->save();
         $customer->setConfirmation(null);
         $customer->save();
         //$customer->sendNewAccountEmail();
     } catch (Exception $ex) {
         return false;
     }
     if ($dealerCountry == "USA") {
         $dealerCountry = 'United States';
     } else {
         $dealerCountry = 'Canada';
     }
     $collection = Mage::getModel('directory/country')->getCollection();
     foreach ($collection as $country) {
         $cname = $country->getName();
         if ($cname == $dealerCountry) {
             $cid = $country->getId();
             //$ccode = $country->getCode();
             break;
         }
     }
     $regionModel = Mage::getModel('directory/region')->loadByCode($dealerState, $cid);
     $regionId = $regionModel->getId();
     //$addresses = Mage::getModel("customer/address")->getCollection();
     if (count($customer->getAddresses()) == 0) {
         $address = Mage::getModel("customer/address");
         $address->setCustomerId($customer->getId());
         $address->setFirstname($customer->getFirstname());
         $address->setLastname($customer->getLastname());
         $address->setCountryId($cid);
         //Country code here
         $address->setStreet($dealerAddress);
         $address->setPostcode($dealerZip);
         $address->setCity($dealerCity);
         $address->setRegionId($regionId);
         $address->setTelephone($dealerPhone);
         $address->setIsDefaultShipping(true);
         $address->setIsDefaultBilling(true);
         $address->save();
     }
     $session = Mage::getSingleton('customer/session');
     try {
         //echo 'fff'.$customer->getEmail().'----'.$customer->getPassword();
         $session->loginById($customer->getId());
         $session->setCustomerAsLoggedIn($session->getCustomer());
     } catch (Exception $e) {
         return false;
     }
     Mage::app()->getResponse()->setRedirect(Mage::getUrl('customer/account/index'));
     return true;
 }