Skip to content

Commit 63595d0

Browse files
sidealicefballiano
andauthored
Fixed "if newsletter module disabled, customer backend would blank without notice" (#3078)
Co-authored-by: Fabrizio Balliano <fabrizio.balliano@gmail.com>
1 parent c0d136a commit 63595d0

File tree

4 files changed

+34
-23
lines changed

4 files changed

+34
-23
lines changed

app/code/core/Mage/Adminhtml/Block/Customer/Edit/Tabs.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,15 @@ protected function _beforeToHtml()
7373
'url' => $this->getUrl('*/*/wishlist', ['_current' => true]),
7474
]);
7575

76-
/** @var Mage_Adminhtml_Block_Customer_Edit_Tab_Newsletter $block */
77-
$block = $this->getLayout()->createBlock('adminhtml/customer_edit_tab_newsletter');
78-
if (Mage::getSingleton('admin/session')->isAllowed('newsletter/subscriber')) {
79-
$this->addTab('newsletter', [
80-
'label' => Mage::helper('customer')->__('Newsletter'),
81-
'content' => $block->initForm()->toHtml()
82-
]);
76+
if (Mage::helper('core')->isModuleOutputEnabled('Mage_Newsletter')) {
77+
/** @var Mage_Adminhtml_Block_Customer_Edit_Tab_Newsletter $block */
78+
$block = $this->getLayout()->createBlock('adminhtml/customer_edit_tab_newsletter');
79+
if (Mage::getSingleton('admin/session')->isAllowed('newsletter/subscriber')) {
80+
$this->addTab('newsletter', [
81+
'label' => Mage::helper('customer')->__('Newsletter'),
82+
'content' => $block->initForm()->toHtml()
83+
]);
84+
}
8385
}
8486

8587
if (Mage::getSingleton('admin/session')->isAllowed('catalog/reviews_ratings')) {

app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Giftmessage.php

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,14 @@ public function getOrder()
5050
*/
5151
protected function _beforeToHtml()
5252
{
53-
if ($this->getParentBlock() && ($order = $this->getOrder())) {
54-
$this->setEntity($order);
53+
if (Mage::helper('core')->isModuleOutputEnabled('Mage_Giftmessage')) {
54+
if ($this->getParentBlock() && ($order = $this->getOrder())) {
55+
$this->setEntity($order);
56+
}
57+
return parent::_beforeToHtml();
58+
} else {
59+
return parent::_beforeToHtml();
5560
}
56-
return parent::_beforeToHtml();
5761
}
5862

5963
/**
@@ -63,15 +67,16 @@ protected function _beforeToHtml()
6367
*/
6468
protected function _prepareLayout()
6569
{
66-
$this->setChild(
67-
'save_button',
68-
$this->getLayout()->createBlock('adminhtml/widget_button')
69-
->setData([
70-
'label' => Mage::helper('giftmessage')->__('Save Gift Message'),
71-
'class' => 'save'
72-
])
73-
);
74-
70+
if (Mage::helper('core')->isModuleOutputEnabled('Mage_Giftmessage')) {
71+
$this->setChild(
72+
'save_button',
73+
$this->getLayout()->createBlock('adminhtml/widget_button')
74+
->setData([
75+
'label' => Mage::helper('giftmessage')->__('Save Gift Message'),
76+
'class' => 'save'
77+
])
78+
);
79+
}
7580
return $this;
7681
}
7782

app/etc/modules/Mage_Captcha.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@
2121
<codePool>core</codePool>
2222
<depends>
2323
<Mage_Adminhtml/>
24-
<Mage_Customer/>
25-
<Mage_Sendfriend/>
26-
<Mage_Wishlist/>
24+
<Mage_Customer/>
2725
</depends>
2826
</Mage_Captcha>
2927
</modules>

lib/Varien/Data/Form/Abstract.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,13 @@ public function addField($elementId, $type, $config, $after = false)
132132
} else {
133133
$className = 'Varien_Data_Form_Element_' . ucfirst(strtolower($type));
134134
}
135-
$element = new $className($config);
135+
136+
if (class_exists($className)) {
137+
$element = new $className($config);
138+
} else {
139+
$className = 'Varien_Data_Form_Element_Note';
140+
$element = new $className($config);
141+
}
136142
$element->setId($elementId);
137143
$this->addElement($element, $after);
138144
return $element;

0 commit comments

Comments
 (0)