Late 2019 I came across an issue in x-cart 4 and firefox where firefox was autocompleting select dropdown fields wrongly. It happens when you are looking at your orders list and a new order comes in. If you press f5 to reload the page or click back to get to this page from an order details page, then xcart will show the latest order at the top of the list.
But firefox’s autocomplete does not spot that the orders are differently ordered. With the latest one at the top and the bottom one removed. It goes ahead and adjusted all the order status dropdowns to what it was before the latest order came in. So visually each order has the status of the below it.
Upto this point nothing has messed up the database values. But if you go ahead and change one or many statuses and click update, xcart will then apply the wrong order status to each order. So if you are showing 100 orders at a time, then all 100 will get updated as long as the new order status is deiffent to what it should be.
The fix for this is to add the autocomplete attribut to the input or select fieldsthat are important here.
autocomplete="off"
The following files would need amending
- /skin/common_files/main/order_status.tpl
- /skin/common_files/modules/XOrder_statuses/status_selector.tpl
You would amend the select tag as follows
FROM
<select name="{$name}" {$extra}>
TO
<select name="{$name}" {$extra} autocomplete="off">
Of course you will need to identify which orders are now messed up and so a quick way would be to look at the recent updates on xcart_order_status_history table and look for a bunch of rows with exactly the same unix timestamp value. You will then see what the before and after statuses were and then manually fix these one by one.