Esempio n. 1
0
 protected function _prepareForm()
 {
     $form_detail = new Varien_Data_Form();
     $this->setForm($form_detail);
     $rule_id = $this->getRequest()->getParam('id');
     $default_expired = 0;
     $set_default_expired = false;
     $default_expired = Mage::getModel('rewardpoints/activerules')->load($rule_id)->getDefaultExpired();
     if ($default_expired == 1) {
         $set_default_expired = true;
     }
     $fieldset = $form_detail->addFieldset('rewardpoints_form', array('legend' => Mage::helper('rewardpoints')->__('Change Reward Points Of Customer')));
     $fieldset->addField('rule_name', 'text', array('label' => Mage::helper('rewardpoints')->__('Rule name'), 'required' => true, 'name' => 'rule_name'));
     $fieldset->addField('type_of_transaction', 'select', array('label' => Mage::helper('rewardpoints')->__('Reward for'), 'class' => 'required-entry', 'name' => 'type_of_transaction', 'values' => MW_RewardPoints_Model_Type::getTypeReward()));
     $fieldset->addField('status', 'select', array('label' => Mage::helper('rewardpoints')->__('Status'), 'name' => 'status', 'required' => true, 'values' => array(array('value' => 1, 'label' => Mage::helper('rewardpoints')->__('Enabled')), array('value' => 2, 'label' => Mage::helper('rewardpoints')->__('Disabled'))), 'note' => Mage::helper('rewardpoints')->__('Enable and Save rule to activate')));
     if (!Mage::app()->isSingleStoreMode()) {
         $fieldset->addField('store_view', 'multiselect', array('name' => 'store_view[]', 'label' => Mage::helper('rewardpoints')->__('Store View'), 'title' => Mage::helper('rewardpoints')->__('Store View'), 'required' => true, 'values' => Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true)));
     } else {
         $fieldset->addField('store_view', 'hidden', array('name' => 'store_view[]'));
     }
     $customerGroups = Mage::getResourceModel('customer/group_collection')->load()->toOptionArray();
     $found = false;
     foreach ($customerGroups as $group) {
         if ($group['value'] == 0) {
             $found = true;
         }
     }
     if (!$found) {
         array_unshift($customerGroups, array('value' => 0, 'label' => Mage::helper('catalogrule')->__('NOT LOGGED IN')));
     }
     $fieldset->addField('customer_group_ids', 'multiselect', array('name' => 'customer_group_ids[]', 'label' => Mage::helper('rewardpoints')->__('Customer Groups'), 'title' => Mage::helper('rewardpoints')->__('Customer Groups'), 'required' => true, 'values' => $customerGroups));
     $fieldset->addField('date_event', 'date', array('label' => Mage::helper('rewardpoints')->__('Date Event'), 'name' => 'date_event', 'image' => $this->getSkinUrl('images/grid-cal.gif'), 'format' => 'yyyy-MM-dd'));
     $fieldset->addField('comment', 'textarea', array('label' => Mage::helper('rewardpoints')->__('Comment'), 'name' => 'comment', 'style' => 'height:100px'));
     $fieldset->addField('default_expired', 'checkbox', array('label' => Mage::helper('rewardpoints')->__('Use default point expiration time'), 'onclick' => 'this.value = this.checked ? 1 : 0;', 'name' => 'default_expired', 'checked' => $set_default_expired, 'note' => Mage::helper('rewardpoints')->__('Set in Configuration / General Settings')));
     $fieldset->addField('expired_day', 'text', array('label' => Mage::helper('rewardpoints')->__('Reward Points Expire in (days)'), 'class' => 'validate-digits', 'name' => 'expired_day', 'note' => Mage::helper('rewardpoints')->__('Insert 0 if no limitation.')));
     $fieldset->addField('coupon_code', 'text', array('label' => Mage::helper('rewardpoints')->__('Coupon code'), 'class' => 'mw-rewardpoint-validate-coupon-code', 'name' => 'coupon_code'));
     $fieldset->addField('reward_point', 'text', array('label' => Mage::helper('rewardpoints')->__('Reward Points'), 'required' => true, 'class' => 'validate-digits', 'name' => 'reward_point', 'note' => Mage::helper('rewardpoints')->__('Format x (fixed number of points) or x/y (earn x points for every y monetary units spent)')));
     if ($id = $this->getRequest()->getParam('id')) {
         $type = Mage::getModel('rewardpoints/activerules')->load($id)->getTypeOfTransaction();
         if ($type == MW_RewardPoints_Model_Type::CUSTOM_RULE) {
             $fieldset->addField('custom_rule', 'note', array('label' => Mage::helper('rewardpoints')->__('Referral Link'), 'text' => Mage::helper('rewardpoints')->getLinkCustomRule($this->getRequest()->getParam('id'))));
         }
     }
     /*
                 $fieldset->addField('reward_point_number', 'text', array(
                     'label'     => Mage::helper('rewardpoints')->__('Reward Points'),
                     'class'     => 'validate-digits',
                     'required'  => true,
                     'name'      => 'reward_point_number',
                     'value'     => $reward_point,
                     ));*/
     if (Mage::getSingleton('adminhtml/session')->getDataActiverules()) {
         $form_detail->setValues(Mage::getSingleton('adminhtml/session')->getDataActiverules());
         Mage::getSingleton('adminhtml/session')->setDataActiverules(null);
     } elseif (Mage::registry('data_activerules')) {
         $form_detail->setValues(Mage::registry('data_activerules')->getData());
     }
     return parent::_prepareForm();
 }
