Selaa lähdekoodia

abstract classe

Vincent 7 kuukautta sitten
vanhempi
commit
3060a0e4f0

+ 5 - 5
src/Entity/Access/Access.php

@@ -28,7 +28,6 @@ use App\Entity\Booking\EventUser;
 use App\Entity\Booking\ExamenConvocation;
 use App\Entity\Booking\PersonHoliday;
 use App\Entity\Booking\WorkByUser;
-use App\Entity\Core\AbstractControl;
 use App\Entity\Core\Notification;
 use App\Entity\Core\NotificationUser;
 use App\Entity\Core\Tagg;
@@ -52,6 +51,7 @@ use App\Entity\Person\PersonActivity;
 use App\Entity\Place\PlaceRepair;
 use App\Entity\Place\RoomRepair;
 use App\Entity\Product\Equipment;
+use App\Entity\Product\EquipmentControl;
 use App\Entity\Product\EquipmentLoan;
 use App\Entity\Product\EquipmentRepair;
 use App\Entity\Reward\AccessReward;
@@ -381,8 +381,8 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
     #[ORM\OneToMany(targetEntity: Equipment::class, mappedBy: 'managerControl', cascade: [], orphanRemoval: false)]
     private Collection $equipmentManagerControls;
 
-    /** @var Collection<int, AbstractControl> */
-    #[ORM\OneToMany(targetEntity: AbstractControl::class, mappedBy: 'accompanist', cascade: [], orphanRemoval: true)]
+    /** @var Collection<int, EquipmentControl> */
+    #[ORM\OneToMany(targetEntity: EquipmentControl::class, mappedBy: 'accompanist', cascade: [], orphanRemoval: true)]
     private Collection $accompanistControl;
 
     /** @var Collection<int, AccessReward> */
@@ -2349,7 +2349,7 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
         return $this->accompanistControl;
     }
 
