Item.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Model\ResourceModel\Order\Invoice;
  7. use Magento\Sales\Model\ResourceModel\EntityAbstract as SalesResource;
  8. use Magento\Sales\Model\Spi\InvoiceItemResourceInterface;
  9. /**
  10. * Flat sales order invoice item resource
  11. *
  12. * @author Magento Core Team <core@magentocommerce.com>
  13. */
  14. class Item extends SalesResource implements InvoiceItemResourceInterface
  15. {
  16. /**
  17. * Event prefix
  18. *
  19. * @var string
  20. */
  21. protected $_eventPrefix = 'sales_order_invoice_item_resource';
  22. /**
  23. * Model initialization
  24. *
  25. * @return void
  26. */
  27. protected function _construct()
  28. {
  29. $this->_init('sales_invoice_item', 'entity_id');
  30. }
  31. /**
  32. * Perform actions before object save
  33. *
  34. * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object
  35. * @return $this
  36. */
  37. protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
  38. {
  39. /** @var \Magento\Sales\Model\Order\Invoice\Item $object */
  40. if (!$object->getParentId() && $object->getInvoice()) {
  41. $object->setParentId($object->getInvoice()->getId());
  42. }
  43. return parent::_beforeSave($object);
  44. }
  45. /**
  46. * Perform actions after object save
  47. *
  48. * @param \Magento\Framework\Model\AbstractModel $object
  49. * @return $this
  50. */
  51. protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
  52. {
  53. /** @var \Magento\Sales\Model\Order\Invoice\Item $object */
  54. if (null == !$object->getOrderItem()) {
  55. $object->getOrderItem()->save();
  56. }
  57. return parent::_afterSave($object);
  58. }
  59. }