Esempio n. 2
0
 protected function _prepareColumns()
 {
     $this->addColumn('rule_id', array('header' => Mage::helper('rewardpoints')->__('ID'), 'align' => 'center', 'width' => '120px', 'index' => 'rule_id'));
     $this->addColumn('rule_name', array('header' => Mage::helper('rewardpoints')->__('Rule name'), 'align' => 'left', 'index' => 'rule_name', 'type' => 'text'));
     $this->addColumn('type_of_transaction', array('header' => Mage::helper('rewardpoints')->__('Transaction Type'), 'align' => 'left', 'index' => 'type_of_transaction', 'type' => 'options', 'options' => MW_RewardPoints_Model_Type::getTypeReward()));
     if (!Mage::app()->isSingleStoreMode()) {
         $this->addColumn('store_view', array('header' => Mage::helper('rewardpoints')->__('Store View'), 'index' => 'store_view', 'type' => 'store', 'store_all' => true, 'store_view' => true, 'sortable' => false, 'filter_condition_callback' => array($this, '_filterStoreCondition')));
     }
     $this->addColumn('reward_point', array('header' => Mage::helper('rewardpoints')->__('Set Reward Points'), 'align' => 'left', 'index' => 'reward_point', 'type' => 'text', 'width' => '150px'));
     $this->addColumn('status', array('header' => Mage::helper('rewardpoints')->__('Status'), 'align' => 'left', 'width' => '120px', 'index' => 'status', 'type' => 'options', 'options' => array(1 => 'Enabled', 2 => 'Disabled')));
     $this->addColumn('action', array('header' => Mage::helper('rewardpoints')->__('Action'), 'width' => '80px', 'type' => 'action', 'getter' => 'getId', 'actions' => array(array('caption' => Mage::helper('rewardpoints')->__('View'), 'url' => array('base' => '*/*/edit'), 'field' => 'id')), 'filter' => false, 'sortable' => false, 'index' => 'stores', 'is_system' => true));
     $this->addExportType('*/*/exportCsv', Mage::helper('rewardpoints')->__('CSV'));
     $this->addExportType('*/*/exportXml', Mage::helper('rewardpoints')->__('XML'));
     return parent::_prepareColumns();
 }
Esempio n. 3
0
 public function setDateRange($from, $to)
 {
     $type_add_point = MW_RewardPoints_Model_Type::getAddPointArray();
     $type_subtract_point = MW_RewardPoints_Model_Type::getSubtractPointArray();
     //zend_debug::dump($type_add_point);die();
     $this->_reset()->addFieldToFilter('transaction_time', array('from' => $from, 'to' => $to, 'datetime' => true));
     $this->addFieldToFilter('status', MW_RewardPoints_Model_Status::COMPLETE);
     $this->addFieldToFilter('status_check', array('neq' => MW_RewardPoints_Model_Status::REFUNDED));
     //$this ->addFieldToFilter('type_of_transaction',array('in'=>array($type_subtract_point)));
     $this->addExpressionFieldToSelect('total_rewarded_sum', 'sum(if(type_of_transaction IN (' . implode(",", $this->use_type) . '),amount,0))', 'total_rewarded_sum');
     $this->addExpressionFieldToSelect('total_redeemed_sum', 'sum(if(type_of_transaction IN (' . MW_RewardPoints_Model_Type::USE_TO_CHECKOUT . ') && status_check != ' . MW_RewardPoints_Model_Status::REFUNDED . ',amount,0))', 'total_redeemed_sum');
     $this->addExpressionFieldToSelect('sign_up_count', 'count(distinct if(type_of_transaction IN (1),history_id,null))', 'sign_up_count');
     $this->addExpressionFieldToSelect('order_id_count', 'count(distinct if(type_of_transaction IN (6,14,8,11,30) and history_order_id != 0,history_order_id,null))', 'order_id_count');
     $this->addExpressionFieldToSelect('customer_id_count', 'count( distinct customer_id)', 'customer_id_count');
     //$this->getSelect()->group(array('customer_id'));
     // echo $this->getSelect();die();
     return $this;
 }
