/app/code/core/Mage/Adminhtml/Block/Promo/Quote/Edit/Tab/Main.php
PHP | 281 lines | 192 code | 35 blank | 54 comment | 8 complexity | d6d1a514ca878a91bb0f8fdfee56b858 MD5 | raw file
- <?php
- /**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category Mage
- * @package Mage_Adminhtml
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
- */
-
- /**
- * Shopping Cart Price Rule General Information Tab
- *
- * @category Mage
- * @package Mage_Adminhtml
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Mage_Adminhtml_Block_Promo_Quote_Edit_Tab_Main
- extends Mage_Adminhtml_Block_Widget_Form
- implements Mage_Adminhtml_Block_Widget_Tab_Interface
- {
- /**
- * Prepare content for tab
- *
- * @return string
- */
- public function getTabLabel()
- {
- return Mage::helper('salesrule')->__('Rule Information');
- }
-
- /**
- * Prepare title for tab
- *
- * @return string
- */
- public function getTabTitle()
- {
- return Mage::helper('salesrule')->__('Rule Information');
- }
-
- /**
- * Returns status flag about this tab can be showed or not
- *
- * @return true
- */
- public function canShowTab()
- {
- return true;
- }
-
- /**
- * Returns status flag about this tab hidden or not
- *
- * @return true
- */
- public function isHidden()
- {
- return false;
- }
-
- protected function _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(),
- ));
-
- $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'),
- ));
-
- $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 parent::_prepareForm();
- }
- }