Closed (duplicate)
Project:
Commerce Core
Version:
7.x-1.0-beta4
Component:
Contributed modules
Priority:
Critical
Category:
Bug report
Assigned:
Reporter:
Created:
11 Jun 2011 at 11:20 UTC
Updated:
12 Jun 2011 at 17:26 UTC
After update commercde - beta3 to beta 4 from I got white page with following message
Fatal error: Call to undefined function commerce_order_rules_event_variables() in /drupal7/sites/all/modules/commerce_shipping/commerce_shipping.rules.inc on line 20
Comments
Comment #1
Road Runner commentedUpate just now from .dev to beta 4 caused WSOD no recovery. Then tried to use the latest .dev instead of beta 4 still WSOF. Then dropped all tables in database and started from scratch created pristine system - OK then I installed new Commerce latest .dev still OK then I restored my old data base to pristine system and WSOD.
No fun this Saturday morning.
****************Update****************
I installed the commerce kickstart profile yesterday working fine. Today I tried to update to Beta 4
here is error after it notified me there were 4 pending updates to database
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: http://localhost:8888/commerce-kickstart/update.php?id=3&op=do StatusText: OK ResponseText: Fatal error: Call to undefined function entity_rules_events_variables() in /Applications/MAMP/htdocs/commerce-kickstart/sites/all/modules/commerce/modules/payment/commerce_payment.rules.inc on line 23
checking error page I see this
HTTP POST is required.
The update process was aborted prematurely while running update #7100 in commerce.module. All errors have been logged. You may need to check the watchdog database table manually.
and now WSOD unrecoverable - even admin page is white
Comment #2
rszrama commentedOk, I'll update the release notes to ensure people disable contributed modules first. Remember, just because core has been updated doesn't mean your contributed moduels will be. I may know the problem with Kickstart, as I had it with Commerce Dev, too... gonna go remove a permission we create in there that is no longer used.
Comment #3
rszrama commentedAhh, and also you need to update to the latest Rules it appears.
Comment #4
Road Runner commentedYea, I caught that reference to rules too. I am using rules 7.x-2.0-beta1(Mar 23) so I probably should have tried the .dev which was last update Jun 02
Comment #5
JohnDoranNY commentedSame issue here... WSOD.. I had to manually disable the commerce_shipping module and example in the Systems table to get the site back up.
BTW: the error occures even with the patch to RULES applied.
Comment #6
thetechguide commentedI also have a problem similar to this with a new install of Commerce beta4. Drupal 7.2, all contrib modules disabled except those required by Commerce. Clean install (not an upgrade from beta3). Using rules 7.x-2.x-dev.
Apache 2.2.14
PHP 5.2.12
MySQL 5.5.8
The error message is "Fatal error: Call to undefined function entity_rules_events_variables() in ......\sites\all\modules\commerce\modules\payment\commerce_payment.rules.inc on line 23".
Anything else I can try to troubleshoot the problem?
Comment #7
rszrama commentedSorry, that function is in the latest dev version of Entity. Remember to always use the dev versions of our dependencies until we say otherwise. As soon as those projects post new releases, we'll begin to peg our releases against functionality in theirs where possible.
Comment #8
JohnDoranNY commentedI posted this on the commerce_shipping issue... but posting here as well incase anyone needs this to get working again.
Sorry, I do not know enough to make a GIT patch.. but I did fix the error...
in commerce_shipping.rules.inc
function commerce_shipping_rules_event_info() {
$items = array(
'commerce_shipping_methods' => array(
'label' => t('Select available shipping methods for an order'),
'group' => t('Commerce - shipping'),
'variables' => commerce_order_rules_event_variables(t('Order', array(), array('context' => 'a drupal commerce order'))),
'access callback' => 'commerce_order_rules_access',
),
);
return $items;
}
Change line 20 to be
function commerce_shipping_rules_event_info() {
$items = array(
'commerce_shipping_methods' => array(
'label' => t('Select available shipping methods for an order'),
'group' => t('Commerce - shipping'),
'variables' => entity_rules_events_variables('commerce_shipping', t('Order', array(), array('context' => 'a drupal commerce order'))),
'access callback' => 'commerce_order_rules_access',
),
);
return $items;
}
It seems that commerce module "Order" no longer contains the function commerce_order_rules_event_variables... commerce module Payment used to use this, but now users the Rules based hook above (entity_rules_events_variables).
Comment #9
rszrama commentedGreat, thanks for the fix. I put my two cents in on the commerce_shipping queue. I may go ahead and roll the release / apply the fix unless googletorp has other ideas. Gonna close this one as a duplicate of #1185954: After updating to Drupal Commerce 7.x-1.0-beta4 , Commerce Shipping throws serious errors.
Comment #10
thetechguide commentedI upgraded all dependencies modules to the below versions:
Drupal core 7.2
Addressfields (addressfield-7.x-1.0-alpha2)
Entity API and Entity tokens (entity-7.x-1.x-dev)
Rules (rules-7.x-2.x-dev)
Chaos tools (7.x-1.x-dev)
Tried enabling all the commerce beta4 modules again and still got the same error message with the updated modules.
Tried the patch in post #8 and it fixed the error. Thank you!
Comment #11
rszrama commentedYou should be running the dev versions of all dpendencies... that includes Addressfield. Updating from alpha2 to dev will likely cause problems, though, as I do believe we added a new column to the field schema. Also, make sure you're running the dev version of Views.