Release 3.3.1#162
Merged
Merged
Conversation
Issue: When discount codes are applied, the COD label shows incorrect goods price because discount is subtracted twice from order total. Root cause: createNonDistributedShipment method was subtracting order discount from order.total_paid, which already includes all discounts. Solution: Removed duplicate discount calculation in createNonDistributedShipment method. The order.total_paid value correctly reflects the final amount customer pays. Also fixed syntax error on line 283 (removed stray character). DGS-410
…alculation DGS-410 Fix double discount calculation in COD label goods price
… calls (#157) Add null coalescing operator to prevent PHP 8.1 deprecation warning when null is passed to preg_replace() in AddressAdapter.php on lines 91, 123, 156. Co-authored-by: Tadas Labutis <tadaslabutis@Tadas-Labutis.local>
…datory (#158) Enable DPD Predict SMS service by setting predict=y on all shipment creation requests. Some DPD client accounts (notably Latvia) require this parameter, causing shipment creation to fail without it. Co-authored-by: Tadas Labutis <tadaslabutis@Tadas-Labutis.local>
…#155) * update large parcel update logic and cron job to ensure it will not time out * fix Poland parcel shops and various null pointer errors (#156) * fix Poland parcel shops and various null pointer errors - Add logger argument to ParcelTrackingEmailHandler service definitions - Fix null pointer errors when accessing parcel shop arrays - Fix postcode formatting for PUDO return shipments (strip hyphens) - Add null checks for selectedPudo in admin template - Change frontend message from "No pickup points found" to "Select a city to view pickup points" - Update console command to lazy-load services from module container - Register console command with PrestaShop's Symfony container Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix dpdbaltics JS variable undefined on standard checkout The dpdbaltics JS variable was only defined inside the OPC module conditional block, causing ReferenceError on standard checkout when pudo.js references dpdbaltics.isOnePageCheckout. This prevented PUDO pickup point selection from working on any PS version without an OPC module installed. --------- Co-authored-by: Tadas Labutis <tadaslabutis@Tadass-MacBook-Air.local> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Tadas Labutis <tadaslabutis@Tadas-Labutis.local> * DGS-414 Fix pudo display and save data overwrite in backoffice order view (#160) * fix Poland parcel shops and various null pointer errors - Add logger argument to ParcelTrackingEmailHandler service definitions - Fix null pointer errors when accessing parcel shop arrays - Fix postcode formatting for PUDO return shipments (strip hyphens) - Add null checks for selectedPudo in admin template - Change frontend message from "No pickup points found" to "Select a city to view pickup points" - Update console command to lazy-load services from module container - Register console command with PrestaShop's Symfony container Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix dpdbaltics JS variable undefined on standard checkout The dpdbaltics JS variable was only defined inside the OPC module conditional block, causing ReferenceError on standard checkout when pudo.js references dpdbaltics.isOnePageCheckout. This prevented PUDO pickup point selection from working on any PS version without an OPC module installed. * DGS-414 Fix pudo display bug and save data overwrite - Fix backoffice order view not showing parcelshop info when customer city differs from parcelshop city by looking up shop by pudo_id first instead of gating it behind city-based search results - Fix savePudoOrder overwriting correct parcelshop city/street/postcode with customer address data by using dpd_shop data as source of truth - Fix Lithuanian translation "laivyba" -> "siuntimas" - Fix Latvian translation "kuģniecība" -> "piegāde" * DGS-414 Add changelog entry for v3.3.1 --------- Co-authored-by: Tadas Labutis <tadaslabutis@Tadass-MacBook-Air.local> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Tadas Labutis <tadaslabutis@Tadas-Labutis.local> Co-authored-by: Tadas Labutis <tadaslabutis@MacBookAir.localdomain> Co-authored-by: Gytautas Zumaras <96050852+GytisZum@users.noreply.github.com> --------- Co-authored-by: Gytautas Zumaras <gytautaszumaras@Gytautass-MacBook-Pro.local> Co-authored-by: TLabutis <tadas.labutis@invertus.eu> Co-authored-by: Tadas Labutis <tadaslabutis@Tadass-MacBook-Air.local> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Tadas Labutis <tadaslabutis@Tadas-Labutis.local> Co-authored-by: Tadas Labutis <tadaslabutis@MacBookAir.localdomain>
…ng currentcontroller variable (#153)
…late method to make translation work (#161)
Added placeholder option to street dropdown requiring explicit selection before loading PUDO points, preventing customer confusion from unintended pre-selection.
* add timeframes to request * fix * remove backslash
The city dropdown change event handler was commented out, preventing parcel point reload when switching cities.
The city dropdown change event handler was commented out, preventing parcel point reload when switching cities. Co-authored-by: Tadas Labutis <tadaslabutis@Tadas-Labutis.local>
* Fix pudo pickup points not reloading on city change The city dropdown change event handler was commented out, preventing parcel point reload when switching cities. * Fix admin pudo pickup point display for non-LT orders The admin order page showed "No pickup point selected" for orders with delivery addresses outside Lithuania (e.g. Poland). Two issues: 1. Country code was derived from cart context which fell back to WEB_SERVICE_COUNTRY (LT) instead of the order's delivery address. 2. ParcelShopRepository::getShopsByShopId() used INNER JOIN on dpd_shop_work_hours, returning no results for shops without work hours records (all PL shops). Changes: - Pass country code from order delivery address to pudo search - Make CurrentCountryProvider::getCountryIsoCodeByAddress() public - Remove unnecessary INNER JOIN in getShopsByShopId() - Use $this instead of container self-reference in PudoService - Use constructor-injected pudoRepository instead of container lookup --------- Co-authored-by: Tadas Labutis <tadaslabutis@Tadas-Labutis.local>
CSS rule #subtab-AdminDPDBalticsModule { display: none } hid the
entire <li> wrapping the sidebar link, so the DPDBaltics entry
vanished whenever a DPDBaltics admin controller loaded
global_module.css. Refined selector targets only nested submenu
elements, keeping the parent link visible.
…ewer Long DPD API request URLs rendered inline in the Logs list table caused the table to overflow horizontally and squeeze other columns off-screen. Adopted the same modal pattern already used in SaferPay, Square, Klarna and Mollie modules: request/response cells now render a "View" button that opens a modal loaded via AJAX with the formatted payload. Pretty-prints JSON when applicable; otherwise splits URL query strings into one decoded key = value per line so long DPD shipment URLs become readable.
- Reorder log columns to ID | Severity (1-4) | Message | Request | Response | Context | Date with severity badge, message preview and endpoint context callbacks. - Encode logged request as structured JSON (endpoint + params) and mask username/password in stored payload. - Encode logged response as JSON envelope with level and message so the modal renders pretty-printed JSON. - Refine modal layout: wider window, centered title with id prefix, absolute close button and Esc key support.
- Replace PrestaShop default exporter with a clean fputcsv stream so JSON request/response columns are not HTML-mangled. - Prepend store info, module configuration and PrestaShop settings so support can read environment context without follow-up. - Derive Severity, Message and Context columns directly from the JSON payloads stored in the log table.
Sorts on Tracking number, Receiver, Address, and City fell back to the main shipment table and produced no meaningful ordering. Added order_key entries pointing at the correct join aliases so PS uses the right columns in ORDER BY. filter_key is intentionally left unset so HAVING filters keep targeting the SELECT aliases. Also set default sort to id_dpd_shipment DESC so the latest shipments appear first.
…on-dpd-pages Fix DPDBaltics sidebar item disappearing on module pages
Fix Shipment list sorting on joined-table columns
DGS-427 Improve logs section: collapse request/response into modal vi…
…rier-switch DGS-425 Fix chosen select width on carrier switch in checkout
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.