QUALITY PATCH

MDVA-38799: Downloadable products are not saved after creating a staging update

Downloadable products are not saved after creating a staging update. Quality patch MDVA-38799 for magento/module-downloadable applies to Magento Open Source and Adobe Commerce 2.3.0 to 2.4.2-p2.

Categories
Catalog/Product
Components
magento/module-downloadable, magento/module-downloadable-staging
Origin
adobe-commerce-support
Since QPT
1.1.0

Issue

Downloadable products are not saved after creating a staging update. Users get the error message: The downloadable sample is not related to the product. Verify the link and try again.

Steps to reproduce

1. Navigate to Catalog > Products. 1. Click the dropdown next to Add Product and select Downloadable Product. * Fill out the name, SKU, price, and quantity of the product. 1. Scroll down to the Downloadable Information page. 1. Under Samples, click Add Link. * Fill out the Title, Upload File (the type of file does not matter). 1. Click Save. You will get the following message: You saved the product. 1. Click Schedule New Update at the top of the page. * Fill out the Update Name and a legal Start Date and End Date. 1. Click Save on the staging update. 1. Click Save on the product.

Adobe's page lists 2.3.0-2.4.2-p1 as compatible; the versions below are resolved from the current QPT constraints and are the ones the tool will offer.

Install

Install the Quality Patches Tool with composer require magento/quality-patches, apply the prerequisites listed for all files applicable to your distribution and version first, then run vendor/bin/magento-patches apply MDVA-38799. On Cloud, add MDVA-38799 under stage.build.QUALITY_PATCHES in .magento.env.yaml.

For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its MDVA-38799/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Bundle prerequisites the same way and list them first. Paths are relative to each package root, using the default -p1 level. Prefer local files when configuring composer-patches; a remote URL can change.

Patch files and compatible versions

Packages across compatible versions (1): magento/module-downloadable
Packages across compatible versions (2): magento/module-downloadable, magento/module-downloadable-staging

magento/magento2-base >=2.3.0 <2.4.3

Magento Open Source
2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0
Adobe Commerce
2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0
Patch file
patches/os/MDVA-38799_2.4.1.patch
  • vendor/magento/module-downloadable/Model/Link/DeleteHandler.php
  • vendor/magento/module-downloadable/Model/Link/ReadHandler.php
  • vendor/magento/module-downloadable/Model/Sample/DeleteHandler.php
  • vendor/magento/module-downloadable/Model/Sample/ReadHandler.php

magento/magento2-ee-base >=2.3.0 <2.4.3

Magento Open Source
—
Adobe Commerce
2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0
Patch file
patches/commerce/MDVA-38799_2.4.1.patch
  • vendor/magento/module-downloadable-staging/Model/Plugin/Link/UpdateHandlerPlugin.php (added)
  • vendor/magento/module-downloadable-staging/Model/Plugin/Sample/UpdateHandlerPlugin.php (added)
  • vendor/magento/module-downloadable-staging/etc/di.xml (added)

Sources

Łukasz Bajsarowicz
Built by

Łukasz Bajsarowicz, e-commerce architect

Magento and Adobe Commerce architecture, upgrades, performance and audits for merchants and agencies since 2015; magento.watch is the tooling I use on those projects.

Open source, maintained on weekends.