-    public function addAccompanistControl(AbstractControl $accompanistControl): self
+    public function addAccompanistControl(EquipmentControl $accompanistControl): self
     {
         if (!$this->accompanistControl->contains($accompanistControl)) {
             $this->accompanistControl[] = $accompanistControl;
@@ -2359,7 +2359,7 @@ class Access implements UserInterface, PasswordAuthenticatedUserInterface
         return $this;
     }
 
-    public function removeAccompanistControl(AbstractControl $accompanistControl): self
+    public function removeAccompanistControl(EquipmentControl $accompanistControl): self
     {
         if ($this->accompanistControl->removeElement($accompanistControl)) {
             //            $accompanistControl->setAccompanist(null);  // TODO: actuellement, pas nullable: conserver?

+ 0 - 46
src/Entity/Core/AbstractControl.php

@@ -4,11 +4,9 @@ declare(strict_types=1);
 
 namespace App\Entity\Core;
 
-use App\Entity\Access\Access;
 use App\Entity\Place\PlaceControl;
 use App\Entity\Place\RoomControl;
 use App\Entity\Product\EquipmentControl;
-use Doctrine\Common\Collections\Collection;
 use Doctrine\ORM\Mapping as ORM;
 
 /**
@@ -32,52 +30,8 @@ abstract class AbstractControl
     #[ORM\GeneratedValue]
     protected ?int $id = null;
 
-    #[ORM\ManyToOne(inversedBy: 'accompanistControl')]
-    #[ORM\JoinColumn(nullable: true)]
-    protected ?Access $accompanist = null;
-
-    /** @var Collection<int, Tagg> */
-    #[ORM\ManyToMany(targetEntity: Tagg::class, inversedBy: 'controls', cascade: ['persist'])]
-    #[ORM\JoinTable(name: 'tag_control')]
-    #[ORM\JoinColumn(name: 'control_id', referencedColumnName: 'id')]
-    #[ORM\InverseJoinColumn(name: 'tag_id', referencedColumnName: 'id')]
-    protected Collection $tags;
-
     public function getId(): ?int
     {
         return $this->id;
     }
-
-    public function getAccompanist(): Access
-    {
-        return $this->accompanist;
-    }
-
-    public function setAccompanist(Access $accompanist): self
-    {
-        $this->accompanist = $accompanist;
-
-        return $this;
-    }
-
-    public function getTags(): Collection
-    {
-        return $this->tags;
-    }
-
-    public function addTag(Tagg $tag): self
-    {
-        if (!$this->tags->contains($tag)) {
-            $this->tags[] = $tag;
-        }
-
-        return $this;
-    }
-
-    public function removeTag(Tagg $tag): self
-    {
-        $this->tags->removeElement($tag);
-
-        return $this;
-    }
 }

+ 0 - 22
src/Entity/Core/Tagg.php

@@ -182,10 +182,6 @@ class Tagg
     #[ORM\ManyToMany(targetEntity: AbstractRepair::class, mappedBy: 'tags', cascade: [], orphanRemoval: false)]
     protected Collection $repairs;
 
-    /** @var Collection<int, AbstractControl> */
-    #[ORM\ManyToMany(targetEntity: AbstractControl::class, mappedBy: 'tags', cascade: [], orphanRemoval: false)]
-    protected Collection $controls;
-
     /** @var Collection<int, EducationCurriculumPack> */
     #[ORM\ManyToMany(targetEntity: EducationCurriculumPack::class, mappedBy: 'tags', cascade: [], orphanRemoval: false)]
     protected Collection $educationCurriculumPacks;
@@ -1071,24 +1067,6 @@ class Tagg
         return $this->controls;
     }
 
-    public function addControl(AbstractControl $control): self
-    {
-        if (!$this->controls->contains($control)) {
-            $this->controls[] = $control;
-            $control->addTag($this);
-        }
-
-        return $this;
-    }
-
-    public function removeControl(AbstractControl $control): self
-    {
-        if ($this->controls->removeElement($control)) {
-            $control->removeTag($this);
-        }
-
-        return $this;
-    }
 
     public function getEducationCurriculumPacks(): Collection
     {

+ 3 - 4
src/Entity/Product/Equipment.php

@@ -8,7 +8,6 @@ use ApiPlatform\Metadata\ApiResource;
 use App\Entity\Access\Access;
 use App\Entity\Booking\ExamenConvocation;
 use App\Entity\Organization\Organization;
-use App\Entity\Place\AbstractPlace;
 use App\Entity\Place\Place;
 use App\Entity\Place\Room;
 // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
@@ -44,7 +43,7 @@ class Equipment extends AbstractProduct
 
     #[ORM\ManyToOne(inversedBy: 'equipmentUseds')]
     #[ORM\JoinColumn(name: 'place_used_id', nullable: true, onDelete: 'SET NULL')]
-    protected ?AbstractPlace $placeWhereIsUsed = null;
+    protected ?Place $placeWhereIsUsed = null;
 
     #[ORM\ManyToOne(inversedBy: 'equipmentUseds')]
     #[ORM\JoinColumn(name: 'room_used_id', nullable: true, onDelete: 'SET NULL')]
@@ -161,12 +160,12 @@ class Equipment extends AbstractProduct
         return $this;
     }
 
-    public function getPlaceWhereIsUsed(): ?AbstractPlace
+    public function getPlaceWhereIsUsed(): ?Place
     {
         return $this->placeWhereIsUsed;
     }
 
-    public function setPlaceWhereIsUsed(?AbstractPlace $placeWhereIsUsed): self
+    public function setPlaceWhereIsUsed(?Place $placeWhereIsUsed): self
     {
         $this->placeWhereIsUsed = $placeWhereIsUsed;
 

+ 18 - 0
src/Entity/Product/EquipmentControl.php

@@ -5,6 +5,7 @@ declare(strict_types=1);
 namespace App\Entity\Product;
 
 use ApiPlatform\Metadata\ApiResource;
+use App\Entity\Access\Access;
 use App\Entity\Core\AbstractControl;
 // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
 use Doctrine\Common\Collections\ArrayCollection;
@@ -21,6 +22,10 @@ use Doctrine\ORM\Mapping as ORM;
 #[ORM\Table(name: 'Control')]
 class EquipmentControl extends AbstractControl
 {
+    #[ORM\ManyToOne(inversedBy: 'accompanistControl')]
+    #[ORM\JoinColumn(nullable: true)]
+    protected ?Access $accompanist = null;
+
     #[ORM\ManyToOne(inversedBy: 'equipmentControl')]
     protected ?Equipment $equipment = null;
 
@@ -40,4 +45,17 @@ class EquipmentControl extends AbstractControl
 
         return $this;
     }
+
+    public function getAccompanist(): Access
+    {
+        return $this->accompanist;
+    }
+
+    public function setAccompanist(Access $accompanist): self
+    {
+        $this->accompanist = $accompanist;
+
+        return $this;
+    }
+
 }