View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0007713 | module PayPal Checkout | module PayPal checkout - sub | public | 2024-08-29 13:23 | 2024-09-17 14:53 |
| Reporter | mount7 | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | N/A |
| Status | resolved | Resolution | fixed | ||
| Fixed in Version | 2.5.1 / 3.3.4 | ||||
| Summary | 0007713: Missing Quality Control for version 2.5 | ||||
| Description | https://github.com/OXID-eSales/paypal-module/commit/08e03acfba9d6c6023e616ee7c787b43212d8779#diff-3e93960b468b08898c14f26f08051aa7883f60c21f73d1ffadd39d8769f87db7L164 CANCEL all orders WHERE OXTRANSSTATUS = 'NOT_FINISHED' AND OXPAYMENTTYPE LIKE '%oscpaypal%' AND OXORDERDATE + (20) MINUTE > now() # WTF WHY SHOULD only orders from the future be deleted. | ||||
| Steps To Reproduce | 1. Commit new changes to a feature branch https://github.com/OXID-eSales/paypal-module 2. Understand the commit changes 3. Really understand the changes 4. Ignore errors don't run any test and push it to live branch | ||||
| Tags | No tags attached. | ||||
|
|
Fix for this issue: 1. services.yaml extend OxidSolutionCatalysts\PayPal\Service\OrderRepository with your own OrderRepository class (extending the original) 2. overwrite the cleanUpNotFinishedOrders: and replace query part ->andWhere('(oxorderdate + interval :sessiontime MINUTE) < now()'); |
|
|
Thank you for your Report. As for my understanding the method does not delete orders from the future but from the last :sessiontime gap. Let's say the :sessiontime parameter is 10 minutes and the order is 5 minutes old. The time of the order plus the session time of 10 minutes is 5 minutes in the future and will therefore be deleted even though the order is 5 minutes in the past. If an order is older than 10 minutes, it won't be deleted anymore. Ich will contact the project team and ask for the correct intention here. At last I want to ask you to be friendly and objective in Bugtracker. No software is perfect and we are open and happy about any report and investigate the issue carefully. So please concentrate on the issues and avoid headlines like "Missing Quality Control" and similar statements. Thank you. [sp] |
|
|
I can help you with the intention of the function: You can check the description in the admin module configuration (origin of the sessiontime value configuration): "Wie alt müssen nicht beendete Bestellungen sein, damit sie frühestens automatisch storniert werden (in Minuten)?" (see screenshot) Yes I now being wrong can be really hard, and our brain searches for every clue to support our wrongness: "Let's say the :sessiontime parameter is 10 minutes and the order is 5 minutes old." => replace order with temporary order and this results even in a worse bug => default value is 20min => delete all temporary orders from the last 20min => this includes even temporary orders that are still required for valid checkouts Quality Control: If you really want to make some improvements: Test your features. Blind programming is just begging for bugs. (and I am a bit annoyed because I had already mail contact with one of your developers and told him about the ordernumber = 0 check, preventing the deleting of old temporary orders. This issue is now fixed but your included a new bug => so Quality Control is missing here for sure) |
|
|
The project team is working on your reports. I ask you once again to keep it objective and dismiss offensive statements. This is not the place for it. [sp] |