From ac42fb9f85aed994b8318e3a887f7c5894372331 Mon Sep 17 00:00:00 2001 From: allavenavr Date: Thu, 17 Oct 2024 17:56:46 +0200 Subject: [PATCH] tqtencore tjr --- src/Entity/Announcement.php | 83 +++++++---------- src/Entity/Intern.php | 179 +++++++++++++----------------------- src/Entity/Obtaining.php | 36 ++++++++ src/Entity/Skill.php | 17 ++-- 4 files changed, 137 insertions(+), 178 deletions(-) create mode 100644 src/Entity/Obtaining.php diff --git a/src/Entity/Announcement.php b/src/Entity/Announcement.php index 6360da7..41bcf91 100644 --- a/src/Entity/Announcement.php +++ b/src/Entity/Announcement.php @@ -5,7 +5,6 @@ namespace App\Entity; use App\Repository\AnnouncementRepository; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; -use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: AnnouncementRepository::class)] @@ -22,32 +21,30 @@ class Announcement #[ORM\Column(length: 255)] private ?string $description = null; - #[ORM\Column(type: Types::DATE_MUTABLE)] - private ?\DateTimeInterface $creationDate = null; - #[ORM\ManyToOne(inversedBy: 'announcements')] #[ORM\JoinColumn(nullable: false)] private ?Company $company = null; - #[ORM\Column(length: 255,nullable: false)] - private ?string $status = "notVerified"; + #[ORM\ManyToOne(inversedBy: 'announcements')] + #[ORM\JoinColumn(nullable: false)] + private ?Status $status = null; /** - * @var ?Collection + * @var Collection */ - #[ORM\OneToMany(targetEntity: InternApplication::class, mappedBy: 'application')] - private ?Collection $applicants; + #[ORM\ManyToMany(targetEntity: Intern::class, mappedBy: 'favorites')] + private Collection $internsfav; /** - * @var ?Collection + * @var Collection */ - #[ORM\OneToMany(targetEntity: InternFavorite::class, mappedBy: 'announcement')] - private ?Collection $favoritesInterns; + #[ORM\ManyToMany(targetEntity: Intern::class, mappedBy: 'applications')] + private Collection $applicants; public function __construct() { + $this->internsfav = new ArrayCollection(); $this->applicants = new ArrayCollection(); - $this->favoritesInterns = new ArrayCollection(); } public function getId(): ?int @@ -91,7 +88,7 @@ class Announcement return $this; } - public function getStatus(): ?string + public function getStatus(): ?Status { return $this->status; } @@ -104,74 +101,56 @@ class Announcement } /** - * @return Collection + * @return Collection */ - public function getApplicants(): Collection + public function getInternsfav(): Collection { - return $this->applicants; + return $this->internsfav; } - public function addApplicants(InternApplication $applicants): static + public function addInternfav(Intern $intern): static { - if (!$this->applicants->contains($applicants)) { - $this->applicants->add($applicants); - $applicants->setApplication($this); + if (!$this->internsfav->contains($intern)) { + $this->internsfav->add($intern); + $intern->addFavorite($this); } return $this; } - public function removeApplicants(InternApplication $applicants): static + public function removeInternfav(Intern $intern): static { - if ($this->applicants->removeElement($applicants)) { - // set the owning side to null (unless already changed) - if ($applicants->getApplication() === $this) { - $applicants->setApplication(null); - } + if ($this->internsfav->removeElement($intern)) { + $intern->removeFavorite($this); } return $this; } /** - * @return Collection + * @return Collection */ - public function getFavoritesInterns(): Collection + public function getApplicants(): Collection { - return $this->favoritesInterns; + return $this->applicants; } - public function addFavoritesIntern(InternFavorite $favoritesIntern): static + public function addApplicant(Intern $applicant): static { - if (!$this->favoritesInterns->contains($favoritesIntern)) { - $this->favoritesInterns->add($favoritesIntern); - $favoritesIntern->setAnnouncement($this); + if (!$this->applicants->contains($applicant)) { + $this->applicants->add($applicant); + $applicant->addApplication($this); } return $this; } - public function removeFavoritesIntern(InternFavorite $favoritesIntern): static + public function removeApplicant(Intern $applicant): static { - if ($this->favoritesInterns->removeElement($favoritesIntern)) { - // set the owning side to null (unless already changed) - if ($favoritesIntern->getAnnouncement() === $this) { - $favoritesIntern->setAnnouncement(null); - } + if ($this->applicants->removeElement($applicant)) { + $applicant->removeApplication($this); } return $this; } - - public function getCreationDate(): ?\DateTimeInterface - { - return $this->creationDate; - } - - public function setCreationDate(\DateTimeInterface $creationDate): static - { - $this->creationDate = $creationDate; - - return $this; - } } diff --git a/src/Entity/Intern.php b/src/Entity/Intern.php index 2ca1f8e..b03dcd8 100644 --- a/src/Entity/Intern.php +++ b/src/Entity/Intern.php @@ -19,35 +19,30 @@ class Intern extends UserApp private ?string $resume = null; /** - * @var Collection + * @var Collection */ - #[ORM\OneToMany(targetEntity: InternDegree::class, mappedBy: 'intern')] - private Collection $degrees; + #[ORM\ManyToMany(targetEntity: Announcement::class, inversedBy: 'interns')] + #[ORM\JoinTable(name: 'favorites')] + private Collection $favorites; /** - * @var Collection + * @var Collection */ - #[ORM\OneToMany(targetEntity: InternSkill::class, mappedBy: 'intern')] - private Collection $skills; - - /** - * @var Collection - */ - #[ORM\OneToMany(targetEntity: InternApplication::class, mappedBy: 'intern')] + #[ORM\ManyToMany(targetEntity: Announcement::class, inversedBy: 'applicants')] + #[ORM\JoinTable(name: 'applications')] private Collection $applications; /** - * @var Collection + * @var Collection */ - #[ORM\OneToMany(targetEntity: InternFavorite::class, mappedBy: 'intern')] - private Collection $favorites; + #[ORM\ManyToMany(targetEntity: Skill::class, inversedBy: 'interns')] + private Collection $skills; public function __construct() { - $this->degrees = new ArrayCollection(); - $this->skills = new ArrayCollection(); - $this->applications = new ArrayCollection(); $this->favorites = new ArrayCollection(); + $this->applications = new ArrayCollection(); + $this->skills = new ArrayCollection(); } public function getCoverLetter(): ?string @@ -75,122 +70,74 @@ class Intern extends UserApp } /** - * @return Collection - */ - public function getDegrees(): Collection - { - return $this->degrees; - } - - public function addDegree(InternDegree $degree): static - { - if (!$this->degrees->contains($degree)) { - $this->degrees->add($degree); - $degree->setIntern($this); - } - - return $this; - } - - public function removeDegree(InternDegree $degree): static - { - if ($this->degrees->removeElement($degree)) { - // set the owning side to null (unless already changed) - if ($degree->getIntern() === $this) { - $degree->setIntern(null); - } - } - - return $this; - } - - /** - * @return Collection - */ - public function getSkills(): Collection - { - return $this->skills; - } - - public function addSkill(InternSkill $skill): static - { - if (!$this->skills->contains($skill)) { - $this->skills->add($skill); - $skill->setIntern($this); - } - - return $this; - } - - public function removeSkill(InternSkill $skill): static - { - if ($this->skills->removeElement($skill)) { - // set the owning side to null (unless already changed) - if ($skill->getIntern() === $this) { - $skill->setIntern(null); - } - } - - return $this; - } - - /** - * @return Collection - */ - public function getApplications(): Collection - { - return $this->applications; - } - - public function addApplication(InternApplication $application): static - { - if (!$this->applications->contains($application)) { - $this->applications->add($application); - $application->setIntern($this); - } - - return $this; - } - - public function removeApplication(InternApplication $application): static - { - if ($this->applications->removeElement($application)) { - // set the owning side to null (unless already changed) - if ($application->getIntern() === $this) { - $application->setIntern(null); - } - } - - return $this; - } - - /** - * @return Collection + * @return Collection */ public function getFavorites(): Collection { return $this->favorites; } - public function addFavorite(InternFavorite $favorite): static + public function addFavorite(Announcement $favorite): static { if (!$this->favorites->contains($favorite)) { $this->favorites->add($favorite); - $favorite->setIntern($this); } return $this; } - public function removeFavorite(InternFavorite $favorite): static + public function removeFavorite(Announcement $favorite): static { - if ($this->favorites->removeElement($favorite)) { - // set the owning side to null (unless already changed) - if ($favorite->getIntern() === $this) { - $favorite->setIntern(null); - } + $this->favorites->removeElement($favorite); + + return $this; + } + + /** + * @return Collection + */ + public function getApplications(): Collection + { + return $this->applications; + } + + public function addApplication(Announcement $application): static + { + if (!$this->applications->contains($application)) { + $this->applications->add($application); } return $this; } + + public function removeApplication(Announcement $application): static + { + $this->applications->removeElement($application); + + return $this; + } + + /** + * @return Collection + */ + public function getSkills(): Collection + { + return $this->skills; + } + + public function addSkill(Skill $skill): static + { + if (!$this->skills->contains($skill)) { + $this->skills->add($skill); + } + + return $this; + } + + public function removeSkill(Skill $skill): static + { + $this->skills->removeElement($skill); + + return $this; + } } diff --git a/src/Entity/Obtaining.php b/src/Entity/Obtaining.php new file mode 100644 index 0000000..cecb3c1 --- /dev/null +++ b/src/Entity/Obtaining.php @@ -0,0 +1,36 @@ +id; + } + + public function getDate(): ?\DateTimeInterface + { + return $this->date; + } + + public function setDate(\DateTimeInterface $date): static + { + $this->date = $date; + + return $this; + } +} diff --git a/src/Entity/Skill.php b/src/Entity/Skill.php index 7752cfe..47bea20 100644 --- a/src/Entity/Skill.php +++ b/src/Entity/Skill.php @@ -19,9 +19,9 @@ class Skill private ?string $label = null; /** - * @var Collection + * @var Collection */ - #[ORM\OneToMany(targetEntity: InternSkill::class, mappedBy: 'skill')] + #[ORM\ManyToMany(targetEntity: Intern::class, mappedBy: 'skills')] private Collection $interns; public function __construct() @@ -47,30 +47,27 @@ class Skill } /** - * @return Collection + * @return Collection */ public function getInterns(): Collection { return $this->interns; } - public function addIntern(InternSkill $intern): static + public function addIntern(Intern $intern): static { if (!$this->interns->contains($intern)) { $this->interns->add($intern); - $intern->setSkill($this); + $intern->addSkill($this); } return $this; } - public function removeIntern(InternSkill $intern): static + public function removeIntern(Intern $intern): static { if ($this->interns->removeElement($intern)) { - // set the owning side to null (unless already changed) - if ($intern->getSkill() === $this) { - $intern->setSkill(null); - } + $intern->removeSkill($this); } return $this;