25 $this->
_init(
'salesrule_coupon',
'coupon_id');
26 $this->
addUniqueField([
'field' =>
'code',
'title' =>
__(
'Coupon with the same code')]);
37 if (!$object->getExpirationDate()) {
38 $object->setExpirationDate(
null);
39 }
elseif ($object->getExpirationDate() instanceof \DateTimeInterface) {
40 $object->setExpirationDate(
41 $object->getExpirationDate()->format(
'Y-m-d H:i:s')
46 $object->setIsPrimary($object->getIsPrimary() ? 1 :
null);
48 return parent::_beforeSave($object);
74 'is_primary = :is_primary' 83 $object->setData(
$data);
100 $select->where(
'code = :code');
121 if (
$rule->dataHasChangedFor(
'uses_per_coupon')) {
122 $updateArray[
'usage_limit'] =
$rule->getUsesPerCoupon();
125 if (
$rule->dataHasChangedFor(
'uses_per_customer')) {
126 $updateArray[
'usage_per_customer'] =
$rule->getUsesPerCustomer();
129 $ruleNewDate = new \DateTime(
$rule->getToDate());
130 $ruleOldDate = new \DateTime(
$rule->getOrigData(
'to_date'));
132 if ($ruleNewDate != $ruleOldDate) {
133 $updateArray[
'expiration_date'] =
$rule->getToDate();
136 if (!empty($updateArray)) {
138 $this->
getTable(
'salesrule_coupon'),
140 [
'rule_id = ?' =>
$rule->getId()]
elseif(isset( $params[ 'redirect_parent']))
loadPrimaryByRule(\Magento\SalesRule\Model\Coupon $object, $rule)
_init($mainTable, $idFieldName)
updateSpecificCoupons(\Magento\SalesRule\Model\Rule $rule)
_beforeSave(AbstractModel $object)
_afterLoad(\Magento\Framework\Model\AbstractModel $object)