/** * Perform actions before object save * * @param \Smart2Pay\GlobalPay\Model\ConfiguredMethods $object * @return $this * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if ($existing_arr = $this->checkMethodCountryID($object->getMethodID(), $object->getCountryID())) { $this->getConnection()->delete($this->getMainTable(), $this->getConnection()->quoteInto($this->getIdFieldName() . '=?', $existing_arr[$this->getIdFieldName()])); } return parent::_beforeSave($object); }
/** * 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); }
/** * Perform actions before object save * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ public function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if ($date = $object->getDateFrom()) { $object->setDateFrom($this->dateTime->formatDate($date)); } else { $object->setDateFrom(null); } if ($date = $object->getDateTo()) { $object->setDateTo($this->dateTime->formatDate($date)); } else { $object->setDateTo(null); } if (!is_null($object->getDateFrom()) && !is_null($object->getDateTo()) && (new \DateTime($object->getDateFrom()))->getTimestamp() > (new \DateTime($object->getDateTo()))->getTimestamp()) { throw new \Magento\Framework\Exception\LocalizedException(__('The start date can\'t follow the end date.')); } $check = $this->_checkIntersection($object->getStoreId(), $object->getDateFrom(), $object->getDateTo(), $object->getId()); if ($check) { throw new \Magento\Framework\Exception\LocalizedException(__('The date range for this design change overlaps another design change for the specified store.')); } if ($object->getDateFrom() === null) { $object->setDateFrom(new \Zend_Db_Expr('null')); } if ($object->getDateTo() === null) { $object->setDateTo(new \Zend_Db_Expr('null')); } parent::_beforeSave($object); }
/** * Prepare rule's active "from" and "to" dates * * @param \Magento\Framework\Model\AbstractModel $object * @return $this */ public function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { $this->resolveDate($object, 'from_date'); $this->resolveDate($object, 'to_date'); parent::_beforeSave($object); return $this; }
/** * Perform actions before object save * * @param \Magento\Framework\Model\AbstractModel $object * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!$object->getSortOrder()) { $object->setSortOrder($this->_getMaxSortOrder($object) + 1); } return parent::_beforeSave($object); }
/** * Process post data before saving * * @param \Smart2Pay\GlobalPay\Model\Method $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if ($this->checkObjectMethodID($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('Method ID already exists in database.')); } return parent::_beforeSave($object); }
/** * Process post data before saving * * @param \Smart2Pay\GlobalPay\Model\Transaction $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!$object->getMethodId()) { throw new \Magento\Framework\Exception\LocalizedException(__('Please provide a method id.')); } if (!$object->getMerchantTransactionId()) { throw new \Magento\Framework\Exception\LocalizedException(__('Please provide merchant transaction id.')); } if ($current_id = $this->checkMerchantTransactionID($object->getMerchantTransactionId()) and $object->getID() != $current_id) { throw new \Magento\Framework\Exception\LocalizedException(__('Merchant transaction id already exists in database.')); } $time = time(); if (!$object->getPaymentID()) { $object->setPaymentID(0); } if (!$object->getSiteId()) { $object->setSiteId(0); } if (!$object->getPaymentStatus()) { $object->setPaymentStatus(0); } if (!$object->getCreated()) { $object->setCreated($time); } $object->setUpdated($time); return parent::_beforeSave($object); }
/** * Process testimonial data before saving * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!$object->getId() || !$object->getDate()) { $object->setDate($this->_date->gmtDate()); } return parent::_beforeSave($object); }
/** * {@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); }
/** * Process post data before saving * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!$this->isValidNewsblock($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('Please fill out newsblock fields.')); } $object->setUpdateTime($this->_date->gmtDate()); return parent::_beforeSave($object); }
/** * Before saving the object, add the created or updated times * * @param \Magento\Framework\Model\AbstractModel $object * @return $this */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if ($object->isObjectNew() && !$object->hasCreationTime()) { $object->setCreationTime($this->_date->gmtDate()); } $object->setUpdateTime($this->_date->gmtDate()); return parent::_beforeSave($object); }
/** * Process category data before saving * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!$this->isValidPageIdentifier($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The category URL key contains capital letters or disallowed symbols.')); } if ($this->isNumericPageIdentifier($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The category URL key cannot be made of only numbers.')); } return parent::_beforeSave($object); }
/** * Convert array to comma separated value * * @param \Magento\Framework\Model\AbstractModel $object * @return $this */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!$object->getId()) { $this->_checkUnique($object); } if (is_array($object->getValue())) { $object->setValue(join(',', $object->getValue())); } return parent::_beforeSave($object); }
/** * Perform actions before object save * * @param AbstractModel $object * @return $this */ public function _beforeSave(AbstractModel $object) { if (!$object->getExpirationDate()) { $object->setExpirationDate(null); } elseif ($object->getExpirationDate() instanceof \DateTimeInterface) { $object->setExpirationDate($object->getExpirationDate()->format('Y-m-d H:i:s')); } // maintain single primary coupon per rule $object->setIsPrimary($object->getIsPrimary() ? 1 : null); return parent::_beforeSave($object); }
/** * Set date of last update * * @param \Magento\Framework\Model\AbstractModel $object * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb */ protected function _beforeSave(AbstractModel $object) { /* @var $object \ClassyLlama\AvaTax\Model\Queue */ $date = $this->dateTime->gmtDate(); if ($object->isObjectNew() && !$object->getCreatedAt()) { $object->setCreatedAt($date); } else { $object->setUpdatedAt($date); } return parent::_beforeSave($object); }
/** * Process post data before saving. * * @param AbstractModel $object * * @return $this * @throws LocalizedException */ public function _beforeSave(AbstractModel $object) { if (!$this->isValidPostUrlKey($object)) { throw new LocalizedException(__('The post URL key contains capital letters or disallowed symbols.')); } if ($object->isObjectNew() && !$object->hasCreatedAt()) { $object->setCreatedAt($this->_date->gmtDate()); } $object->setUpdatedAt($this->_date->gmtDate()); return parent::_beforeSave($object); }
/** * 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); }
/** * Method to run before save * * @param \Magento\Framework\Model\AbstractModel $object * @return $this */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { // format height $height = $object->getContentHeight(); $height = $this->filterManager->stripTags($height); if (!$height) { $height = ''; } if ($height && preg_match('/[0-9]$/', $height)) { $height .= 'px'; } $object->setContentHeight($height); return parent::_beforeSave($object); }
/** * Process post data before saving * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!$this->isValidPostUrlKey($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The post URL key contains capital letters or disallowed symbols.')); } if ($this->isNumericPostUrlKey($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The post URL key cannot be made of only numbers.')); } if ($object->isObjectNew() && !$object->hasCreationTime()) { $object->setCreationTime($this->_date->gmtDate()); } $object->setUpdateTime($this->_date->gmtDate()); return parent::_beforeSave($object); }
protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if ($this->isEmpty($object, 'fullname')) { throw new \Magento\Framework\Exception\LocalizedException(__('The name cannot be empty')); } if (!$this->isEmail($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The email address contains disallowed characters or is not well formed!')); } if ($this->isEmpty($object, 'birthdate')) { throw new \Magento\Framework\Exception\LocalizedException(__('The birthdate cannot be empty')); } if ($this->isEmpty($object, 'address')) { throw new \Magento\Framework\Exception\LocalizedException(__('The address cannot be empty')); } return parent::_beforeSave($object); }
/** * Process category data before saving * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { foreach (['custom_theme_from', 'custom_theme_to'] as $field) { $value = $object->getData($field) ?: null; $object->setData($field, $this->dateTime->formatDate($value)); } $identifierGenerator = \Magento\Framework\App\ObjectManager::getInstance()->create('Magefan\\Blog\\Model\\ResourceModel\\PageIdentifierGenerator'); $identifierGenerator->generate($object); if (!$this->isValidPageIdentifier($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The category URL key contains capital letters or disallowed symbols.')); } if ($this->isNumericPageIdentifier($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The category URL key cannot be made of only numbers.')); } return parent::_beforeSave($object); }
protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { $origData = $object->getOrigData(); if (empty($origData)) { $object->setData('create_date', $this->getHelper('Data')->getCurrentGmtDate()); } $object->setData('update_date', $this->getHelper('Data')->getCurrentGmtDate()); $result = parent::_beforeSave($object); // TODO test it on magento 2.0 // fix for Varien\Db\Adapter\Pdo\Mysql::prepareColumnValue // an empty string cannot be saved -> NULL is saved instead // for Magento version > 1.6.x.x foreach ($object->getData() as $key => $value) { $value === '' && $object->setData($key, new \Zend_Db_Expr("''")); } return $result; }
/** * @param \Magento\Framework\Model\AbstractModel $object * * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { if (!$this->isSlugEmpty($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('Something wrong with slug')); } if (!$this->isSlugValid($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('This post slug contain disallowed symbols.')); } if ($this->isSlugNumeric($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('Post slug can\'t be made of only numbers')); } if ($object->isObjectNew() && !$object->hasCreatedAt()) { $object->setCreatedAt($this->_date->gmtDate()); } $object->setUpdatedAt($this->_date->gmtDate()); return parent::_beforeSave($object); }
/** * Prepare rule's active "from" and "to" dates * * @param \Magento\Framework\Model\AbstractModel $object * @return $this */ public function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { $fromDate = $object->getFromDate(); if ($fromDate instanceof \DateTime) { $object->setFromDate($fromDate->format('Y-m-d H:i:s')); } elseif (!is_string($fromDate) || empty($fromDate)) { $object->setFromDate(null); } $toDate = $object->getToDate(); if ($toDate instanceof \DateTime) { $object->setToDate($toDate->format('Y-m-d H:i:s')); } elseif (!is_string($toDate) || empty($toDate)) { $object->setToDate(null); } parent::_beforeSave($object); return $this; }
/** * Perform actions before object save * * @param \Magento\Framework\Model\AbstractModel $object * @return $this */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { $belongsToQuoteItem = $object->hasData(CommentInterface::QUOTE_ITEM_ID_COLUMN); $belongsToOrderItem = $object->hasData(CommentInterface::ORDER_ITEM_ID_COLUMN); $hasText = $object->hasData(CommentInterface::TEXT_COLUMN); // A comment should either be attached to a quote item or order item... if (!$belongsToQuoteItem || !$belongsToOrderItem) { throw new \Magento\Framework\Exception\LocalizedException(__('A comment should belong to either a quote item or order item.')); } // ...but not to both if ($belongsToQuoteItem && $belongsToOrderItem) { throw new \Magento\Framework\Exception\LocalizedException(__('A comment cannot belong to both a quote item and order item.')); } if (!$hasText) { throw new \Magento\Framework\Exception\LocalizedException(__('A comment requirescomp text.')); } return parent::_beforeSave($object); }
/** * Process tag data before saving * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { $object->setTitle(trim(strtolower($object->getTitle()))); if (!$object->getId()) { $tag = $object->getCollection()->addFieldToFilter('title', $object->getTitle())->setPageSize(1)->getFirstItem(); if ($tag->getId()) { throw new \Magento\Framework\Exception\LocalizedException(__('The tag is already exist.')); } } $identifierGenerator = \Magento\Framework\App\ObjectManager::getInstance()->create('Magefan\\Blog\\Model\\ResourceModel\\PageIdentifierGenerator'); $identifierGenerator->generate($object); if (!$this->isValidPageIdentifier($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The tag URL key contains capital letters or disallowed symbols.')); } if ($this->isNumericPageIdentifier($object)) { throw new \Magento\Framework\Exception\LocalizedException(__('The tag URL key cannot be made of only numbers.')); } return parent::_beforeSave($object); }
/** * Process post data before saving * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { // if (!$this->isValidPostUrlKey($object)) { // throw new \Magento\Framework\Exception\LocalizedException( // __('The post URL key contains capital letters or disallowed symbols.') // ); // } // // if ($this->isNumericPostUrlKey($object)) { // throw new \Magento\Framework\Exception\LocalizedException( // __('The post URL key cannot be made of only numbers.') // ); // } // $object->setData('photo_url', 'fefefefewfergrtgtrh'); // throw new \Magento\Framework\Exception\LocalizedException( // __('Alert!! '.$object->getData('photo_url')) // ); if ($object->isObjectNew() && !$object->hasCreationTime()) { $object->setCreationTime($this->_date->gmtDate()); } $object->setUpdateTime($this->_date->gmtDate()); return parent::_beforeSave($object); }
/** * Set updated_at automatically before saving * * @param \Magento\Framework\Model\AbstractModel $object * @return $this */ public function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { $object->setUpdatedAt($this->_dateTime->formatDate(time())); return parent::_beforeSave($object); }
/** * Validate attribute data before save * * @param EntityAttribute|AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(AbstractModel $object) { $frontendLabel = $object->getFrontendLabel(); if (is_array($frontendLabel)) { if (!isset($frontendLabel[0]) || $frontendLabel[0] === null || $frontendLabel[0] == '') { throw new \Magento\Framework\Exception\LocalizedException(__('The storefront label is not defined.')); } $object->setFrontendLabel($frontendLabel[0])->setStoreLabels($frontendLabel); } /** * @todo need use default source model of entity type !!! */ if (!$object->getId()) { if ($object->getFrontendInput() == 'select') { $object->setSourceModel('Magento\\Eav\\Model\\Entity\\Attribute\\Source\\Table'); } } return parent::_beforeSave($object); }
/** * Process post data before saving * * @param \Magento\Framework\Model\AbstractModel $object * * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { return parent::_beforeSave($object); }