Loading modules/order/src/Entity/OrderItem.php +4 −0 Changes for modules/order/src/Entity/OrderItem.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ namespace Drupal\commerce_order\Entity; use Drupal\commerce\Entity\CommerceContentEntityBase; use Drupal\commerce_order\Adjustment; use Drupal\commerce_price\Calculator; use Drupal\commerce_price\Price; use Drupal\Core\Entity\EntityChangedTrait; use Drupal\Core\Entity\EntityStorageInterface; Loading Loading @@ -349,6 +350,9 @@ class OrderItem extends CommerceContentEntityBase implements OrderItemInterface */ public function preSave(EntityStorageInterface $storage) { parent::preSave($storage); if (Calculator::compare($this->getQuantity(), '0') === 0) { $this->set('adjustments', NULL); } $this->recalculateTotalPrice(); } Loading modules/order/tests/src/Kernel/Entity/OrderItemTest.php +4 −0 Changes for modules/order/tests/src/Kernel/Entity/OrderItemTest.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -114,6 +114,10 @@ class OrderItemTest extends OrderKernelTestBase { $this->assertTrue($order_item->isLocked()); $order_item->unlock(); $this->assertFalse($order_item->isLocked()); $order_item->setQuantity('0'); $order_item->save(); $this->assertEmpty($order_item->getAdjustments()); } /** Loading Loading
modules/order/src/Entity/OrderItem.php +4 −0 Changes for modules/order/src/Entity/OrderItem.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ namespace Drupal\commerce_order\Entity; use Drupal\commerce\Entity\CommerceContentEntityBase; use Drupal\commerce_order\Adjustment; use Drupal\commerce_price\Calculator; use Drupal\commerce_price\Price; use Drupal\Core\Entity\EntityChangedTrait; use Drupal\Core\Entity\EntityStorageInterface; Loading Loading @@ -349,6 +350,9 @@ class OrderItem extends CommerceContentEntityBase implements OrderItemInterface */ public function preSave(EntityStorageInterface $storage) { parent::preSave($storage); if (Calculator::compare($this->getQuantity(), '0') === 0) { $this->set('adjustments', NULL); } $this->recalculateTotalPrice(); } Loading
modules/order/tests/src/Kernel/Entity/OrderItemTest.php +4 −0 Changes for modules/order/tests/src/Kernel/Entity/OrderItemTest.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -114,6 +114,10 @@ class OrderItemTest extends OrderKernelTestBase { $this->assertTrue($order_item->isLocked()); $order_item->unlock(); $this->assertFalse($order_item->isLocked()); $order_item->setQuantity('0'); $order_item->save(); $this->assertEmpty($order_item->getAdjustments()); } /** Loading