*/ public function toOptionArray(): array { $collection = $this->collectionFactory->create(); $collection->addFieldToSelect(['rule_id', 'name', 'coupon_type', 'use_auto_generation']); $collection->addFieldToFilter('is_active', 1); $collection->addFieldToFilter( ['coupon_type', 'use_auto_generation'], [['eq' => Rule::COUPON_TYPE_AUTO], ['eq' => 1]] ); $collection->setOrder('name', 'ASC'); $options = [['value' => '', 'label' => __('-- Disabled --')]]; foreach ($collection as $rule) { $options[] = [ 'value' => (int)$rule->getId(), 'label' => sprintf('%s (ID: %d)', (string)$rule->getName(), (int)$rule->getId()), ]; } return $options; } }