Esempio n. 4
0
 public function setDateRange($from, $to)
 {
     $type_add_point = MW_RewardPoints_Model_Type::getAddPointArray();
     $type_subtract_point = MW_RewardPoints_Model_Type::getSubtractPointArray();
     //zend_debug::dump($type_add_point);die();
     $this->_reset()->addFieldToFilter('transaction_time', array('from' => $from, 'to' => $to, 'datetime' => true));
     $this->addFieldToFilter('status', MW_RewardPoints_Model_Status::COMPLETE);
     $this->addFieldToFilter('status_check', array('neq' => MW_RewardPoints_Model_Status::REFUNDED));
     //$this ->addFieldToFilter('type_of_transaction',array('in'=>array($type_subtract_point)));
     $this->addExpressionFieldToSelect('total_rewarded_sum', 'sum(if(type_of_transaction IN (' . implode(",", $this->use_type) . '),amount,0))', 'total_rewarded_sum');
     $this->addExpressionFieldToSelect('rewarded_on_purchases_sum', 'sum(if(type_of_transaction IN (' . implode(",", $this->group_order) . '),amount,0))', 'rewarded_on_purchases_sum');
     $this->addExpressionFieldToSelect('rewarded_on_sign_up_sum', 'sum(if(type_of_transaction IN (1),amount,0))', 'rewarded_on_sign_up_sum');
     $this->addExpressionFieldToSelect('rewarded_on_subscribers_sum', 'sum(if(type_of_transaction IN (16),amount,0))', 'rewarded_on_subscribers_sum');
     $this->addExpressionFieldToSelect('rewarded_on_reviews_sum', 'sum(if(type_of_transaction IN (2),amount,0))', 'rewarded_on_reviews_sum');
     $this->addExpressionFieldToSelect('rewarded_on_birthday_sum', 'sum(if(type_of_transaction IN (' . implode(",", $this->group_birthday) . '),amount,0))', 'rewarded_on_birthday_sum');
     $this->addExpressionFieldToSelect('rewarded_on_referal_sum', 'sum(if(type_of_transaction IN (' . implode(",", $this->group_referal) . '),amount,0))', 'rewarded_on_referal_sum');
     $this->addExpressionFieldToSelect('added_by_admin_sum', 'sum(if(type_of_transaction IN (12),amount,0))', 'added_by_admin_sum');
     $this->addExpressionFieldToSelect('other_rewards_sum', 'sum(if(type_of_transaction IN (' . implode(",", $this->group_other) . '),amount,0))', 'other_rewards_sum');
     $this->addExpressionFieldToSelect('total_transaction_count', 'count( distinct if(type_of_transaction IN (' . implode(",", $this->use_type) . '),history_id,null))', 'total_transaction_count');
     //$this->getSelect()->group(array('customer_id'));
     return $this;
 }
Esempio n. 5
0
 public function sendEmailCustomerPointChangedNew($customer_id, $data, $store_id)
 {
     $_customer = Mage::getModel('rewardpoints/customer')->load($customer_id);
     $subscribed_balance_update = $_customer->getSubscribedBalanceUpdate();
     if ($this->allowSendEmailNotifications($store_id) && $subscribed_balance_update == 1) {
         $store_name = Mage::getStoreConfig('general/store_information/name', $store_id);
         $sender = Mage::getStoreConfig('rewardpoints/email_notifications/email_sender', $store_id);
         $email = Mage::getModel('customer/customer')->load($customer_id)->getEmail();
         $name = Mage::getModel('customer/customer')->load($customer_id)->getName();
         $teampale = 'rewardpoints/email_notifications/points_balance';
         $sender_name = Mage::getStoreConfig('trans_email/ident_' . $sender . '/name', $store_id);
         //$customer_link = Mage::app()->getStore($store_id)->getUrl('rewardpoints/rewardpoints/index');
         $customer_link = Mage::getBaseUrl();
         $data_mail['customer_name'] = $name;
         $data_mail['transaction_amount'] = MW_RewardPoints_Model_Type::getAmountWithSign($data['amount'], $data['type_of_transaction']);
         $data_mail['customer_balance'] = $data['balance'];
         $comment = MW_RewardPoints_Model_Type::getTransactionDetail($data['type_of_transaction'], $data['transaction_detail'], $data['status']);
         $data_mail['transaction_detail'] = $comment;
         $data_mail['transaction_time'] = Mage::helper('core')->formatDate($data['transaction_time']) . " " . Mage::helper('core')->formatTime($data['transaction_time']);
         $data_mail['sender_name'] = $sender_name;
         $data_mail['store_name'] = $store_name;
         $data_mail['customer_link'] = $customer_link;
         $data_mail['email_contact'] = Mage::getStoreConfig('trans_email/ident_support/email', $store_id);
         $data_mail['phone_contact'] = Mage::getStoreConfig('general/store_information/phone', $store_id);
         $this->_sendEmailTransaction($sender, $email, $name, $teampale, $data_mail, $store_id);
     }
 }
Esempio n. 6
0
 public function getPositiveAmount($amount, $type)
 {
     $result = MW_RewardPoints_Model_Type::getAmountWithSign($amount, $type);
     return $result > 0 ? $result : 0;
 }