src/Entity/Reference/ReferenceMandateStatus.php line 31

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Reference;
  3. use ApiPlatform\Core\Annotation\ApiResource;
  4. use App\Repository\Reference\ReferenceMandateStatusRepository;
  5. use App\Traits\RankTrait;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Serializer\Annotation\Groups;
  8. /**
  9.  * @ApiResource(
  10.  *     security= "is_granted('ROLE_AGENT') or is_granted('ROLE_MANAGER')",
  11.  *     normalizationContext={"groups"={"reference-mandate-status:read"}, "swagger_definition_name"="Read"},
  12.  *     denormalizationContext={"groups"={"reference-mandate-status:write"}, "swagger_definition_name"="Write"},
  13.  *     itemOperations={
  14.  *          "get"
  15.  *     },
  16.  *     collectionOperations={
  17.  *           "get",
  18.  *
  19.  *     },
  20.  *     attributes={
  21.  *          "pagination_items_per_page"=10,
  22.  *          "formats"={"jsonld", "json", "html", "jsonhal", "csv"={"text/csv"} }
  23.  *     },
  24.  *     order={"rank"}
  25.  * )
  26.  * @ORM\Entity(repositoryClass=ReferenceMandateStatusRepository::class)
  27.  */
  28. class ReferenceMandateStatus
  29. {
  30.     use RankTrait;
  31.     public const TRANSLATION_DOMAIN 'reference_mandate';
  32.     public const REFERENCE_MANDATE_STATUS_IN_PROGRESS 'reference.mandate.status.IN_PROGRESS';
  33.     public const REFERENCE_MANDATE_STATUS_VALID 'reference.mandate.status.VALID';
  34.     public const REFERENCE_MANDATE_STATUS_REFUSE 'reference.mandate.status.REFUSE';
  35.     public const REFERENCE_MANDATE_STATUS_UNDER_COMPROMISE 'reference.mandate.status.UNDER_COMPROMISE';
  36.     public const REFERENCE_MANDATE_STATUS_SOLD_BY_MILKIYA 'reference.mandate.status.SOLD_BY_MILKIYA';
  37.     public const REFERENCE_MANDATE_STATUS_SOLD_BY_COMPETITION 'reference.mandate.status.SOLD_BY_COMPETITION';
  38.     public const REFERENCE_MANDATE_STATUS_RESERVED 'reference.mandate.status.RESERVED';
  39.     public const REFERENCE_MANDATE_STATUS_SOLD_BY_THE_OWNER 'reference.mandate.status.SOLD_BY_THE_OWNER';
  40.     public const REFERENCE_MANDATE_STATUS_ARCHIVED 'reference.mandate.status.ARCHIVED';
  41.     public const REFERENCE_CODE_MANDATE_STATUS_IN_PROGRESS 'IN_PROGRESS';
  42.     public const REFERENCE_CODE_MANDATE_STATUS_VALID 'VALID';
  43.     public const REFERENCE_CODE_MANDATE_STATUS_REFUSE 'REFUSE';
  44.     public const REFERENCE_CODE_MANDATE_STATUS_UNDER_COMPROMISE 'UNDER_COMPROMISE';
  45.     public const REFERENCE_CODE_MANDATE_STATUS_SOLD_BY_MILKIYA 'SOLD_BY_MILKIYA';
  46.     public const REFERENCE_CODE_MANDATE_STATUS_SOLD_BY_COMPETITION 'SOLD_BY_COMPETITION';
  47.     public const REFERENCE_CODE_MANDATE_STATUS_RESERVED 'RESERVED';
  48.     public const REFERENCE_CODE_MANDATE_STATUS_SOLD_SOLD_BY_THE_OWNER 'SOLD_BY_THE_OWNER';
  49.     public const REFERENCE_CODE_MANDATE_STATUS_ARCHIVED 'ARCHIVED';
  50.     public const ALL_REFERENCE_MANDATE_STATUS = [
  51.         self::REFERENCE_MANDATE_STATUS_IN_PROGRESS,
  52.         self::REFERENCE_MANDATE_STATUS_VALID,
  53.         self::REFERENCE_MANDATE_STATUS_REFUSE,
  54.         self::REFERENCE_MANDATE_STATUS_UNDER_COMPROMISE,
  55.         self::REFERENCE_MANDATE_STATUS_SOLD_BY_MILKIYA,
  56.         self::REFERENCE_MANDATE_STATUS_SOLD_BY_COMPETITION,
  57.         self::REFERENCE_MANDATE_STATUS_RESERVED,
  58.         self::REFERENCE_MANDATE_STATUS_SOLD_BY_THE_OWNER,
  59.         self::REFERENCE_MANDATE_STATUS_ARCHIVED
  60.     ];
  61.     public const ALL_REFERENCE_CODE_MANDATE_STATUS = [
  62.         self::REFERENCE_CODE_MANDATE_STATUS_IN_PROGRESS,
  63.         self::REFERENCE_CODE_MANDATE_STATUS_VALID,
  64.         self::REFERENCE_CODE_MANDATE_STATUS_REFUSE,
  65.         self::REFERENCE_CODE_MANDATE_STATUS_UNDER_COMPROMISE,
  66.         self::REFERENCE_CODE_MANDATE_STATUS_SOLD_BY_MILKIYA,
  67.         self::REFERENCE_CODE_MANDATE_STATUS_SOLD_BY_COMPETITION,
  68.         self::REFERENCE_CODE_MANDATE_STATUS_RESERVED,
  69.         self::REFERENCE_CODE_MANDATE_STATUS_SOLD_SOLD_BY_THE_OWNER,
  70.         self::REFERENCE_CODE_MANDATE_STATUS_ARCHIVED
  71.     ];
  72.     /**
  73.      * @ORM\Id
  74.      * @ORM\GeneratedValue
  75.      * @ORM\Column(type="integer")
  76.      *
  77.      * @Groups({
  78.      *   "mandate:read",
  79.      *   "transaction-item:read",
  80.      *   "reference-mandate-status:read"
  81.      * })
  82.      */
  83.     private $id;
  84.     /**
  85.      * @ORM\Column(type="string", length=255)
  86.      *
  87.      * @Groups({
  88.      *   "mandate:read",
  89.      *   "transaction-item:read",
  90.      *   "reference-mandate-status:read",
  91.      * })
  92.      */
  93.     private ?string $name;
  94.     /**
  95.      * @ORM\Column(type="string", length=255)
  96.      *
  97.      * @Groups({
  98.      *   "property:read",
  99.      *   "mandate:read",
  100.      *   "transaction-item:read",
  101.      *   "reference-mandate-status:read"
  102.      * })
  103.      */
  104.     private ?string $code;
  105.     public function getId(): ?int
  106.     {
  107.         return $this->id;
  108.     }
  109.     public function getName(): ?string
  110.     {
  111.         return $this->name;
  112.     }
  113.     public function setName(string $name): self
  114.     {
  115.         $this->name $name;
  116.         return $this;
  117.     }
  118.     public function getCode(): ?string
  119.     {
  120.         return $this->code;
  121.     }
  122.     public function setCode(string $code): self
  123.     {
  124.         $this->code $code;
  125.         return $this;
  126.     }
  127.     public function isInProgress(): bool
  128.     {
  129.         if (null === $this) {
  130.             return false;
  131.         }
  132.         return $this->code === self::REFERENCE_CODE_MANDATE_STATUS_IN_PROGRESS;
  133.     }
  134. }