protected function _prepareForm() { $oParent = parent::_prepareForm(); $oModel = Mage::registry('current_promo_quote_rule'); $oForm = $oParent->getForm(); foreach ($oForm->getElements() as $aElement) { $aElement->removeField('customer_group_ids'); # d(get_class_methods($aElement)); # d($aElement->getElement('customer_group_ids')); # d($aElement->getElementHtml()); } // set groups and individuals $fieldset = $oForm->addFieldset('assign_fieldset', array('legend' => Mage::helper('salesrule')->__('Assign To'))); $oAitindividpromo = Mage::getModel('aitindividpromo/aitindividpromo'); $customerGroups = $oAitindividpromo->getCustomerGroups(true); /* $fieldset->addField('is_individ', 'select', array( 'label' => Mage::helper('salesrule')->__('Assign Type'), 'title' => Mage::helper('salesrule')->__('Assign Type'), 'name' => 'is_individ', 'required' => true, 'options' => array( '0' => Mage::helper('salesrule')->__('Customer Groups'), '1' => Mage::helper('salesrule')->__('Individual Customers'), ), )); */ if ($oModel->getId()) { $aData = $oModel->getData(); $aGroupValues = $aData['customer_group_ids']; } else { $aGroupValues = array(); } # $oForm->addValues(array('is_individ' => $iAssignType)); $fieldset->addField('customer_group_ids', 'multiselect', array('name' => 'customer_group_ids[]', 'label' => Mage::helper('salesrule')->__('Customer Groups'), 'title' => Mage::helper('salesrule')->__('Customer Groups'), 'required' => false, 'values' => $customerGroups)); $oForm->addValues(array('customer_group_ids' => $aGroupValues)); /* $fieldset->addField('customer_individ_ids', 'multiselect', array( 'name' => 'customer_individ_ids[]', 'label' => Mage::helper('salesrule')->__('Individual Customers'), 'title' => Mage::helper('salesrule')->__('Individual Customers'), 'required' => true, 'values' => $aCustomerList, )); $oForm->addValues(array('customer_individ_ids' => $aCustomerValues)); */ $fieldset->addField('replace_placeholder', 'hidden', array('name' => 'replace_placeholder')); $fieldset->addField('customer_individ_ids', 'hidden', array('name' => 'customer_individ_ids')); return $oForm; }
protected function _prepareForm() { parent::_prepareForm(); $vendorId = Mage::registry('current_promo_quote_rule')->getData('vendor_id'); if (($vendor = Mage::helper('smvendors')->getVendorLogin()) || $vendorId) { if (!$vendorId) { $vendorId = $vendor->getId(); } $customerGroups = Mage::getResourceModel('customer/group_collection')->addFieldToFilter('vendor_id', array($vendorId, 0))->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 = $this->getForm()->getElement('base_fieldset'); $customerGroupsElement = $fieldset->getElements()->searchById('customer_group_ids'); $customerGroupsElement->setValues($customerGroups); } return $this; }
protected function _prepareForm() { parent::_prepareForm(); $model = Mage::registry('current_promo_quote_rule'); $form = new Varien_Data_Form(); $form->setHtmlIdPrefix('rule_'); $fieldset = $form->addFieldset('base_fieldset', array('legend' => Mage::helper('salesrule')->__('General Information'))); if ($model->getId()) { $fieldset->addField('rule_id', 'hidden', array('name' => 'rule_id')); } $fieldset->addField('product_ids', 'hidden', array('name' => 'product_ids')); $fieldset->addField('name', 'text', array('name' => 'name', 'label' => Mage::helper('salesrule')->__('Rule Name'), 'title' => Mage::helper('salesrule')->__('Rule Name'), 'required' => true)); $fieldset->addField('description', 'textarea', array('name' => 'description', 'label' => Mage::helper('salesrule')->__('Description'), 'title' => Mage::helper('salesrule')->__('Description'), 'style' => 'height: 100px;')); $fieldset->addField('is_active', 'select', array('label' => Mage::helper('salesrule')->__('Status'), 'title' => Mage::helper('salesrule')->__('Status'), 'name' => 'is_active', 'required' => true, 'options' => array('1' => Mage::helper('salesrule')->__('Active'), '0' => Mage::helper('salesrule')->__('Inactive')))); if (!$model->getId()) { $model->setData('is_active', '1'); } if (Mage::app()->isSingleStoreMode()) { $websiteId = Mage::app()->getStore(true)->getWebsiteId(); $fieldset->addField('website_ids', 'hidden', array('name' => 'website_ids[]', 'value' => $websiteId)); $model->setWebsiteIds($websiteId); } else { $field = $fieldset->addField('website_ids', 'multiselect', array('name' => 'website_ids[]', 'label' => Mage::helper('salesrule')->__('Websites'), 'title' => Mage::helper('salesrule')->__('Websites'), 'required' => true, 'values' => Mage::getSingleton('adminhtml/system_store')->getWebsiteValuesForForm())); $renderer = $this->getLayout()->createBlock('adminhtml/store_switcher_form_renderer_fieldset_element'); $field->setRenderer($renderer); } $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('salesrule')->__('NOT LOGGED IN'))); } $fieldset->addField('customer_group_ids', 'multiselect', array('name' => 'customer_group_ids[]', 'label' => Mage::helper('salesrule')->__('Customer Groups'), 'title' => Mage::helper('salesrule')->__('Customer Groups'), 'required' => true, 'values' => Mage::getResourceModel('customer/group_collection')->toOptionArray())); $fieldset->addField('used_for_coupon_system', 'checkbox', array('name' => 'used_for_coupon_system', 'label' => Mage::helper('sales')->__('Use For Coupon System'), 'checked' => (int) $model->getUsedForCouponSystem() > 0 ? 'checked' : '', 'onclick' => 'this.value = this.checked ? 1 : 0;')); $couponTypeFiled = $fieldset->addField('coupon_type', 'select', array('name' => 'coupon_type', 'label' => Mage::helper('salesrule')->__('Coupon'), 'required' => true, 'options' => Mage::getModel('salesrule/rule')->getCouponTypes())); $couponCodeFiled = $fieldset->addField('coupon_code', 'text', array('name' => 'coupon_code', 'label' => Mage::helper('salesrule')->__('Coupon Code'), 'required' => true)); $autoGenerationCheckbox = $fieldset->addField('use_auto_generation', 'checkbox', array('name' => 'use_auto_generation', 'label' => Mage::helper('salesrule')->__('Use Auto Generation'), 'note' => Mage::helper('salesrule')->__('If you select and save the rule you will be able to generate multiple coupon codes.'), 'onclick' => 'handleCouponsTabContentActivity()', 'checked' => (int) $model->getUseAutoGeneration() > 0 ? 'checked' : '')); $autoGenerationCheckbox->setRenderer($this->getLayout()->createBlock('adminhtml/promo_quote_edit_tab_main_renderer_checkbox')); $usesPerCouponFiled = $fieldset->addField('uses_per_coupon', 'text', array('name' => 'uses_per_coupon', 'label' => Mage::helper('salesrule')->__('Uses per Coupon'))); $fieldset->addField('uses_per_customer', 'text', array('name' => 'uses_per_customer', 'label' => Mage::helper('salesrule')->__('Uses per Customer'), 'note' => Mage::helper('salesrule')->__('Usage limit enforced for logged in customers only'))); $dateFormatIso = Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT); $fieldset->addField('from_date', 'date', array('name' => 'from_date', 'label' => Mage::helper('salesrule')->__('From Date'), 'title' => Mage::helper('salesrule')->__('From Date'), 'image' => $this->getSkinUrl('images/grid-cal.gif'), 'input_format' => Varien_Date::DATE_INTERNAL_FORMAT, 'format' => $dateFormatIso)); $fieldset->addField('to_date', 'date', array('name' => 'to_date', 'label' => Mage::helper('salesrule')->__('To Date'), 'title' => Mage::helper('salesrule')->__('To Date'), 'image' => $this->getSkinUrl('images/grid-cal.gif'), 'input_format' => Varien_Date::DATE_INTERNAL_FORMAT, 'format' => $dateFormatIso)); $fieldset->addField('sort_order', 'text', array('name' => 'sort_order', 'label' => Mage::helper('salesrule')->__('Priority'))); $fieldset->addField('is_rss', 'select', array('label' => Mage::helper('salesrule')->__('Public In RSS Feed'), 'title' => Mage::helper('salesrule')->__('Public In RSS Feed'), 'name' => 'is_rss', 'options' => array('1' => Mage::helper('salesrule')->__('Yes'), '0' => Mage::helper('salesrule')->__('No')))); if (!$model->getId()) { //set the default value for is_rss feed to yes for new promotion $model->setIsRss(1); } $form->setValues($model->getData()); $autoGenerationCheckbox->setValue(1); if ($model->isReadonly()) { foreach ($fieldset->getElements() as $element) { $element->setReadonly(true, true); } } //$form->setUseContainer(true); $this->setForm($form); // field dependencies $this->setChild('form_after', $this->getLayout()->createBlock('adminhtml/widget_form_element_dependence')->addFieldMap($couponTypeFiled->getHtmlId(), $couponTypeFiled->getName())->addFieldMap($couponCodeFiled->getHtmlId(), $couponCodeFiled->getName())->addFieldMap($autoGenerationCheckbox->getHtmlId(), $autoGenerationCheckbox->getName())->addFieldMap($usesPerCouponFiled->getHtmlId(), $usesPerCouponFiled->getName())->addFieldDependence($couponCodeFiled->getName(), $couponTypeFiled->getName(), Mage_SalesRule_Model_Rule::COUPON_TYPE_SPECIFIC)->addFieldDependence($autoGenerationCheckbox->getName(), $couponTypeFiled->getName(), Mage_SalesRule_Model_Rule::COUPON_TYPE_SPECIFIC)->addFieldDependence($usesPerCouponFiled->getName(), $couponTypeFiled->getName(), Mage_SalesRule_Model_Rule::COUPON_TYPE_SPECIFIC)); Mage::dispatchEvent('adminhtml_promo_quote_edit_tab_main_prepare_form', array('form' => $form)); return $this; }