Save and Send / Save and Finalize from Admin panel
Go to Magento Frontend and login as a Company admin user
Add some product to Cart - click Cart icon - View and Edit Cart link
Click the Request a Quote button - Send Request
Go to Magento admin panel - Sales - Quotes - view create a quote
Click Save & Send button
Click Save & Finalize button
AR: A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later.
[2023-03-17T16:01:56.561880+00:00] report.CRITICAL: TypeError: trim(): Argument #1 ($string) must be of type string, null given in /var/www/html/magento245/vendor/magento/module-negotiable-quote/Model/CommentManagement.php:254
Stack trace:
#0 /var/www/html/magento245/vendor/magento/module-negotiable-quote/Model/CommentManagement.php(254): trim()
#1 /var/www/html/magento245/vendor/magento/module-negotiable-quote/Model/CommentManagement.php(120): Magento\NegotiableQuote\Model\CommentManagement->isCommentDeficient()
#2 /var/www/html/magento245/vendor/magento/module-negotiable-quote/Model/NegotiableQuoteManagement.php(263): Magento\NegotiableQuote\Model\CommentManagement->update()
#3 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(58): Magento\NegotiableQuote\Model\NegotiableQuoteManagement->saveAsDraft()
#4 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(138): Magento\NegotiableQuote\Model\NegotiableQuoteManagement\Interceptor->___callParent()
#5 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(153): Magento\NegotiableQuote\Model\NegotiableQuoteManagement\Interceptor->Magento\Framework\Interception\{closure}()
#6 /var/www/html/magento245/generated/code/Magento/NegotiableQuote/Model/NegotiableQuoteManagement/Interceptor.php(59): Magento\NegotiableQuote\Model\NegotiableQuoteManagement\Interceptor->___callPlugins()
#7 /var/www/html/magento245/vendor/magento/module-negotiable-quote/Controller/Adminhtml/Quote/Save.php(98): Magento\NegotiableQuote\Model\NegotiableQuoteManagement\Interceptor->saveAsDraft()
#8 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(58): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save->execute()
#9 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(138): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->___callParent()
#10 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(153): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->Magento\Framework\Interception\{closure}()
#11 /var/www/html/magento245/generated/code/Magento/NegotiableQuote/Controller/Adminhtml/Quote/Save/Interceptor.php(23): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->___callPlugins()
#12 /var/www/html/magento245/vendor/magento/framework/App/Action/Action.php(111): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->execute()
#13 /var/www/html/magento245/vendor/magento/module-backend/App/AbstractAction.php(151): Magento\Framework\App\Action\Action->dispatch()
#14 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Backend\App\AbstractAction->dispatch()
#15 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(138): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->___callParent()
#16 /var/www/html/magento245/vendor/magento/module-backend/App/Action/Plugin/Authentication.php(145): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->Magento\Framework\Interception\{closure}()
#17 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch()
#18 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(153): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->Magento\Framework\Interception\{closure}()
#19 /var/www/html/magento245/generated/code/Magento/NegotiableQuote/Controller/Adminhtml/Quote/Save/Interceptor.php(32): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->___callPlugins()
#20 /var/www/html/magento245/vendor/magento/framework/App/FrontController.php(245): Magento\NegotiableQuote\Controller\Adminhtml\Quote\Save\Interceptor->dispatch()
#21 /var/www/html/magento245/vendor/magento/framework/App/FrontController.php(212): Magento\Framework\App\FrontController->getActionResponse()
#22 /var/www/html/magento245/vendor/magento/framework/App/FrontController.php(147): Magento\Framework\App\FrontController->processRequest()
#23 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch()
#24 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent()
#25 /var/www/html/magento245/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}()
#26 /var/www/html/magento245/generated/code/Magento/Framework/App/FrontController/Interceptor.php(23): Magento\Framework\App\FrontController\Interceptor->___callPlugins()
#27 /var/www/html/magento245/vendor/magento/framework/App/Http.php(116): Magento\Framework\App\FrontController\Interceptor->dispatch()
#28 /var/www/html/magento245/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http->launch()
#29 /var/www/html/magento245/pub/index.php(30): Magento\Framework\App\Bootstrap->run()
#30 {main} [] []
After Save & Finalize Quote looks in the same way as after