HI,

I am bit confused about the implementation of the ecommerce module forwarding back and forth between process and review. Can the functionality be made to fail without looping. If there are some warning in database insert into ec_recipt or any other database warning. we are hitting an infinite loop on 'place your order'. Can this be avoided ? atleast we can save some cpu usage.

related : #221274: infinite looping on place your order.

Thanks in advance. Any work around will also help.

Comments

balagurumoorthy’s picture

I found the same problem when i click on the browser back button. after placing the order. Please help

jantoine’s picture

Balagurumoorthy,

I am able to reproduce this when I don't configure e-Commerce with a currency and payment gateway. When I configure these two things, the looping is fixed. Be sure you are setting a currency in the e-Commerce configuration settings and configuring a payment gateway. Let us know if this solves the issue.

As a fix to this bug (Infinite looping when trying to place an order without a currency and payment gateway configured) I suggest not allowing the processing of transactions if these two criteria are not met.

Cheers,

Jon

balagurumoorthy’s picture

Jon,

Currently, there is no transaction in my table due to bug in mail id not set $txn. When i make the column nullable. i get the shipping cost cannot be empty. I have not configured any shipping api for my shippable product b'cause, i am not going to ship with any of the provider. In this case, i am trying to press the back button and place the same order. The system is going to infinite loops. I think, since there is no entry in the ec_tmp table, there is an looping, trying to identify the next screen. Can is suggest something like this, but i am not sure about whether the issue will be solved. We will have the workflow status, if the workflow is recevied, the order cannot be placed again. we will have cron to clean up the table or during session timeout or logout, we can delete the record, if the workflow is received. This might avoid infinite looping.

Please correct me if i am wrong.