[5.x]: Creating a product with a ' character in the title breaks variant creation
TheFunkyMonk opened this issue · 5 comments
What happened?
Description
When creating a new product with the name Pet'Golò, the initial draft seems to save correctly but when I select "New product variant" and try to create a variant, I trigger the following error:
2024-05-22 09:36:20 [web.ERROR] [yii\web\HttpException:400] yii\web\BadRequestHttpException: Unable to verify your data submission. in /var/www/html/vendor/yiisoft/yii2/web/Controller.php:220
Stack trace:
#0 /var/www/html/vendor/craftcms/cms/src/web/Controller.php(175): yii\web\Controller->beforeAction(Object(yii\base\InlineAction))
#1 /var/www/html/vendor/craftcms/cms/src/controllers/ElementsController.php(98): craft\web\Controller->beforeAction(Object(yii\base\InlineAction))
#2 /var/www/html/vendor/yiisoft/yii2/base/Controller.php(176): craft\controllers\ElementsController->beforeAction(Object(yii\base\InlineAction))
#3 /var/www/html/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction('edit', Array)
#4 /var/www/html/vendor/craftcms/cms/src/web/Application.php(349): yii\base\Module->runAction('elements/edit', Array)
#5 /var/www/html/vendor/yiisoft/yii2/web/Application.php(103): craft\web\Application->runAction('elements/edit', Array)
#6 /var/www/html/vendor/craftcms/cms/src/web/Application.php(317): yii\web\Application->handleRequest(Object(craft\web\Request))
#7 /var/www/html/vendor/yiisoft/yii2/base/Application.php(384): craft\web\Application->handleRequest(Object(craft\web\Request))
#8 /var/www/html/web/index.php(12): yii\base\Application->run()
#9 {main} {"memory":4022872,"exception":"[object] (yii\\web\\BadRequestHttpException(code: 0): Unable to verify your data submission. at /var/www/html/vendor/yiisoft/yii2/web/Controller.php:220)"}
Additionally, I'm seeing this in my browser console when the variant slideout opens:
This seems to be an issue only with the initial draft/entry creation; if we change the product name to something like "Test" it can successfully be created/renamed to Pet'Golò.
Steps to reproduce
- Create a new product with the name Pet'Golò
- Create a variant and save
Expected behavior
Variant is created and product can be saved
Actual behavior
Above errors are triggered
Craft CMS version
5.1.4
Craft Commerce version
5.0.7
PHP version
8.2.19
Operating system and version
Linux 6.5.0-15-generic
Database type and version
MySQL 8.0.33
Image driver and version
Imagick 3.7.0 (ImageMagick 6.9.11-60)
Installed plugins and versions
CKEditor 4.0.6
Colour Swatches 5.0.0
Control Panel CSS 3.0.0
Craft Commerce 5.0.7
Default Dashboard 3.0.0
Field Manager 4.0.0
Guide 4.0.0-beta.1
ImageOptimize 5.0.1
Image Resizer 4.0.0
Neo 5.0.0-beta.10
No-Cache 3.0.2
PayPal Checkout for Craft Commerce 3.0.0
Redirects 5.0.0
Retcon 3.0.0
SEO 5.0.3
Servd Assets and Helpers 4.0.3
Sprig 3.0.2
Stripe for Craft Commerce 5.0.1
Thank you for your message. Unfortunately, we are unable to replicate your issue.
Here is a video of everything working as expected on the latest version of Craft 5 and Commerce 5
CleanShot.2024-05-23.at.08.26.16.mp4
Could you clear the caches and try again? If that doesn't make any difference, could you try disabling other plugins to see if that is having any effect?
Thanks!
Hey there! To clarify, this only happens when creating a new product. Editing an existing product to change the name to Pet'Golò and adding a variant before completing the product creation triggers this issue.
Clearing caches has no effect for us; are you able to repro by creating a new product with the name Pet'Golò and adding a variant?
@TheFunkyMonk I am able to create a brand new product and brand new variant with Pet'Golò
as the title. I was also able to create a new draft.
Something else is going on. Could you send your DB with composer.json and composer.lock to support@craftcms.com and reference this issue and we will see if we can reproduce with your data/plugins.
Commerce 5.0.8 is out now with a fix for this. Thanks for reporting!