Orderstatus.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace Dotdigitalgroup\Email\Model\Config\Configuration;
  3. class Orderstatus implements \Magento\Framework\Data\OptionSourceInterface
  4. {
  5. /**
  6. * @var \Magento\Sales\Model\Config\Source\Order\Status
  7. */
  8. private $status;
  9. /**
  10. * Orderstatus constructor.
  11. *
  12. * @param \Magento\Sales\Model\Config\Source\Order\Status $status
  13. */
  14. public function __construct(
  15. \Magento\Sales\Model\Config\Source\Order\Status $status
  16. ) {
  17. $this->status = $status;
  18. }
  19. /**
  20. * Returns the order statuses for field order_statuses.
  21. *
  22. * @return array
  23. */
  24. public function toOptionArray()
  25. {
  26. $statuses = $this->status->toOptionArray();
  27. if (! empty($statuses) && $statuses[0]['value'] == '') {
  28. array_shift($statuses);
  29. }
  30. $options[] = [
  31. 'label' => __('---- Default Option ----'),
  32. 'value' => '0',
  33. ];
  34. foreach ($statuses as $status) {
  35. $options[] = [
  36. 'value' => $status['value'],
  37. 'label' => $status['label'],
  38. ];
  39. }
  40. return $options;
  41. }
  42. }