Skip to content

Commit d6d09a7

Browse files
authored
Fix: error in admin edit cart rule (#4493)
1 parent a9bbdc6 commit d6d09a7

File tree

4 files changed

+56
-42
lines changed

4 files changed

+56
-42
lines changed

app/code/core/Mage/Rule/Model/Action/Abstract.php

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -254,52 +254,58 @@ public function getTypeElement()
254254
*/
255255
public function getAttributeElement()
256256
{
257-
$renderer = Mage::getBlockSingleton('rule/editable');
258-
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
259-
$this->getForm()::setFieldsetRenderer($renderer);
260-
}
261-
262-
return $this->getForm()->addField('action:' . $this->getId() . ':attribute', 'select', [
257+
$element = $this->getForm()->addField('action:' . $this->getId() . ':attribute', 'select', [
263258
'name' => 'rule[actions][' . $this->getId() . '][attribute]',
264259
'values' => $this->getAttributeSelectOptions(),
265260
'value' => $this->getAttribute(),
266261
'value_name' => $this->getAttributeName(),
267262
]);
263+
264+
$renderer = Mage::getBlockSingleton('rule/editable');
265+
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
266+
$element->setRenderer($renderer);
267+
}
268+
269+
return $element;
268270
}
269271

270272
/**
271273
* @return Varien_Data_Form_Element_Abstract
272274
*/
273275
public function getOperatorElement()
274276
{
275-
$renderer = Mage::getBlockSingleton('rule/editable');
276-
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
277-
$this->getForm()::setFieldsetRenderer($renderer);
278-
}
279-
280-
return $this->getForm()->addField('action:' . $this->getId() . ':operator', 'select', [
277+
$element = $this->getForm()->addField('action:' . $this->getId() . ':operator', 'select', [
281278
'name' => 'rule[actions][' . $this->getId() . '][operator]',
282279
'values' => $this->getOperatorSelectOptions(),
283280
'value' => $this->getOperator(),
284281
'value_name' => $this->getOperatorName(),
285282
]);
283+
284+
$renderer = Mage::getBlockSingleton('rule/editable');
285+
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
286+
$element->setRenderer($renderer);
287+
}
288+
289+
return $element;
286290
}
287291

288292
/**
289293
* @return Varien_Data_Form_Element_Abstract
290294
*/
291295
public function getValueElement()
292296
{
293-
$renderer = Mage::getBlockSingleton('rule/editable');
294-
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
295-
$this->getForm()::setFieldsetRenderer($renderer);
296-
}
297-
298-
return $this->getForm()->addField('action:' . $this->getId() . ':value', 'text', [
297+
$element = $this->getForm()->addField('action:' . $this->getId() . ':value', 'text', [
299298
'name' => 'rule[actions][' . $this->getId() . '][value]',
300299
'value' => $this->getValue(),
301300
'value_name' => $this->getValueName(),
302301
]);
302+
303+
$renderer = Mage::getBlockSingleton('rule/editable');
304+
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
305+
$element->setRenderer($renderer);
306+
}
307+
308+
return $element;
303309
}
304310

305311
/**

app/code/core/Mage/Rule/Model/Action/Collection.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,18 @@ public function asHtml()
108108
*/
109109
public function getNewChildElement()
110110
{
111-
$renderer = Mage::getBlockSingleton('rule/newchild');
112-
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
113-
$this->getForm()::setFieldsetRenderer($renderer);
114-
}
115-
116-
return $this->getForm()->addField('action:' . $this->getId() . ':new_child', 'select', [
111+
$element = $this->getForm()->addField('action:' . $this->getId() . ':new_child', 'select', [
117112
'name' => 'rule[actions][' . $this->getId() . '][new_child]',
118113
'values' => $this->getNewChildSelectOptions(),
119114
'value_name' => $this->getNewChildName(),
120115
]);
116+
117+
$renderer = Mage::getBlockSingleton('rule/newchild');
118+
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
119+
$element->setRenderer($renderer);
120+
}
121+
122+
return $element;
121123
}
122124

123125
/**

app/code/core/Mage/Rule/Model/Condition/Abstract.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -509,17 +509,19 @@ public function getAttributeElement()
509509
}
510510
}
511511

512-
$renderer = Mage::getBlockSingleton('rule/editable');
513-
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
514-
$this->getForm()::setFieldsetRenderer($renderer);
515-
}
516-
517-
return $this->getForm()->addField($this->getPrefix() . '__' . $this->getId() . '__attribute', 'select', [
512+
$element = $this->getForm()->addField($this->getPrefix() . '__' . $this->getId() . '__attribute', 'select', [
518513
'name' => 'rule[' . $this->getPrefix() . '][' . $this->getId() . '][attribute]',
519514
'values' => $this->getAttributeSelectOptions(),
520515
'value' => $this->getAttribute(),
521516
'value_name' => $this->getAttributeName(),
522517
]);
518+
519+
$renderer = Mage::getBlockSingleton('rule/editable');
520+
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
521+
$element->setRenderer($renderer);
522+
}
523+
524+
return $element;
523525
}
524526

525527
/**

app/code/core/Mage/Rule/Model/Condition/Combine.php

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -147,17 +147,19 @@ public function getAggregatorElement()
147147
}
148148
}
149149

150-
$renderer = Mage::getBlockSingleton('rule/editable');
151-
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
152-
$this->getForm()::setFieldsetRenderer($renderer);
153-
}
154-
155-
return $this->getForm()->addField($this->getPrefix() . '__' . $this->getId() . '__aggregator', 'select', [
150+
$element = $this->getForm()->addField($this->getPrefix() . '__' . $this->getId() . '__aggregator', 'select', [
156151
'name' => 'rule[' . $this->getPrefix() . '][' . $this->getId() . '][aggregator]',
157152
'values' => $this->getAggregatorSelectOptions(),
158153
'value' => $this->getAggregator(),
159154
'value_name' => $this->getAggregatorName(),
160155
]);
156+
157+
$renderer = Mage::getBlockSingleton('rule/editable');
158+
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
159+
$element->setRenderer($renderer);
160+
}
161+
162+
return $element;
161163
}
162164
/* end aggregator methods */
163165

@@ -308,16 +310,18 @@ public function asHtml()
308310
*/
309311
public function getNewChildElement()
310312
{
311-
$renderer = Mage::getBlockSingleton('rule/newchild');
312-
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
313-
$this->getForm()::setFieldsetRenderer($renderer);
314-
}
315-
316-
return $this->getForm()->addField($this->getPrefix() . '__' . $this->getId() . '__new_child', 'select', [
313+
$element = $this->getForm()->addField($this->getPrefix() . '__' . $this->getId() . '__new_child', 'select', [
317314
'name' => 'rule[' . $this->getPrefix() . '][' . $this->getId() . '][new_child]',
318315
'values' => $this->getNewChildSelectOptions(),
319316
'value_name' => $this->getNewChildName(),
320317
]);
318+
319+
$renderer = Mage::getBlockSingleton('rule/newchild');
320+
if ($renderer instanceof Varien_Data_Form_Element_Renderer_Interface) {
321+
$element->setRenderer($renderer);
322+
}
323+
324+
return $element;
321325
}
322326

323327
/**

0 commit comments

Comments
 (0)