<?php
namespace App\Entity\Gestiform\Formations\Financeur;
use App\Entity\Common\Upload;
use App\Entity\Gestiform\Admin\MasterListe\Masterlistelg;
use App\Entity\Gestiform\Admin\Tiers;
use App\Entity\Gestiform\Formations\Actions\Action;
use App\Entity\Gestiform\Formations\Catalogue\Module\Module;
use App\Entity\Gestiform\Formations\Financement\Financement;
use App\Repository\Gestiform\Formations\Financeur\FinanceurRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=FinanceurRepository::class)
*/
class Financeur extends Tiers
{
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $intitule=null;
/**
* @ORM\OneToMany(targetEntity=Financement::class, mappedBy="financeur",cascade={"persist"})
*/
private Collection $financements;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $alt = null;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $commentaire = null;
/**
* @ORM\Column(type="text", length=255, nullable=true)
*/
private ?string $detail = null;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $lien = null;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $seotitre = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $seodescription = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $keywords = null;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private ?int $remise = null;
/**
* @ORM\ManyToMany(targetEntity=Module::class, mappedBy="financeurs")
*/
private Collection $modules;
/**
* @ORM\OneToMany(targetEntity=Action::class, mappedBy="financeur",cascade={"persist"})
*/
private Collection $actions;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $category = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class, cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $financementOpco = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class, cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $type = null;
/**
* @ORM\OneToOne(targetEntity=Upload::class, cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Upload $photo = null;
/**
* @ORM\OneToMany(targetEntity=CodeAbsence::class, cascade={"persist", "remove"}, mappedBy="financeur", orphanRemoval=true)
*/
private Collection $codeAbsences;
/**
* @ORM\OneToMany(targetEntity=CodeRetard::class, cascade={"persist", "remove"}, mappedBy="financeur", orphanRemoval=true)
*/
private Collection $codeRetards;
/**
* @ORM\OneToMany(targetEntity=PerimetreFinancement::class, mappedBy="financeur")
*/
private Collection $perimetreFinancements;
public function __construct()
{
parent::__construct();
$this->modules = new ArrayCollection();
$this->actions = new ArrayCollection();
$this->codeAbsences = new ArrayCollection();
$this->codeRetards = new ArrayCollection();
$this->financements = new ArrayCollection();
$this->perimetreFinancements = new ArrayCollection();
}
public function getAlt(): ?string
{
return $this->alt;
}
public function setAlt(string $alt): self
{
$this->alt = $alt;
return $this;
}
public function getCommentaire(): ?string
{
return $this->commentaire;
}
public function setCommentaire(string $commentaire): self
{
$this->commentaire = $commentaire;
return $this;
}
public function getDetail(): ?string
{
return $this->detail;
}
public function setDetail(string $detail): self
{
$this->detail = $detail;
return $this;
}
public function getLien(): ?string
{
return $this->lien;
}
public function setLien(string $lien): self
{
$this->lien = $lien;
return $this;
}
public function getSeotitre(): ?string
{
return $this->seotitre;
}
public function setSeotitre(string $seotitre): self
{
$this->seotitre = $seotitre;
return $this;
}
public function getSeodescription(): ?string
{
return $this->seodescription;
}
public function setSeodescription(string $seodescription): self
{
$this->seodescription = $seodescription;
return $this;
}
public function getKeywords(): ?string
{
return $this->keywords;
}
public function setKeywords(string $keywords): self
{
$this->keywords = $keywords;
return $this;
}
public function getRemise(): ?int
{
return $this->remise;
}
public function setRemise(int $remise): self
{
$this->remise = $remise;
return $this;
}
/**
* @return Collection<int, Module>
*/
public function getModules(): Collection
{
return $this->modules;
}
public function addModule(Module $module): self
{
if (!$this->modules->contains($module)) {
$this->modules[] = $module;
$module->addFinanceur($this);
}
return $this;
}
public function removeModule(Module $module): self
{
if ($this->modules->removeElement($module)) {
$module->removeFinanceur($this);
}
return $this;
}
public function getCategory(): ?Masterlistelg
{
return $this->category;
}
public function setCategory(?Masterlistelg $category): self
{
$this->category = $category;
return $this;
}
/**
* @return Collection<int, Action>
*/
public function getActions(): Collection
{
return $this->actions;
}
public function addAction(Action $action): self
{
if (!$this->actions->contains($action)) {
$this->actions->add($action);
$action->setFinanceur($this);
}
return $this;
}
public function removeAction(Action $action): self
{
if ($this->actions->removeElement($action)) {
// set the owning side to null (unless already changed)
if ($action->getFinanceur() === $this) {
$action->setFinanceur(null);
}
}
return $this;
}
public function getFinancementOpco(): ?Masterlistelg
{
return $this->financementOpco;
}
public function setFinancementOpco(?Masterlistelg $financementOpco): self
{
$this->financementOpco = $financementOpco;
return $this;
}
public function getType(): ?Masterlistelg
{
return $this->type;
}
public function setType(?Masterlistelg $type): self
{
$this->type = $type;
return $this;
}
public function getPhoto(): ?Upload
{
return $this->photo;
}
public function setPhoto(?Upload $photo): self
{
$this->photo = $photo;
return $this;
}
/**
* @return Collection<int, CodeAbsence>
*/
public function getCodeAbsences(): Collection
{
return $this->codeAbsences;
}
public function addCodeAbsence(CodeAbsence $codeAbsence): self
{
if (!$this->codeAbsences->contains($codeAbsence)) {
$this->codeAbsences->add($codeAbsence);
$codeAbsence->setFinanceur($this);
}
return $this;
}
public function removeCodeAbsence(CodeAbsence $codeAbsence): self
{
if ($this->codeAbsences->removeElement($codeAbsence)) {
// set the owning side to null (unless already changed)
if ($codeAbsence->getFinanceur() === $this) {
$codeAbsence->setFinanceur(null);
}
}
return $this;
}
/**
* @return Collection<int, CodeRetard>
*/
public function getCodeRetards(): Collection
{
return $this->codeRetards;
}
public function addCodeRetard(CodeRetard $codeRetard): self
{
if (!$this->codeRetards->contains($codeRetard)) {
$this->codeRetards->add($codeRetard);
$codeRetard->setFinanceur($this);
}
return $this;
}
public function removeCodeRetard(CodeRetard $codeRetard): self
{
if ($this->codeRetards->removeElement($codeRetard)) {
// set the owning side to null (unless already changed)
if ($codeRetard->getFinanceur() === $this) {
$codeRetard->setFinanceur(null);
}
}
return $this;
}
/**
* @return Collection<int, Financement>
*/
public function getFinancements(): Collection
{
return $this->financements;
}
public function addFinancement(Financement $financement): static
{
if (!$this->financements->contains($financement)) {
$this->financements->add($financement);
$financement->setFinanceur($this);
}
return $this;
}
public function removeFinancement(Financement $financement): static
{
if ($this->financements->removeElement($financement)) {
// set the owning side to null (unless already changed)
if ($financement->getFinanceur() === $this) {
$financement->setFinanceur(null);
}
}
return $this;
}
public function getIntitule(): ?string
{
return $this->intitule;
}
public function setIntitule(?string $intitule): Financeur
{
$this->intitule = $intitule;
return $this;
}
/**
* @return Collection<int, PerimetreFinancement>
*/
public function getPerimetreFinancements(): Collection
{
return $this->perimetreFinancements;
}
public function addPerimetreFinancement(PerimetreFinancement $perimetreFinancement): self
{
if (!$this->perimetreFinancements->contains($perimetreFinancement)) {
$this->perimetreFinancements->add($perimetreFinancement);
$perimetreFinancement->setFinanceur($this);
}
return $this;
}
public function removePerimetreFinancement(PerimetreFinancement $perimetreFinancement): self
{
if ($this->perimetreFinancements->removeElement($perimetreFinancement)) {
// set the owning side to null (unless already changed)
if ($perimetreFinancement->getFinanceur() === $this) {
$perimetreFinancement->setFinanceur(null);
}
}
return $this;
}
}