I made a custom module for observer on customer save before event for admin-side
My config file in local/Pavans/Profile/etc
<adminhtml>
<events>
<customer_save_before>
<observers>
<pavans_profile>
<type>singleton</type>
<class>Pavans_Profile_Model_Observer</class>
<method>customerSaveAfter</method>
</pavans_profile>
</observers>
</customer_save_before>
</events>
</adminhtml>
It calls my observer before customer data saved
class Pavans_Profile_Model_Observer {
public function customerSaveAfter(Varien_Event_Observer $observer)
{
$controller = $observer->getControllerAction();
$controller->setFlag('', Mage_Core_Controller_Varien_Action::FLAG_NO_DISPATCH, true);
$response = array('error' => false, 'message' => $helper->__('Error'));
return $controller->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
}
}
I want to pass error message on customer form and stop controller to save customer data, but above code shows me error message
Call to a member function setFlag() on a non-object
So i'm unable to get object of controller.
I have also tried this
$request = Mage::app()->getRequest();
$action = $request->getActionName();
Mage::app()->getFrontController()->getAction()->setFlag($action, Mage_Core_Controller_Varien_Action::FLAG_NO_DISPATCH, true);
$response = Mage::app()->getResponse();
$json = Mage::helper('core')->jsonEncode(array('error' => -1, 'message' => $this->__('test errror')));
$response->setBody($json);
This shows me Error message on form
An error occurred while saving the customer
Above message is not my custom error message
Best Answer
Instead of using
used
try this for
See at https://stackoverflow.com/questions/5290639/in-an-observer-method-how-do-you-tell-magento-to-not-process-code-after-the-dis
edit: Can try 200 instead of 500
Or Try this