Пример #1
0
 /**
  * @param \Magento\Framework\Model\AbstractModel $object
  * @return $this
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     /**@var $object \Magento\Sales\Model\Order\Creditmemo\Item*/
     if (!$object->getParentId() && $object->getCreditmemo()) {
         $object->setParentId($object->getCreditmemo()->getId());
     }
     return parent::_beforeSave($object);
 }
Пример #2
0
 /**
  * Perform actions before object save
  *
  * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\Object $object
  * @return $this
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     /** @var \Magento\Sales\Model\Order\Invoice\Item $object */
     if (!$object->getParentId() && $object->getInvoice()) {
         $object->setParentId($object->getInvoice()->getId());
     }
     return parent::_beforeSave($object);
 }
Пример #3
0
 /**
  * Perform actions before object save
  *
  * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\Object $object
  * @return $this
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     /** @var \Magento\Sales\Model\Order\Creditmemo $object */
     if (!$object->getOrderId() && $object->getOrder()) {
         $object->setOrderId($object->getOrder()->getId());
         $object->setBillingAddressId($object->getOrder()->getBillingAddress()->getId());
     }
     return parent::_beforeSave($object);
 }
Пример #4
0
 /**
  * Perform actions before object save
  *
  * @param \Magento\Framework\Model\AbstractModel $object
  * @return $this
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     parent::_beforeSave($object);
     $warnings = $this->validator->validate($object);
     if (!empty($warnings)) {
         throw new \Magento\Framework\Exception\LocalizedException(__("Cannot save comment:\n%1", implode("\n", $warnings)));
     }
     return $this;
 }
Пример #5
0
 /**
  * Perform actions before object save
  *
  * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\Object $object
  * @return $this
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     /**@var $object \Magento\Sales\Model\Order\Payment */
     parent::_beforeSave($object);
     if (!$object->getParentId() && $object->getOrder()) {
         $object->setParentId($object->getOrder()->getId());
     }
     return $this;
 }
Пример #6
0
 /**
  * Perform actions before object save
  *
  * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\Object $object
  * @return $this
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     /** @var \Magento\Sales\Model\Order\Shipment $object */
     if ((!$object->getId() || null !== $object->getItems()) && !count($object->getAllItems())) {
         throw new \Magento\Framework\Exception\LocalizedException(__('We cannot create an empty shipment.'));
     }
     if (!$object->getOrderId() && $object->getOrder()) {
         $object->setOrderId($object->getOrder()->getId());
         $object->setShippingAddressId($object->getOrder()->getShippingAddress()->getId());
     }
     return parent::_beforeSave($object);
 }
Пример #7
0
 /**
  * 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;
 }
Пример #8
0
 /**
  * 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)
 {
     parent::_beforeSave($object);
     if (!$object->getParentId() && $object->getOrder()) {
         $object->setParentId($object->getOrder()->getId());
     }
     // Init customer address id if customer address is assigned
     $customerData = $object->getCustomerAddressData();
     if ($customerData) {
         $object->setCustomerAddressId($customerData->getId());
     }
     $warnings = $this->_validator->validate($object);
     if (!empty($warnings)) {
         throw new \Magento\Framework\Exception\LocalizedException(__("Cannot save address:\n%1", implode("\n", $warnings)));
     }
     return $this;
 }
Пример #9
0
 /**
  * @param \Magento\Framework\Model\AbstractModel $object
  * @return $this
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     if (!$object->getId()) {
         /** @var \Magento\Store\Model\Store $store */
         $store = $object->getStore();
         $name = [$store->getWebsite()->getName(), $store->getGroup()->getName(), $store->getName()];
         $object->setStoreName(implode(PHP_EOL, $name));
         $object->setTotalItemCount($this->calculateItems($object));
     }
     $object->setData('protect_code', substr(md5(uniqid(Random::getRandomNumber(), true) . ':' . microtime(true)), 5, 6));
     $isNewCustomer = !$object->getCustomerId() || $object->getCustomerId() === true;
     if ($isNewCustomer && $object->getCustomer()) {
         $object->setCustomerId($object->getCustomer()->getId());
     }
     return parent::_beforeSave($object);
 }
Пример #10
0
 /**
  * Lookup for parent_id in already saved transactions of this payment by the order_id
  * Also serialize additional information, if any
  *
  * @param \Magento\Framework\Model\AbstractModel|\Magento\Sales\Model\Order\Payment\Transaction $transaction
  * @throws \Magento\Framework\Exception\LocalizedException
  * @return $this
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $transaction)
 {
     $parentTxnId = $transaction->getData('parent_txn_id');
     $txnId = $transaction->getData('txn_id');
     $orderId = $transaction->getData('order_id');
     $paymentId = $transaction->getData('payment_id');
     $idFieldName = $this->getIdFieldName();
     if ($parentTxnId) {
         if (!$txnId || !$orderId || !$paymentId) {
             throw new \Magento\Framework\Exception\LocalizedException(__('We don\'t have enough information to save the parent transaction ID.'));
         }
         $parentId = (int) $this->_lookupByTxnId($orderId, $paymentId, $parentTxnId, $idFieldName);
         if ($parentId) {
             $transaction->setData('parent_id', $parentId);
         }
     }
     // make sure unique key won't cause trouble
     if ($transaction->isFailsafe()) {
         $autoincrementId = (int) $this->_lookupByTxnId($orderId, $paymentId, $txnId, $idFieldName);
         if ($autoincrementId) {
             $transaction->setData($idFieldName, $autoincrementId)->isObjectNew(false);
         }
     }
     return parent::_beforeSave($transaction);
 }