| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- declare(strict_types=1);
- namespace App\Entity\Education;
- use ApiPlatform\Core\Annotation\ApiResource;
- use App\Annotation\OrganizationDefaultValue;
- use App\Entity\Organization\Organization;
- use App\Repository\Education\EducationTimingRepository;
- use Doctrine\ORM\Mapping as ORM;
- /**
- * Temps d'un enseignement
- */
- #[ApiResource(
- collectionOperations: [
- "get" => ["security" => "is_granted('ROLE_ORGANIZATION_VIEW')"],
- "post"
- ],
- itemOperations: [
- "get" => ["security" => "is_granted('ROLE_ORGANIZATION_VIEW') and object.getOrganization().getId() == user.getOrganization().getId()"],
- "put" => ["security" => "object.getOrganization().getId() == user.getOrganization().getId()"],
- "delete" => ["security" => "object.getOrganization().getId() == user.getOrganization().getId()"],
- ],
- attributes: ["security" => "is_granted('ROLE_ORGANIZATION')"]
- )]
- #[OrganizationDefaultValue(fieldName: "organization")]
- #[ORM\Entity(repositoryClass: EducationTimingRepository::class)]
- class EducationTiming
- {
- #[ORM\Id]
- #[ORM\Column]
- #[ORM\GeneratedValue]
- private ?int $id = null;
- #[ORM\ManyToOne(inversedBy: 'educationTimings')]
- #[ORM\JoinColumn(nullable: false)]
- private Organization $organization;
- #[ORM\Column]
- private int $timing;
- public function getId(): ?int
- {
- return $this->id;
- }
- public function setOrganization(Organization $organization): self
- {
- $this->organization = $organization;
- return $this;
- }
- public function getOrganization(): Organization
- {
- return $this->organization;
- }
- public function setTiming(int $timing): self
- {
- $this->timing = $timing;
- return $this;
- }
- public function getTiming(): int
- {
- return $this->timing;
- }
- }
|