Olivier Massot před 1 rokem
rodič
revize
85011b923c

+ 3 - 1
src/Entity/Booking/AbstractBooking.php

@@ -16,7 +16,9 @@ use Doctrine\Common\Collections\Collection;
 use Doctrine\ORM\Mapping as ORM;
 
 /**
- * Classe ... qui ...
+ * Données d'un évènement générique, classe de base des évènements
+ *
+ * @see Event, Course, EducationalProject, Examen, OrganizationHoliday, PersonHoliday
  */
 #[ActivityYearConstraintAware(startYearFieldName: 'startYear', endYearFieldName: 'endYear')]
 #[OrganizationDefaultValue(fieldName: 'organization')]

+ 33 - 2
src/Entity/Message/AbstractMessage.php

@@ -5,6 +5,7 @@ declare(strict_types=1);
 namespace App\Entity\Message;
 
 use App\Attribute\OrganizationDefaultValue;
+use App\Entity\Core\File;
 use App\Entity\Organization\Organization;
 use App\Enum\Message\MessageStatusEnum;
 use Doctrine\Common\Collections\ArrayCollection;
@@ -55,8 +56,14 @@ abstract class AbstractMessage
     #[ORM\Column(type: 'text', nullable: true)]
     protected string $text;
 
-//    #[ORM\OneToMany(mappedBy: 'message', targetEntity: ReportMessage::class, cascade: ['persist'], orphanRemoval: true)]
-//    protected Collection $reportMessage;
+    #[ORM\ManyToMany(targetEntity: File::class, cascade: ['persist'], orphanRemoval: true)]
+    #[ORM\JoinTable(name: 'messages_files')]
+    #[ORM\JoinColumn(name: 'message_id', referencedColumnName: 'id', onDelete: 'cascade')]
+    #[ORM\InverseJoinColumn(name: 'file_id', referencedColumnName: 'id', onDelete: 'cascade')]
+    protected Collection $files;
+
+    #[ORM\OneToMany(mappedBy: 'message', targetEntity: ReportMessage::class, cascade: ['persist'], orphanRemoval: true)]
+    protected Collection $reportMessage;
 
     public function __construct()
     {
@@ -133,6 +140,30 @@ abstract class AbstractMessage
         return $this->dateSent;
     }
 
+    /**
+     * @return Collection<int, File>
+     */
+    public function getFiles(): Collection
+    {
+        return $this->files;
+    }
+
+    public function addFile(File $file): self
+    {
+        if (!$this->files->contains($file)) {
+            $this->files[] = $file;
+        }
+
+        return $this;
+    }
+
+    public function removeFile(File $file): self
+    {
+        $this->files->removeElement($file);
+
+        return $this;
+    }
+
     function getReportMessage(): Collection
     {
         return $this->reportMessage;

+ 0 - 30
src/Entity/Message/Email.php

@@ -44,12 +44,6 @@ class Email extends AbstractMessage
     #[ORM\JoinColumn(nullable: true)]
     private Mail $mailAttached;
 
-    #[ORM\ManyToMany(targetEntity: File::class, cascade: ['persist'], orphanRemoval: true)]
-    #[ORM\JoinTable(name: 'messages_files')]
-    #[ORM\JoinColumn(name: 'message_id', referencedColumnName: 'id', onDelete: 'cascade')]
-    #[ORM\InverseJoinColumn(name: 'file_id', referencedColumnName: 'id', onDelete: 'cascade')]
-    private Collection $files;
-
     #[ORM\ManyToMany(targetEntity: Tagg::class, inversedBy: 'emails', cascade: ['persist'])]
     #[ORM\JoinTable(name: 'tag_message')]
     #[ORM\JoinColumn(name: 'message_id', referencedColumnName: 'id', onDelete: 'cascade')]
@@ -142,30 +136,6 @@ class Email extends AbstractMessage
         return $this;
     }
 
-    /**
-     * @return Collection<int, File>
-     */
-    public function getFiles(): Collection
-    {
-        return $this->files;
-    }
-
-    public function addFile(File $file): self
-    {
-        if (!$this->files->contains($file)) {
-            $this->files[] = $file;
-        }
-
-        return $this;
-    }
-
-    public function removeFile(File $file): self
-    {
-        $this->files->removeElement($file);
-
-        return $this;
-    }
-
     /**
      * @return Collection<int, Tagg>
      */

+ 1 - 30
src/Entity/Message/Mail.php

@@ -33,12 +33,6 @@ class Mail extends AbstractMessage
     #[ORM\JoinColumn(nullable: true)]
     private Access $author;
 
-    #[ORM\ManyToMany(targetEntity: File::class, cascade: ['persist'], orphanRemoval: true)]
-    #[ORM\JoinTable(name: 'messages_files')]
-    #[ORM\JoinColumn(name: 'message_id', referencedColumnName: 'id', onDelete: 'cascade')]
-    #[ORM\InverseJoinColumn(name: 'file_id', referencedColumnName: 'id', onDelete: 'cascade')]
-    private Collection $files;
-
     #[ORM\ManyToMany(targetEntity: Tagg::class, inversedBy: 'mails', cascade: ['persist'])]
     #[ORM\JoinTable(name: 'tag_message')]
     #[ORM\JoinColumn(name: 'message_id', referencedColumnName: 'id')]
@@ -50,6 +44,7 @@ class Mail extends AbstractMessage
         $this->uuid = Uuid::uuid4();
         $this->files = new ArrayCollection();
         $this->tags = new ArrayCollection();
+        parent::__construct();
     }
 
     public function getDiscr(): ?string
@@ -76,30 +71,6 @@ class Mail extends AbstractMessage
         return $this;
     }
 
-    /**
-     * @return Collection<int, File>
-     */
-    public function getFiles(): Collection
-    {
-        return $this->files;
-    }
-
-    public function addFile(File $file): self
-    {
-        if (!$this->files->contains($file)) {
-            $this->files[] = $file;
-        }
-
-        return $this;
-    }
-
-    public function removeFile(File $file): self
-    {
-        $this->files->removeElement($file);
-
-        return $this;
-    }
-
     /**
      * @return Collection<int, Tagg>
      */

+ 1 - 0
src/Entity/Message/Sms.php

@@ -46,6 +46,7 @@ class Sms extends AbstractMessage
         $this->uuid = Uuid::uuid4();
         $this->reports = new ArrayCollection();
         $this->tags = new ArrayCollection();
+        parent::__construct();
     }
 
     public function getDiscr(): ?string