I found this buried in #430016: UC Node Checkout should provide a view to query against the related checkout node so figured I'd escalate it to its own issue. Credit goes to bfcam.
Even with this fix, though, Order IDs don't seem to be saved in the registration nodes for us. Didn't get a chance to debug it.
| Comment | File | Size | Author |
|---|---|---|---|
| uc_node_checkout-save-submit.patch | 883 bytes | webchick |
Comments
Comment #1
webchickComment #2
rszrama commentedaidanlis asked me to comment here...
Not sure... it looks like the original implementation of hook_order() really just intended to act on order submission, which happens when the customer reaches the checkout completion page. The problem with switching to the save operation is that save happens when the checkout form is submitted before redirecting to the review page. This means updates to the node and order ID association would happen at an earlier stage in an order's lifecycle before we know for certain if payment completed.
This code is pretty old, and frankly I can't remember if I even contributed some of it (like the uc_node_checkout_update_content_fields() function... that doesn't seem familiar), but I'd be hesitant to change anything based on the workflow gotcha. It would be a shame for people using the module to suddenly get false positives on non-checked out nodes.
I'll let aidanlis work on the issue further if he wants to, but I'll drop it into needs work for now. If you don't see anything further to follow here, just move it to closed (works as designed).
Comment #3
aidanlis commentedI'm hesitant to make this change, there's other patches in the queue advocating changing from submit to update instead of save [1]. Unless someone wants to put the hard yards in testing this is too risky.
[1] #869624: Order status updates do not create association