/** * Validate website code before object save * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!preg_match('/^[a-z]+[a-z0-9_]*$/', $object->getCode())) { throw new \Magento\Framework\Exception\LocalizedException(__('Website code may only contain letters (a-z), numbers (0-9) or underscore (_),' . ' and the first character must be a letter.')); } return parent::_beforeSave($object); }
/** * Check if group uses as default * * @param \Magento\Framework\Model\AbstractModel $group * @return $this * @throws \Magento\Framework\Model\Exception */ protected function _beforeDelete(\Magento\Framework\Model\AbstractModel $group) { if ($group->usesAsDefault()) { throw new \Magento\Framework\Model\Exception(__('The group "%1" cannot be deleted', $group->getCode())); } return parent::_beforeDelete($group); }
/** * 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); }
/** * {@inheritdoc} */ protected function _beforeSave(AbstractModel $object) { $reindexRequired = false; if ($object->hasData('attributes') && is_array($object->getData('attributes'))) { $serialized = serialize($object->getData('attributes')); if ($object->getData('attributes_serialized') != $serialized) { $reindexRequired = true; } $object->setData('attributes_serialized', $serialized); } if ($object->hasData('properties') && is_array($object->getData('properties'))) { $serialized = serialize($object->getData('properties')); if ($object->getData('properties_serialized') != $serialized) { $reindexRequired = true; } $object->setData('properties_serialized', $serialized); } if ($reindexRequired && !$object->dataHasChangedFor('status')) { $object->setStatus(Config::INDEX_STATUS_INVALID); } $object->setCode($object->getCode()); return $this; }
/** * Prepare data before save * * @param \Magento\Framework\Model\AbstractModel $group * @return $this */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $group) { /** @var \Magento\Customer\Model\Group $group */ $group->setCode(substr($group->getCode(), 0, $group::GROUP_CODE_MAX_LENGTH)); return parent::_beforeSave($group); }