예제 #1
0
 /**
  * Process role before saving
  *
  * @param \Magento\Framework\Model\AbstractModel $role
  * @return $this
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $role)
 {
     if (!$role->getId()) {
         $role->setCreated($this->dateTime->formatDate(true));
     }
     $role->setModified($this->dateTime->formatDate(true));
     if ($role->getId() == '') {
         if ($role->getIdFieldName()) {
             $role->unsetData($role->getIdFieldName());
         } else {
             $role->unsetData('id');
         }
     }
     if (!$role->getTreeLevel()) {
         if ($role->getPid() > 0) {
             $select = $this->getConnection()->select()->from($this->getMainTable(), ['tree_level'])->where("{$this->getIdFieldName()} = :pid");
             $binds = ['pid' => (int) $role->getPid()];
             $treeLevel = $this->getConnection()->fetchOne($select, $binds);
         } else {
             $treeLevel = 0;
         }
         $role->setTreeLevel($treeLevel + 1);
     }
     if ($role->getName()) {
         $role->setRoleName($role->getName());
     }
     return $this;
 }
예제 #2
0
 /**
  * {@inheritdoc}
  */
 protected function _beforeSave(AbstractModel $tag)
 {
     /** @var \Mirasvit\Blog\Model\Tag $tag */
     if (!$tag->getData('url_key')) {
         $tag->setData('url_key', $this->filter->translitUrl($tag->getName()));
     }
     return parent::_beforeSave($tag);
 }
예제 #3
0
 /**
  * Process post data before saving
  *
  * @param \Smart2Pay\GlobalPay\Model\Country $object
  * @return $this
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     if (!$object->getCode()) {
         throw new \Magento\Framework\Exception\LocalizedException(__('Please provide country code.'));
     }
     if (!$object->getName()) {
         throw new \Magento\Framework\Exception\LocalizedException(__('Please provide country name.'));
     }
     if ($this->checkCode($object)) {
         throw new \Magento\Framework\Exception\LocalizedException(__('Country code already exists in database.'));
     }
     return parent::_beforeSave($object);
 }
 /**
  * Retrieve model name
  * @param  boolean $plural
  * @return string
  */
 protected function _getModelName(\Magento\Framework\Model\AbstractModel $model)
 {
     return $model->getName() ?: $model->getTitle();
 }
예제 #5
0
 /**
  * before save callback
  *
  * @param AbstractModel|\Sample\News\Model\Author $object
  * @return $this
  */
 protected function _beforeSave(AbstractModel $object)
 {
     foreach (['dob'] as $field) {
         $value = !$object->getData($field) ? null : $object->getData($field);
         $object->setData($field, $this->dateTime->formatDate($value));
     }
     $object->setUpdatedAt($this->date->gmtDate());
     if ($object->isObjectNew()) {
         $object->setCreatedAt($this->date->gmtDate());
     }
     $urlKey = $object->getData('url_key');
     if ($urlKey == '') {
         $urlKey = $object->getName();
     }
     $urlKey = $object->formatUrlKey($urlKey);
     $object->setUrlKey($urlKey);
     $validKey = false;
     while (!$validKey) {
         if ($this->getIsUniqueAuthorToStores($object)) {
             $validKey = true;
         } else {
             $parts = explode('-', $urlKey);
             $last = $parts[count($parts) - 1];
             if (!is_numeric($last)) {
                 $urlKey = $urlKey . '-1';
             } else {
                 $suffix = '-' . ($last + 1);
                 unset($parts[count($parts) - 1]);
                 $urlKey = implode('-', $parts) . $suffix;
             }
             $object->setData('url_key', $urlKey);
         }
     }
     return parent::_beforeSave($object);
 }
예제 #6
0
 /**
  * before save callback
  *
  * @param \Magento\Framework\Model\AbstractModel|\Mageplaza\Blog\Model\Topic $object
  * @return $this
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     $object->setUpdatedAt($this->date->date());
     if ($object->isObjectNew()) {
         $object->setCreatedAt($this->date->date());
     }
     //Check Url Key
     if ($object->isObjectNew()) {
         $count = 0;
         $objName = $object->getName();
         if ($object->getUrlKey()) {
             $urlKey = $object->getUrlKey();
         } else {
             $urlKey = $this->generateUrlKey($objName, $count);
         }
         while ($this->checkUrlKey($urlKey)) {
             $count++;
             $urlKey = $this->generateUrlKey($urlKey, $count);
         }
         $object->setUrlKey($urlKey);
     } else {
         $objectId = $object->getId();
         $count = 0;
         $objName = $object->getName();
         if ($object->getUrlKey()) {
             $urlKey = $object->getUrlKey();
         } else {
             $urlKey = $this->generateUrlKey($objName, $count);
         }
         while ($this->checkUrlKey($urlKey, $objectId)) {
             $count++;
             $urlKey = $this->generateUrlKey($urlKey, $count);
         }
         $object->setUrlKey($urlKey);
     }
     return parent::_beforeSave($object);
 }