Esempio n. 1
0
 /**
  * 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);
 }
Esempio n. 2
0
 /**
  * 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);
 }
Esempio n. 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);
 }
Esempio n. 4
0
 /**
  * {@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;
 }
Esempio n. 5
0
 /**
  * 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);
 }