I'm experimenting the D6 to D7 upgrade and everything looks fine with core/other modules, but Ubercart gives the following during update.php

An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: .../update.php?op=selection&token=...&id=5&op=do StatusText: OK ResponseText: Fatal error: Call to undefined function uc_order_load() in ...\sites\all\modules\ubercart\uc_taxes\uc_taxes.install on line 239

I found #587572: uc_price is undefined in uc_order_get_total(), but it's related to uc_store/uc_price whilst this seems due to uc_taxes..

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mandreato’s picture

It occours during update #7007

TR’s picture

Did you have uc_order disabled during the upgrade?

mandreato’s picture

Yes: I've disabled all the modules before upgrade.php

TR’s picture

This is a basically a core Drupal issue, see #773828: Upgrade of disabled modules fails.

We *might* be able to avoid this particular issue by including uc_order.module in uc_taxes.install, however that also might cause other issues - I don't know what other dependencies would bring in. As a workaround, you could simply re-enable the modules and run any uncompleted updates.

mandreato’s picture

Status: Active » Fixed

I've bypassed the issue by following these steps:
1) upgrade Drupal core
2) upgrade all contrib modules but Ubercart
3) substitue the Ubercart folder with the 7.x-3.x-dev one
4) activate Order, Product and Store of Ubercart - core group
5) update.php
6) activate other UC sub-modules (Cart, etc.)

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

kenorb’s picture

Issue summary: View changes
Status: Closed (fixed) » Needs review
FileSize
772 bytes

This is still happening, so it's not fixed.

kenorb’s picture

Adding better patch.
Similar to uc_store_update_7007() where uc_store is actually enabling potencially disabled modules.

kenorb’s picture

FileSize
766 bytes
longwave’s picture

What relevance is uc_cart here, if the problem is uc_order_load() is not available?

Ideally I think we should not actually be calling uc_order_load() or uc_order_save() from the .install file, but only doing the exact database operations that are needed.

TR’s picture

Status: Needs review » Needs work