src/Entity/System/OrderStatus.php line 15

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\System;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7. * @ORM\Table(name="order_status")
  8. *
  9. * @ORM\Entity(repositoryClass="App\Repository\System\OrderStatusRepository")
  10. */
  11. class OrderStatus
  12. {
  13. public const NOT_VISIBLE = 0;
  14. public const PENDING_PAYMENT = 1;
  15. public const PROCESSING = 2;
  16. public const FLEXIBLE_PAYMENT = 3;
  17. public const PAYMENT_INCIDENT = 4;
  18. public const SHIPPED = 5;
  19. public const CANCELLED = 6;
  20. public const PROCESSED = 7;
  21. public const PAYPAL_VALIDATION_PENDING = 8;
  22. public const PAYPAL_PENDING_VALIDATION = 9;
  23. public const DELIVERED = 10;
  24. public const PARTIALLY_SHIPPED = 11;
  25. public const PENDING_INVOICE = 12;
  26. public const RETURNED = 13;
  27. public const PAYMENT_CANCELLED = 14;
  28. public const PAYMENT_REIMBURSED = 15;
  29. public const ADYEN_PENDING_VALIDATION = 16;
  30. public const TRANSPORT_CODE_PENDING_VALIDATION = 17;
  31. public const SCHEDULED_CONFIRMATION = 18;
  32. public const STRIPE_PENDING_VALIDATION = 19;
  33. public const PAYMENT_ERROR = 20;
  34. public const ORDERS_PROCESSED = [OrderStatus::SHIPPED, OrderStatus::PROCESSED, OrderStatus::DELIVERED, OrderStatus::PARTIALLY_SHIPPED, OrderStatus::PENDING_INVOICE];
  35. public const INVALID_ORDER_IDS = [
  36. OrderStatus::NOT_VISIBLE,
  37. OrderStatus::CANCELLED,
  38. OrderStatus::PENDING_PAYMENT,
  39. OrderStatus::PAYMENT_ERROR,
  40. OrderStatus::PAYMENT_INCIDENT,
  41. OrderStatus::PAYPAL_VALIDATION_PENDING,
  42. OrderStatus::PAYPAL_PENDING_VALIDATION,
  43. OrderStatus::PENDING_INVOICE,
  44. OrderStatus::RETURNED,
  45. OrderStatus::PAYMENT_CANCELLED,
  46. OrderStatus::PAYMENT_REIMBURSED,
  47. OrderStatus::ADYEN_PENDING_VALIDATION,
  48. OrderStatus::STRIPE_PENDING_VALIDATION,
  49. ];
  50. public const ORDER_NOT_PROCESSING_IDS = [OrderStatus::NOT_VISIBLE, OrderStatus::PAYMENT_ERROR, OrderStatus::PAYMENT_CANCELLED, OrderStatus::CANCELLED];
  51. public const ALLOWED_ORDER_STATUSES_FOR_RMA = [OrderStatus::SHIPPED, OrderStatus::PROCESSED, OrderStatus::DELIVERED, OrderStatus::PARTIALLY_SHIPPED, OrderStatus::PAYMENT_REIMBURSED];
  52. public const CONFIRMED_ORDERS = [self::PROCESSING, self::SCHEDULED_CONFIRMATION, self::SHIPPED, self::PROCESSED, self::DELIVERED];
  53. public const NOT_CANCELABLE_STATUSES = [self::SHIPPED, self::DELIVERED, self::RETURNED, self::PARTIALLY_SHIPPED];
  54. public const STILL_NOT_CONFIRMED_STATUS_IDS = [OrderStatus::PAYPAL_PENDING_VALIDATION, OrderStatus::ADYEN_PENDING_VALIDATION, OrderStatus::STRIPE_PENDING_VALIDATION, OrderStatus::PENDING_PAYMENT, OrderStatus::PENDING_INVOICE, OrderStatus::TRANSPORT_CODE_PENDING_VALIDATION, OrderStatus::SCHEDULED_CONFIRMATION];
  55. public const STILL_NOT_SHIPPED_STATUS_IDS = [OrderStatus::PROCESSING, OrderStatus::PROCESSED, ] + self::STILL_NOT_CONFIRMED_STATUS_IDS;
  56. public const CANCELABLE_STATUSES = [
  57. self::PENDING_PAYMENT,
  58. self::PENDING_INVOICE,
  59. self::ADYEN_PENDING_VALIDATION,
  60. self::STRIPE_PENDING_VALIDATION,
  61. self::TRANSPORT_CODE_PENDING_VALIDATION,
  62. ];
  63. public const PACKS_CONFIRMED_ORDERS = [self::PROCESSING, self::DELIVERED];
  64. /**
  65. * @var int
  66. *
  67. * @ORM\Id()
  68. *
  69. * @ORM\Column(type="integer")
  70. */
  71. private $id;
  72. /**
  73. * @var string
  74. *
  75. * @ORM\Column(type="string", length=64)
  76. */
  77. private string $key;
  78. /**
  79. * @ORM\Column(type="boolean", nullable=false)
  80. */
  81. private bool $visible;
  82. /**
  83. * @var ArrayCollection<int, OrderStatusLanguage>
  84. *
  85. * @ORM\OneToMany(targetEntity="App\Entity\System\OrderStatusLanguage", mappedBy="orderStatus")
  86. */
  87. private $orderStatusLanguages;
  88. public function getId(): int
  89. {
  90. return $this->id;
  91. }
  92. public function setId(int $id): self
  93. {
  94. $this->id = $id;
  95. return $this;
  96. }
  97. public function getKey(): string
  98. {
  99. return $this->key;
  100. }
  101. public function setKey(string $name): self
  102. {
  103. $this->key = $name;
  104. return $this;
  105. }
  106. public function isVisible(): bool
  107. {
  108. return $this->visible;
  109. }
  110. public function setVisible(bool $visible): self
  111. {
  112. $this->visible = $visible;
  113. return $this;
  114. }
  115. /**
  116. * @return ArrayCollection<int, OrderStatusLanguage>
  117. */
  118. public function getOrderStatusLanguages()
  119. {
  120. return $this->orderStatusLanguages;
  121. }
  122. /**
  123. * @param ArrayCollection<int, OrderStatusLanguage> $orderStatusLanguages
  124. *
  125. * @return $this
  126. */
  127. public function setOrderStatusLanguages($orderStatusLanguages): OrderStatus
  128. {
  129. $this->orderStatusLanguages = $orderStatusLanguages;
  130. return $this;
  131. }
  132. }