View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007620 | OXID eShop (all versions) | 1.02. Price calculations (discounts, coupons, additional costs etc.) | public | 2024-03-13 14:09 | 2024-06-12 07:59 |
Reporter | michael_keiluweit | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | confirmed | Resolution | open | ||
Product Version | 7.0.2 | ||||
Summary | 0007620: Coupon is locked for everyone if the origin basket gets lost until timeout is reached | ||||
Description | A coupon doesn't know which basket it belongs to, only the basket does know it. If the basket gets lost or deleted, the coupon is abandoned and locked until its timeout is reached. That happens in the case when a customer uses a coupon code and removes all products from the basket afterwards. The coupon is still reserved and can not be reused from the same or any other user until the timeout time is reached. | ||||
Steps To Reproduce | 1. Install EE 7. 2. Goto admin. 3. Delete all other demodata coupons. 4. Create a coupon with name "a", discount 1 abs, coupon number a, quantitiy 1. 5. Have a look at the database, table oxvouchers, there is one entry, field oxreserved is 0. 6. Goto frontend. 7. Log in as a customer. 8. Add an product to the basket. 9. Open the basket. 10. Add the coupon with the coupon code "a". 11. Have a look at the database, table oxvouchers, there is one entry, field oxreserved is current timestamp. 12. Delete the product from the basket with the trash can icon. 13. Add a product again to the basket, again. 10. Add the coupon with the coupon code "a", it isn't possible anymore. | ||||
Additional Information | There's a fix for the case when the user logs out: https://github.com/OXID-eSales/oxideshop_ce/blob/v7.0.0/CHANGELOG.md#fixed-16 -> https://github.com/OXID-eSales/oxideshop_ce/pull/845, but not when the basket gets emptied. | ||||
Tags | Product domain and basket rewrite | ||||
Theme | Not defined | ||||
Browser | Not defined | ||||
PHP Version | Not defined | ||||
Database Version | Not defined | ||||