magento / inventory

Magento Inventory Project (a.k.a MSI)
Open Software License 3.0
337 stars 248 forks source link

cannot fix/save sku of product with trailing space #3413

Open medigeek opened 2 months ago

medigeek commented 2 months ago

Preconditions (*)

  1. magento 2.4.7-p2
  2. magento/inventory-metapackage 1.2.7-p2
  3. magento/module-inventory 1.2.5

Steps to reproduce (*)

The issue happens when you already have products pre-existing before the magento inventory leading/trailing space validation check. The validation system doesn't allow you to change/fix product skus with pre-existing products with space characters.

  1. disable/comment out the validation check in Model/Validators/NoSpaceBeforeAndAfterString.php
  2. create a product with trailing space character
  3. re-enable the validation check in Model/Validators/NoSpaceBeforeAndAfterString.php
  4. try to modify/remove the space from the sku of the product and save

Expected result (*)

  1. expecting successful product save
  2. successfully able to change the leading/trailing space characters

Actual result (*)

While saving you see the error: The stock item was unable to be saved. Please try again.

In the logs this error comes up: Validation Failed: "sku" can not contain leading or trailing spaces.

m2-assistant[bot] commented 2 months ago

Hi @medigeek. Thank you for your report. To speed up processing of this issue, make sure that you provided sufficient information. Add a comment to assign the issue: @magento I am working on this


Join Magento Community Engineering Slack and ask your questions in #github channel.

kulwinders433 commented 2 months ago

Add this code in NoSpaceBeforeAndAfterString.php file

if ($trimValue !== $value) { $errors[] = __('"%field" can not contain leading or trailing spaces.', ['field' => $fieldName]);

    }