'Update Order' at checkout page deletes all form information
barneson - July 23, 2009 - 21:02
| Project: | e-Commerce |
| Version: | 6.x-4.0-rc13 |
| Component: | ec_customer |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | active |
Description
When I click the 'update order' button at /checkout, the page is returned with all the form information gone: email address, name, shipping address, etc. When I enter it again, I am required to 'update order' once more. I'm facing a seemingly endless loop.
I have enabled anonymous purchasing. The behavior is the same whether I'm logged in or not. I'm using the dev branch from July 8.
My experience seems similar to this issue-- http://drupal.org/node/501042#comment-1739514 --but remains unsolved.

#1
I can confirm this bug and it prevents the system from processing the payment. I'm marking it as critical as the system can not function at all while this loop exists.
Note: This happens on rc-11 version for me, not the latest -dev. I'm putting on the latest -dev to test to see if this problem exists. I'll report back to see if it still does on -dev.
#2
I can confirm the bug still happens in the dev release.
#3
I have taken a look at this and it works for me.
If you install simpletest and run the ecommerce tests it will test this very situation.
#4
#5
Doesn't work for me, I've hacked ec_customer_email_checkout_form in order to be able to work on my payment module.
The problem is as follows:
The default value for the email field gets set to $txn->mail in ec_customer_email_checkout_form, which is empty.
When the user types the real address, the javascript make disables 'place order' and the user has do 'update order'.
That apparently only runs the validation, which rebuilds the form, using $txn->mail (still empty) as the default value.
ec_customer_email_checkout_submit actually copies the submitted value to $txn->mail, but that never gets called.
(HEAD as of today)
Sounds like the same problem as the original poster is experiencing.
#6
We have a similar issue. Whereby filling in form details, then clicking on 'Update order' button clears the email field. We are using IIS6, clean URLs are switched on using ISAPI Rewrite 3, and using the latest release.
I noticed that the issue arrises when the clean URL is being used. ie http://weburl/checkout.
When filling in details the 'Place you order' button is greyed out. Clicking on 'Update order' button changes the Clean URL to the full URL, ie. http://weburl/index.php?q=checkout. Then it will allow you to fill out the email address and only then we are able to click the 'Place your order' button.
#7
I can also confirm this bug.
I've installed the simpletest module and run the e-commerce tests, it appears to be trying to run the product tests on nodes that are not products, but other than that, I can see some errors on the "anonymous purchasing" tests, this error appears:
"Call to undefined function ctools_include() PHP Fatal error ec_checkout.module 97 Unknown"
I don't know if that's helpful, let me know if/how I can provide any more information.
#8
I am also having this problem. I would like to be able to remove the update order function entirely. Is this possible? I don't want to have to post a list of directions for my customers so that they can trick the system and actually buy something without going through this never ending loop? Thanks for any help.
#9
#10
I'm also getting this error and cannot complete transactions on my site. Each time I enter info into one of the checkout fields, an error message appears at the bottom of my screen that says "* Checkout has been changed. Please update the order to ensure the totals are correct." When I fill out each field of checkout, I've got about 6 error messages (all the same) listed at the bottom of the page.
I've tried reinstalling eCommerce and also tried disabling clean URLs. Anything else I can try? My site is essentially down right now.
Thanks much!
rachael
#11
To clarify-I would like to have anonymous purchasing. I do not mind the "update order" function per se, as long as they only have to do it once. I would really like to have the "update order" function removed, but if that is not possible, I would like my customers to have the ability to click "Buy Now", enter their information, click "Update Order", review their order, and then be able to click "Place Your Order". As it stands they cannot click "Place Your Order" AT ALL because each time they "Update Order" their email address is removed and they must re-enter, thus making the system THINK that they must update their order again. This is neverending. Please help!
#12
The attached patch allows me to submit an order, though I'm not convinced that it's the right fix, nor whether it behaves properly in real life (where users might type the wrong address, resubmit, use the back button, etc).
#13
I can confirm that this patch seems to fix the issue. Have not tested extensively, and I can't comment on the method it uses, I don't know enough about how ec modules work.
#14
I have the same problem, running rc11 on Drupal 6.13. Problem occurs both with FF and Chrome. (Haven't tested in IE6). I cannot complete checkout because after entering email address the "update order" button clears the email address.
And an "you must update your order" messsage pops out every time I hit "enter" after I fill the email address field. This occurs both with anonymous and logged in checkout.
I updated the priority to critical because being able to check out or submit an order is a crucial task of any shopping cart or ecommerce system!
#15
The patch posted above does not work for me! Please help! It's really important that I get this to work!
#16
+1
Patch didn't worked for me either!
#17
Thanks, I have committed this to dev, and will be in the next rc.
I have also added a test so this doesn't break in future.
#18
This is still intermittently an issue in rc13