Source of file UseLimitDiscountConstraint.php
Size: 1,149 Bytes - Last Modified: 2021-12-24T06:35:13+00:00
/var/www/docs.ssmods.com/process/src/src/Extensions/Constraints/UseLimitDiscountConstraint.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344 | <?php namespace SilverShop\Discounts\Extensions\Constraints; use SilverShop\Discounts\Model\Discount; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\NumericField; class UseLimitDiscountConstraint extends DiscountConstraint { private static $db = [ 'UseLimit' => 'Int' ]; private static $field_labels = [ 'UseLimit' => 'Maximum number of uses' ]; public function updateCMSFields(FieldList $fields) { $fields->addFieldToTab( 'Root.Constraints.ConstraintsTabs.General', NumericField::create( 'UseLimit', _t(__CLASS__.'.USELIMIT', $this->owner->fieldLabel('UseLimit')), 0 ) ->setDescription('Note: 0 = unlimited') ); } public function check(Discount $discount) { if ($discount->UseLimit && $discount->getUseCount($this->order->ID) >= $discount->UseLimit) { $this->error(_t('DiscountConstraint.USELIMITREACHED', 'This discount has reached its maximum number of uses.')); return false; } return true; } } |