/** * @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); }
/** * Perform actions before object save * * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $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); }
/** * 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\Shipment\Comment $object */ if (!$object->getParentId() && $object->getShipment()) { $object->setParentId($object->getShipment()->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; }
/** * Build category URL path * * @param \Magento\Catalog\Api\Data\CategoryInterface|\Magento\Framework\Model\AbstractModel $category * @return string */ public function getUrlPath($category) { if ($category->getParentId() == Category::TREE_ROOT_ID) { return ''; } $path = $category->getUrlPath(); if ($path !== null && !$category->dataHasChangedFor('url_key') && !$category->dataHasChangedFor('parent_id')) { return $path; } $path = $category->getUrlKey(); if ($path === false) { return $category->getUrlPath(); } if ($this->isNeedToGenerateUrlPathForParent($category)) { $parentPath = $this->getUrlPath($this->categoryRepository->get($category->getParentId())); $path = $parentPath === '' ? $path : $parentPath . '/' . $path; } return $path; }