Skip to content

DGS-430 Add --ignore-platform-reqs to release build#172

Merged
GytisZum merged 1 commit into
DPDBaltics:mainfrom
TLabutis:DGS-430-release-zip-ignore-platform-reqs
Jun 30, 2026
Merged

DGS-430 Add --ignore-platform-reqs to release build#172
GytisZum merged 1 commit into
DPDBaltics:mainfrom
TLabutis:DGS-430-release-zip-ignore-platform-reqs

Conversation

@TLabutis

Copy link
Copy Markdown
Contributor

The composer.lock pins PHP 7+/8+ package versions while composer.json still declares config.platform.php=5.6. composer install --no-dev then fails with 'lock file does not contain a compatible set of packages', so the release job produced no dpdbaltics.zip and users only saw the source archive without vendor (module invalid and cannot be loaded).

Ignoring platform reqs lets the locked set install as-is so the build attaches the vendor-bundled zip again.

The composer.lock pins PHP 7+/8+ package versions while composer.json
still declares config.platform.php=5.6. composer install --no-dev then
fails with 'lock file does not contain a compatible set of packages',
so the release job produced no dpdbaltics.zip and users only saw the
source archive without vendor (module invalid and cannot be loaded).

Ignoring platform reqs lets the locked set install as-is so the build
attaches the vendor-bundled zip again.
@TLabutis TLabutis closed this Jun 30, 2026
@GytisZum GytisZum reopened this Jun 30, 2026
@GytisZum GytisZum merged commit 959f015 into DPDBaltics:main Jun 30, 2026
4 checks passed
GytisZum pushed a commit that referenced this pull request Jun 30, 2026
The composer.lock pins PHP 7+/8+ package versions while composer.json
still declares config.platform.php=5.6. composer install --no-dev then
fails with 'lock file does not contain a compatible set of packages',
so the release job produced no dpdbaltics.zip and users only saw the
source archive without vendor (module invalid and cannot be loaded).

Ignoring platform reqs lets the locked set install as-is so the build
attaches the vendor-bundled zip again.

Co-authored-by: Tadas Labutis <tadaslabutis@MacBookAir.localdomain>
GytisZum added a commit that referenced this pull request Jun 30, 2026
* Fix double discount calculation in COD label goods price

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

* Bump version to 3.3.1 and update changelog

* fix

* DGS-415 fix null parameter deprecation in AddressAdapter preg_replace 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>

* DGS-417 Fix shipment creation failing when Predict SMS service is mandatory (#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>

* DGS-414: update parcel import functionality to handle large quanities (#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>

* fix: add additional validation for the supercheckout module which using currentcontroller variable (#153)

* fix (#150)

* change switch expression to use correct method; add filename to translate method to make translation work (#161)

* Fix automatic PUDO point pre-selection in LIST mode (#149)

Added placeholder option to street dropdown requiring explicit selection
before loading PUDO points, preventing customer confusion from unintended
pre-selection.

* DGS-286 add timeframes to request (#145)

* add timeframes to request

* fix

* remove backslash

* fix workflows and update changelog

* workflow updated to ignore platform reqs

* Adding auto indexes

* fix setPredict setter

* Automatic license addition applying

* 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 pudo pickup points not reloading on city change (#163)

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 admin pudo pickup point display for non-LT orders (#164)

* 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>

* DGS-425 fix chosen select width on carrier switch in checkout

* Fix DPDBaltics sidebar item disappearing on module pages

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.

* DGS-427 Improve logs section: collapse request/response into modal viewer

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.

* DGS-427 Restructure logs list and JSON-encode payloads

- 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.

* DGS-427 Override logs CSV export with diagnostic header

- 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.

* Fix Shipment list sorting on joined-table columns

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.

* Automatic license addition applying

* Automatic license addition applying

* DGS-430 Add --ignore-platform-reqs to release build (#172)

The composer.lock pins PHP 7+/8+ package versions while composer.json
still declares config.platform.php=5.6. composer install --no-dev then
fails with 'lock file does not contain a compatible set of packages',
so the release job produced no dpdbaltics.zip and users only saw the
source archive without vendor (module invalid and cannot be loaded).

Ignoring platform reqs lets the locked set install as-is so the build
attaches the vendor-bundled zip again.

Co-authored-by: Tadas Labutis <tadaslabutis@MacBookAir.localdomain>

---------

Co-authored-by: MarijusDilys <marijus.dilys@invertus.eu>
Co-authored-by: Marijus Dilys <106698165+MarijusDilys@users.noreply.github.com>
Co-authored-by: TLabutis <tadas.labutis@invertus.eu>
Co-authored-by: Tadas Labutis <tadaslabutis@Tadas-Labutis.local>
Co-authored-by: Gytautas Zumaras <gytautaszumaras@Gytautass-MacBook-Pro.local>
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@MacBookAir.localdomain>
Co-authored-by: webotron <webotrondev@gmail.com>
Co-authored-by: Gytautas Zumaras <gytautaszumaras@Mac.localdomain>
Co-authored-by: Gytautas Zumaras <gytautaszumaras@Gytautas-Zumaras.local>
Co-authored-by: Rokas Zygmantas <rokas.zygmantas@invertus.eu>
Co-authored-by: rokaszygmantas <6286794+rokaszygmantas@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants