Source of file CodeDiscountConstraint.php
Size: 1,013 Bytes - Last Modified: 2021-12-24T06:35:13+00:00
/var/www/docs.ssmods.com/process/src/src/Extensions/Constraints/CodeDiscountConstraint.php
12345678910111213141516171819202122232425262728293031323334353637383940414243 | <?php namespace SilverShop\Discounts\Extensions\Constraints; use SilverShop\Discounts\Model\Discount; use SilverStripe\ORM\DataList; class CodeDiscountConstraint extends DiscountConstraint { private static $db = [ 'Code' => 'Varchar(25)' ]; public function filter(DataList $list) { if ($code = $this->findCouponCode()) { $list = $list ->where("(\"Code\" IS NULL) OR (\"Code\" = '$code')"); } else { $list = $list->where('"Code" IS NULL'); } return $list; } public function check(Discount $discount) { $code = strtolower($this->findCouponCode()); if ($discount->Code && ($code !== strtolower($discount->Code))) { $this->error("Coupon code doesn't match $code"); return false; } return true; } protected function findCouponCode() { return isset($this->context['CouponCode']) ? $this->context['CouponCode'] : null; } } |