mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-08 01:37:36 +00:00
- removed @since 2.0.0 as it is a base release - updated version in @since and @deprecated tag taking into account all patch releases
97 lines
3.0 KiB
PHP
97 lines
3.0 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
namespace Magento\Sales\Model\ResourceModel\Order\Invoice;
|
|
|
|
use Magento\Sales\Model\ResourceModel\EntityAbstract;
|
|
use Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot;
|
|
use Magento\Sales\Model\Spi\InvoiceCommentResourceInterface;
|
|
|
|
/**
|
|
* Flat sales order invoice comment resource
|
|
*
|
|
* @author Magento Core Team <core@magentocommerce.com>
|
|
*/
|
|
class Comment extends EntityAbstract implements InvoiceCommentResourceInterface
|
|
{
|
|
/**
|
|
* Event prefix
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $_eventPrefix = 'sales_order_invoice_comment_resource';
|
|
|
|
/**
|
|
* Validator
|
|
*
|
|
* @var \Magento\Sales\Model\Order\Invoice\Comment\Validator
|
|
*/
|
|
protected $validator;
|
|
|
|
/**
|
|
* @param \Magento\Framework\Model\ResourceModel\Db\Context $context
|
|
* @param \Magento\Sales\Model\ResourceModel\Attribute $attribute
|
|
* @param \Magento\SalesSequence\Model\Manager $sequenceManager
|
|
* @param Snapshot $entitySnapshot
|
|
* @param \Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite $entityRelationComposite
|
|
* @param \Magento\Sales\Model\Order\Invoice\Comment\Validator $validator
|
|
* @param string $connectionName
|
|
*/
|
|
public function __construct(
|
|
\Magento\Framework\Model\ResourceModel\Db\Context $context,
|
|
Snapshot $entitySnapshot,
|
|
\Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite $entityRelationComposite,
|
|
\Magento\Sales\Model\ResourceModel\Attribute $attribute,
|
|
\Magento\SalesSequence\Model\Manager $sequenceManager,
|
|
\Magento\Sales\Model\Order\Invoice\Comment\Validator $validator,
|
|
$connectionName = null
|
|
) {
|
|
$this->validator = $validator;
|
|
parent::__construct(
|
|
$context,
|
|
$entitySnapshot,
|
|
$entityRelationComposite,
|
|
$attribute,
|
|
$sequenceManager,
|
|
$connectionName
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Model initialization
|
|
*
|
|
* @return void
|
|
*/
|
|
protected function _construct()
|
|
{
|
|
$this->_init('sales_invoice_comment', 'entity_id');
|
|
}
|
|
|
|
/**
|
|
* Performs validation before save
|
|
*
|
|
* @param \Magento\Framework\Model\AbstractModel $object
|
|
* @return $this
|
|
* @throws \Magento\Framework\Exception\LocalizedException
|
|
*/
|
|
protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
|
|
{
|
|
/** @var \Magento\Sales\Model\Order\Invoice\Comment $object */
|
|
if (!$object->getParentId() && $object->getInvoice()) {
|
|
$object->setParentId($object->getInvoice()->getId());
|
|
}
|
|
|
|
parent::_beforeSave($object);
|
|
$errors = $this->validator->validate($object);
|
|
if (!empty($errors)) {
|
|
throw new \Magento\Framework\Exception\LocalizedException(
|
|
__("Cannot save comment:\n%1", implode("\n", $errors))
|
|
);
|
|
}
|
|
|
|
return $this;
|
|
}
|
|
}
|