Bill.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Billing;
  4. use ApiPlatform\Core\Annotation\ApiResource;
  5. use App\Entity\Access\Access;
  6. use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9. * @todo : A la suite de la migration, il faut supprimer le nom de la table pour avoir une table Bill, et supprimer l'attribut discr.
  10. * Classe ... qui ...
  11. */
  12. #[Auditable]
  13. #[ORM\Entity]
  14. #[ORM\Table(name: 'BillAccounting')]
  15. #[ApiResource(
  16. collectionOperations:[],
  17. itemOperations: [
  18. "get" => ["security" => "is_granted('ROLE_ADMIN') and object.getOrganization().getId() == user.getOrganization().getId()"]
  19. ]
  20. )]
  21. class Bill extends BillAccounting implements BillAccountingInterface
  22. {
  23. #[ORM\Column(length: 255, nullable: false)]
  24. protected string $discr = 'bill';
  25. #[ORM\ManyToOne(inversedBy: 'bills')]
  26. #[ORM\JoinColumn(nullable: false)]
  27. public ?Access $access;
  28. public function getAccess(): ?Access
  29. {
  30. return $this->access;
  31. }
  32. public function setAccess(?Access $access): self
  33. {
  34. $this->access = $access;
  35. return $this;
  36. }
  37. }