I’ve found a problem in 1.7.0.1 (see bug Issue #27884, http://www.magentocommerce.com/bug-tracking/issue/?issue=13819).
After upgrading to this version from 1.7.0.0 I’m no longer able to save any changes in the Disable Modules Output page.
If you are having this problem please go to that bug report and add a comment saying that you have it as well (as Magento currently say they can’t reproduce it, meaning it won’t get fixed
The reported error message is:
Exception message: Notice: Trying to get property of non-object in /web/app/code/core/Mage/Adminhtml/Model/Config/Data.php on line 135
Chasing through the code, this is definitely a regression, they’ve changed the way the backend config model is retrieved in Mage_Adminhtml_Model_Config_Data
I don’t have a real fix for this but as an interim work around you can take the relevant snippet of code from the old version and create a local override.
So copy app/code/core/Mage/Adminhtml/Model/Config/Data.php to app/code/local/Mage/Adminhtml/Model/Config/Data.php
In the local copy change the code from line 119 as follows:
Buggy Code:
I have added to the bug report with the following information:
I think this has to be a database related problem as I was experiencing this error after upgrading from CE1.4x to 1.7.0.0 and then 1.7.0.1, At the stage of having upgraded to 1.7.0.0, I had not tested enabling/disabling modules, however I did after upgrading to 1.7.0.1 and it was consistently failing to save.
Rolling back to the 1.4x fileset under the upgraded database then allowed saving again without error, rolling forward to 1.7.0.0, save again suceeds, and finally forward again to 1.7.0.1 again suceeded where it hadn\’t before. So it seems some database configuration got saved with either the 1.4x or 1.7.0.0 fileset under the upgraded database which then allowed saving under 1.7.0.1.
The final oddity is when deploying this to a live test environment (as opposed to my local development environment) sving hadn\’t been tested until 1.7.0.1 and failed here also, however it suddenly just started working without rolling back the fileset at all however I had saved a few things in admin between it not working, and working though I can\’t remember what exactly.
Finally, the error originates from line 135 in app/code/core/Mage/Adminhtml/Model/Config/Data.php:
$backendClass = $fieldConfig->backend_model;
The problem here is that the $fieldConfig variable does not get set in the lines shortly before it to an object, and thus the call to backend_model fails. The strange thing is debugging this method shows everything to happen in exactly the same way both when the save fails, and when it suceeds (debugging under 1.7.0.1 in both cases), the only difference is the line above does not throw an exception when the save succeeds, but does when it fails so I can only assume something has changed with regards to exception handling between the two scenarios.
So not sure exactly what changed but it looks to be database related rather than a bug with the fileset. Rather than regressing the 1.7.0.1 code, you might first want to try rolling back to the 1.7.0.0 fileset and try saving under that which will hopefully succeed, then with a bit of luck returning to 1.7.0.1 will have resolved the issue.
Interesting, it may well be a db issue - but I\’ve just replicated this on a clean install of 1.7.0.2, so no DB upgrade at all involved.
Which suggests that if it comes from the db content the SQL setup scripts are where the bug lies
I have also a problem with magento 1.7.0.2… I can’t save products on backend after upgrade 1.6.2 to 1.7.0.2.
I got everytime the 500 server error page here : MY_MAGENTO/catalog_product/save/id/6110/key/cdf813436142e45d4971fd5ea70a662b/
I can create a new one but if i edit it i got same error.
someone can help me please, my website is on production
One addition to this issue - it only seems to happen to me if MAGE_IS_DEVELOPER_MODE is enabled, I set this in my apache conf on my test servers so of course it hits any test site I work on!
If you turn that off in your .htaccess file (or comment it out in your index.php) it may well stop the issue from happening in production mode.
This override seems to cause issues with Admin->Config->Payment Methods->Paypal. When attempting to save a Paypal payment method, all changes will be not saved, and no error will be thrown. I have not looked into why. Removing the code restores Paypal configuration ability to admin panel.
Very true - it does stop the PayPal settings from saving for me as well.
Please check to see if using the 1.7 code with Developer Mode set to Off works for you.
Hey guys, I think the fix for this issue is here in this bug report #28248. This will allow the payment method and shipping method settings save to work as well.
The problem has been proven to be caused by a plug-in, so they are actually following the code or keep the original code is better.
There\’s a problem in magento 1.7.0.0, when trying to save disable module output.According to this threadUnable to save entries in Disable Modules Output after upgrading to 1.7.0.1, this is how to solve the problem
So copy app/code/core/Mage/Adminhtml/Model/Config/Data.php to app/code/local/Mage/Adminhtml/Model/Config/Data.php
In the local copy change the code from line 119 as follows:
Buggy Code:
Hey @Monty22, I don’t think this issue is caused by a plug-in at all. I think the bug report is accurate:
http://www.magentocommerce.com/bug-tracking/issue?issue=14217