From b4a5bb194ae17e5a97236acd40109353c059cd4f Mon Sep 17 00:00:00 2001 From: tDidierjean Date: Wed, 21 Dec 2011 15:40:41 +0000 Subject: [PATCH] // Fix SpecificPriceRule form and multishop --- .../themes/template/specific_price_rule/form.tpl | 3 +++ classes/helper/HelperForm.php | 5 ++++- .../admin/AdminSpecificPriceRuleController.php | 15 +++++++++------ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/admin-dev/themes/template/specific_price_rule/form.tpl b/admin-dev/themes/template/specific_price_rule/form.tpl index 84adf88c9..31750cd74 100755 --- a/admin-dev/themes/template/specific_price_rule/form.tpl +++ b/admin-dev/themes/template/specific_price_rule/form.tpl @@ -115,6 +115,9 @@ +{if !$is_multishop} + +{/if} {/block} {block name="script"} diff --git a/classes/helper/HelperForm.php b/classes/helper/HelperForm.php index 76d97734f..a80510cba 100644 --- a/classes/helper/HelperForm.php +++ b/classes/helper/HelperForm.php @@ -81,10 +81,13 @@ class HelperFormCore extends Helper $color = true; $date = true; $tinymce = true; - foreach ($this->fields_form as $fieldset) + foreach ($this->fields_form as $fieldset_key => $fieldset) if (isset($fieldset['form']['input'])) foreach ($fieldset['form']['input'] as $key => $params) { + // If the condition is not met, the field will not be displayed + if (isset($params['condition']) && !$params['condition']) + unset($this->fields_form[$fieldset_key]['form']['input'][$key]); switch ($params['type']) { case 'categories': diff --git a/controllers/admin/AdminSpecificPriceRuleController.php b/controllers/admin/AdminSpecificPriceRuleController.php index 223a20dff..1bd5e313f 100755 --- a/controllers/admin/AdminSpecificPriceRuleController.php +++ b/controllers/admin/AdminSpecificPriceRuleController.php @@ -93,12 +93,10 @@ class AdminSpecificPriceRuleController extends AdminController 'from' => array( 'title' => $this->l('From'), 'align' => 'center', - ), 'to' => array( 'title' => $this->l('To'), 'align' => 'center', - ), ); @@ -129,6 +127,7 @@ class AdminSpecificPriceRuleController extends AdminController 'id' => 'id_shop', 'name' => 'name' ), + 'condition' => Shop::isFeatureActive() ), array( 'type' => 'select', @@ -166,7 +165,8 @@ class AdminSpecificPriceRuleController extends AdminController 'name' => 'from_quantity', 'size' => 6, 'maxlength' => 10, - 'value' => '1' + 'value' => '1', + 'required' => true ), array( 'type' => 'text', @@ -182,12 +182,14 @@ class AdminSpecificPriceRuleController extends AdminController 'label' => $this->l('From:'), 'name' => 'from', 'size' => 12, + 'required' => true ), array( 'type' => 'date', 'label' => $this->l('To:'), 'name' => 'to', 'size' => 12, + 'required' => true ), array( 'type' => 'select', @@ -211,7 +213,7 @@ class AdminSpecificPriceRuleController extends AdminController 'class' => 'button' ), ); - + $attribute_groups = array(); $attributes = Attribute::getAttributes((int)$this->context->language->id); foreach ($attributes as $attribute) @@ -236,7 +238,8 @@ class AdminSpecificPriceRuleController extends AdminController 'attributes_group' => $attribute_groups, 'features' => $features, 'categories' => Category::getSimpleCategories((int)$this->context->language->id), - 'conditions' => $this->object->getConditions() + 'conditions' => $this->object->getConditions(), + 'is_multishop' => Shop::isFeatureActive() ); return parent::renderForm(); @@ -260,7 +263,7 @@ class AdminSpecificPriceRuleController extends AdminController $object->addConditions($conditions); } } + $object->apply(); } - $object->apply(); } }