<?php
namespace App\Entity;
use App\Entity\Traits\LinkTrait;
use App\Entity\Traits\MetaTrait;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\Traits\ActiveTrait;
use App\Entity\Traits\DeleteTrait;
use App\Entity\Traits\SortOrderTrait;
use App\Entity\Traits\TranslateTrait;
use Gedmo\Mapping\Annotation as Gedmo;
use App\Entity\Traits\ImageUploadTrait;
use App\Entity\Traits\SitemapableTrait;
use App\Entity\Traits\TitleAndContentTrait;
use App\Entity\Traits\SecondImageUploadTrait;
use App\Entity\Interfaces\DefaultLinkedEntity;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* MeetTheTeam.
*
* @Gedmo\Loggable
*
* @Gedmo\TranslationEntity(class="App\Entity\TeamMemberTranslations")
*/
#[ORM\Entity(repositoryClass: \App\Repository\MeetTheTeamRepository::class)]
#[ORM\Table(name: 'meettheteam')]
class TeamMember implements DefaultLinkedEntity
{
use TitleAndContentTrait;
use LinkTrait;
use MetaTrait;
use ActiveTrait;
use DeleteTrait;
use ImageUploadTrait;
use SecondImageUploadTrait;
use SortOrderTrait;
use TimestampableEntity;
use TranslateTrait;
use SitemapableTrait;
#[ORM\Column(name: 'id', type: 'integer')]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'AUTO')]
private int $id;
/**
* @Gedmo\Translatable
*/
#[Assert\NotBlank(message: 'The position should not be blank')]
#[ORM\Column(name: 'position', type: 'string', length: 255)]
private ?string $position = null;
#[ORM\Column(type: 'text', nullable: true)]
private $content2;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $telephone;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $emailAddress;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $linkedIn;
#[ORM\Column(type: 'text', nullable: true)]
private $education;
#[ORM\Column(type: 'text', nullable: true)]
private $keySkills;
#[ORM\Column(type: 'text', nullable: true)]
private $professionalInterests;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $nickname;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $favouriteMeal;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $favouriteDrink;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $favouriteFilm;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $favouriteBand;
#[ORM\Column(type: 'boolean')]
private $featured;
/**
* Get id.
*/
public function getId(): int
{
return $this->id;
}
/**
* Set position.
*
* @param string $position
*/
public function setPosition($position): self
{
$this->position = $position;
return $this;
}
/**
* Get position.
*/
public function getPosition(): ?string
{
return $this->position;
}
// REQUIRED BY THE LINKS TRAIT
public function getLinkedPageId(): int
{
return 5;
}
public function getContent2(): ?string
{
return $this->content2;
}
public function setContent2(?string $content2): self
{
$this->content2 = $content2;
return $this;
}
public function getTelephone(): ?string
{
return $this->telephone;
}
public function setTelephone(?string $telephone): self
{
$this->telephone = $telephone;
return $this;
}
public function getEmailAddress(): ?string
{
return $this->emailAddress;
}
public function setEmailAddress(?string $emailAddress): self
{
$this->emailAddress = $emailAddress;
return $this;
}
public function getLinkedIn(): ?string
{
return $this->linkedIn;
}
public function setLinkedIn(?string $linkedIn): self
{
$this->linkedIn = $linkedIn;
return $this;
}
public function getEducation(): ?string
{
return $this->education;
}
public function setEducation(?string $education): self
{
$this->education = $education;
return $this;
}
public function getKeySkills(): ?string
{
return $this->keySkills;
}
public function setKeySkills(?string $keySkills): self
{
$this->keySkills = $keySkills;
return $this;
}
public function getProfessionalInterests(): ?string
{
return $this->professionalInterests;
}
public function setProfessionalInterests(?string $professionalInterests): self
{
$this->professionalInterests = $professionalInterests;
return $this;
}
public function getNickname(): ?string
{
return $this->nickname;
}
public function setNickname(?string $nickname): self
{
$this->nickname = $nickname;
return $this;
}
public function getFavouriteMeal(): ?string
{
return $this->favouriteMeal;
}
public function setFavouriteMeal(?string $favouriteMeal): self
{
$this->favouriteMeal = $favouriteMeal;
return $this;
}
public function getFavouriteDrink(): ?string
{
return $this->favouriteDrink;
}
public function setFavouriteDrink(?string $favouriteDrink): self
{
$this->favouriteDrink = $favouriteDrink;
return $this;
}
public function getFavouriteFilm(): ?string
{
return $this->favouriteFilm;
}
public function setFavouriteFilm(?string $favouriteFilm): self
{
$this->favouriteFilm = $favouriteFilm;
return $this;
}
public function getFavouriteBand(): ?string
{
return $this->favouriteBand;
}
public function setFavouriteBand(?string $favouriteBand): self
{
$this->favouriteBand = $favouriteBand;
return $this;
}
public function getFeatured(): ?bool
{
return $this->featured;
}
public function setFeatured(bool $featured): self
{
$this->featured = $featured;
return $this;
}
public function getSitemapRouteParams(): array
{
return ['slug' => $this->getSlug()];
}
public function isIncludedInSitemap(): bool
{
return $this->isActive() &&
! $this->isDeleted();
}
}