src/Entity/User.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\UserRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Gedmo\Timestampable\Traits\TimestampableEntity;
  9. use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
  10. use Symfony\Component\Security\Core\User\UserInterface;
  11. #[ORM\Entity(UserRepository::class)]
  12. #[ORM\Table('`user`')]
  13. class User implements UserInterfacePasswordAuthenticatedUserInterface
  14. {
  15.     use TimestampableEntity;
  16.     #[ORM\Id]
  17.     #[ORM\GeneratedValue]
  18.     #[ORM\Column]
  19.     private ?int $id;
  20.     #[ORM\Column(length180nullabletrue)]
  21.     private ?string $email;
  22.     #[ORM\Column(typeTypes::JSON)]
  23.     private array $roles = [];
  24.     /**
  25.      * The hashed password
  26.      */
  27.     #[ORM\Column]
  28.     private ?string $password;
  29.     /**
  30.      * The plain non-persisted password
  31.      */
  32.     private ?string $plainPassword;
  33.     #[ORM\Column]
  34.     private bool $enabled true;
  35.     #[ORM\Column]
  36.     private ?string $firstName;
  37.     #[ORM\Column]
  38.     private ?string $lastName;
  39.     #[ORM\Column(nullabletrue)]
  40.     private ?string $avatar;
  41.     #[ORM\OneToMany('askedBy'Question::class)]
  42.     private Collection $questions;
  43.     #[ORM\OneToMany('answeredBy'Answer::class)]
  44.     private Collection $answers;
  45.     #[ORM\OneToMany(mappedBy'vergunning_medewerker'targetEntityOrder::class)]
  46.     private Collection $orders;
  47.     #[ORM\Column(length255)]
  48.     private ?string $username null;
  49.     #[ORM\OneToMany(mappedBy'offerte_medewerker'targetEntityOrder::class)]
  50.     private Collection $orderss;
  51.     #[ORM\OneToMany(mappedBy'afhaler_contactmedewerker'targetEntityOrder::class)]
  52.     private Collection $orders_afhaler_contactmedewerker;
  53.     #[ORM\OneToMany(mappedBy'user'targetEntityReminder::class)]
  54.     private Collection $reminders;
  55.     #[ORM\ManyToMany(targetEntityGroep::class, mappedBy'users')]
  56.     private Collection $groepen;
  57.     #[ORM\OneToMany(mappedBy'ingevoerd_door'targetEntityReminder::class)]
  58.     private Collection $created_reminders;
  59.     public function __construct()
  60.     {
  61.         $this->questions = new ArrayCollection();
  62.         $this->answers = new ArrayCollection();
  63.         $this->orders = new ArrayCollection();
  64.         $this->orderss = new ArrayCollection();
  65.         $this->orders_afhaler_contactmedewerker = new ArrayCollection();
  66.         $this->reminders = new ArrayCollection();
  67.         $this->groepen = new ArrayCollection();
  68.         $this->created_reminders = new ArrayCollection();
  69.     }
  70.     public function __toString()
  71.     {
  72.         return $this->getFullName();
  73.     }
  74.     public function getId(): ?int
  75.     {
  76.         return $this->id;
  77.     }
  78.     public function getEmail(): ?string
  79.     {
  80.         return $this->email;
  81.     }
  82.     public function setEmail(string $email): self
  83.     {
  84.         $this->email $email;
  85.         return $this;
  86.     }
  87.     /**
  88.      * A visual identifier that represents this user.
  89.      *
  90.      * @see UserInterface
  91.      */
  92.     public function getUserIdentifier(): string
  93.     {
  94.         return (string) $this->username;
  95.     }
  96.     /**
  97.      * @deprecated since Symfony 5.3, use getUserIdentifier instead
  98.      */
  99.     public function getUsername(): string
  100.     {
  101.         return (string) $this->username;
  102.     }
  103.     public function getRoles(): array
  104.     {
  105.         return $this->roles;
  106.     }
  107.     public function setRoles(array $roles): self
  108.     {
  109.         $this->roles $roles;
  110.         return $this;
  111.     }
  112.     public function getPassword(): ?string
  113.     {
  114.         return $this->password;
  115.     }
  116.     public function setPassword(string $password): self
  117.     {
  118.         $this->password $password;
  119.         
  120.         return $this;
  121.     }
  122.     public function getPlainPassword(): string
  123.     {
  124.         return $this->plainPassword;
  125.     }
  126.    
  127.     public function issetPlainPassword(): bool
  128.     {
  129.         if(isset ($this->plainPassword)){
  130.             return true;
  131.         };
  132.         return false;
  133.     }
  134.     
  135.     public function setPlainPassword(string $plainPassword): void
  136.     {
  137.         $this->plainPassword $plainPassword;
  138.     }
  139.     /**
  140.      * Returning a salt is only needed, if you are not using a modern
  141.      * hashing algorithm (e.g. bcrypt or sodium) in your security.yaml.
  142.      *
  143.      * @see UserInterface
  144.      */
  145.     public function getSalt(): ?string
  146.     {
  147.         return null;
  148.     }
  149.     /**
  150.      * @see UserInterface
  151.      */
  152.     public function eraseCredentials()
  153.     {
  154.         // If you store any temporary, sensitive data on the user, clear it here
  155.          $this->plainPassword null;
  156.     }
  157.     public function isEnabled(): ?bool
  158.     {
  159.         return $this->enabled;
  160.     }
  161.     public function setEnabled(bool $enabled): self
  162.     {
  163.         $this->enabled $enabled;
  164.         return $this;
  165.     }
  166.     public function getFirstName(): ?string
  167.     {
  168.         return $this->firstName;
  169.     }
  170.     public function setFirstName(string $firstName): self
  171.     {
  172.         $this->firstName $firstName;
  173.         return $this;
  174.     }
  175.     public function getLastName(): ?string
  176.     {
  177.         return $this->lastName;
  178.     }
  179.     public function setLastName(string $lastName): self
  180.     {
  181.         $this->lastName $lastName;
  182.         return $this;
  183.     }
  184.     public function getFullName(): ?string
  185.     {
  186.         return $this->firstName.' '.$this->lastName;
  187.     }
  188.     public function getAvatar(): ?string
  189.     {
  190.         return $this->avatar;
  191.     }
  192.     public function getAvatarUrl(): ?string
  193.     {
  194.         if (!$this->avatar) {
  195.             return null;
  196.         }
  197.         if (strpos($this->avatar'/') !== false) {
  198.             return $this->avatar;
  199.         }
  200.         return sprintf('/uploads/avatars/%s'$this->avatar);
  201.     }
  202.     public function setAvatar(?string $avatar): self
  203.     {
  204.         $this->avatar $avatar;
  205.         return $this;
  206.     }
  207.     /**
  208.      * @return Collection<int, Question>
  209.      */
  210.     public function getQuestions(): Collection
  211.     {
  212.         return $this->questions;
  213.     }
  214.     public function addQuestion(Question $question): self
  215.     {
  216.         if (!$this->questions->contains($question)) {
  217.             $this->questions->add($question);
  218.             $question->setAskedBy($this);
  219.         }
  220.         return $this;
  221.     }
  222.     public function removeQuestion(Question $question): self
  223.     {
  224.         if ($this->questions->removeElement($question)) {
  225.             // set the owning side to null (unless already changed)
  226.             if ($question->getAskedBy() === $this) {
  227.                 $question->setAskedBy(null);
  228.             }
  229.         }
  230.         return $this;
  231.     }
  232.     /**
  233.      * @return Collection<int, Answer>
  234.      */
  235.     public function getAnswers(): Collection
  236.     {
  237.         return $this->answers;
  238.     }
  239.     public function addAnswer(Answer $answer): self
  240.     {
  241.         if (!$this->answers->contains($answer)) {
  242.             $this->answers->add($answer);
  243.             $answer->setAnsweredBy($this);
  244.         }
  245.         return $this;
  246.     }
  247.     public function removeAnswer(Answer $answer): self
  248.     {
  249.         if ($this->answers->removeElement($answer)) {
  250.             // set the owning side to null (unless already changed)
  251.             if ($answer->getAnsweredBy() === $this) {
  252.                 $answer->setAnsweredBy(null);
  253.             }
  254.         }
  255.         return $this;
  256.     }
  257.     /**
  258.      * @return Collection<int, Order>
  259.      */
  260.     public function getOrders(): Collection
  261.     {
  262.         return $this->orders;
  263.     }
  264.     public function addOrder(Order $order): self
  265.     {
  266.         if (!$this->orders->contains($order)) {
  267.             $this->orders->add($order);
  268.             $order->setVergunningMedewerker($this);
  269.         }
  270.         return $this;
  271.     }
  272.     public function removeOrder(Order $order): self
  273.     {
  274.         if ($this->orders->removeElement($order)) {
  275.             // set the owning side to null (unless already changed)
  276.             if ($order->getVergunningMedewerker() === $this) {
  277.                 $order->setVergunningMedewerker(null);
  278.             }
  279.         }
  280.         return $this;
  281.     }
  282.     public function setUsername(string $username): self
  283.     {
  284.         $this->username $username;
  285.         return $this;
  286.     }
  287.     /**
  288.      * @return Collection<int, Order>
  289.      */
  290.     public function getOrderss(): Collection
  291.     {
  292.         return $this->orderss;
  293.     }
  294.     public function addOrderss(Order $orderss): self
  295.     {
  296.         if (!$this->orderss->contains($orderss)) {
  297.             $this->orderss->add($orderss);
  298.             $orderss->setOfferteMedewerker($this);
  299.         }
  300.         return $this;
  301.     }
  302.     public function removeOrderss(Order $orderss): self
  303.     {
  304.         if ($this->orderss->removeElement($orderss)) {
  305.             // set the owning side to null (unless already changed)
  306.             if ($orderss->getOfferteMedewerker() === $this) {
  307.                 $orderss->setOfferteMedewerker(null);
  308.             }
  309.         }
  310.         return $this;
  311.     }
  312.     /**
  313.      * @return Collection<int, Order>
  314.      */
  315.     public function getOrdersAfhalerContactmedewerker(): Collection
  316.     {
  317.         return $this->orders_afhaler_contactmedewerker;
  318.     }
  319.     public function addOrdersAfhalerContactmedewerker(Order $ordersAfhalerContactmedewerker): self
  320.     {
  321.         if (!$this->orders_afhaler_contactmedewerker->contains($ordersAfhalerContactmedewerker)) {
  322.             $this->orders_afhaler_contactmedewerker->add($ordersAfhalerContactmedewerker);
  323.             $ordersAfhalerContactmedewerker->setAfhalerContactmedewerker($this);
  324.         }
  325.         return $this;
  326.     }
  327.     public function removeOrdersAfhalerContactmedewerker(Order $ordersAfhalerContactmedewerker): self
  328.     {
  329.         if ($this->orders_afhaler_contactmedewerker->removeElement($ordersAfhalerContactmedewerker)) {
  330.             // set the owning side to null (unless already changed)
  331.             if ($ordersAfhalerContactmedewerker->getAfhalerContactmedewerker() === $this) {
  332.                 $ordersAfhalerContactmedewerker->setAfhalerContactmedewerker(null);
  333.             }
  334.         }
  335.         return $this;
  336.     }
  337.     /**
  338.      * @return Collection<int, Reminder>
  339.      */
  340.     public function getReminders(): Collection
  341.     {
  342.         return $this->reminders;
  343.     }
  344.     public function addReminder(Reminder $reminder): self
  345.     {
  346.         if (!$this->reminders->contains($reminder)) {
  347.             $this->reminders->add($reminder);
  348.             $reminder->setUser($this);
  349.         }
  350.         return $this;
  351.     }
  352.     public function removeReminder(Reminder $reminder): self
  353.     {
  354.         if ($this->reminders->removeElement($reminder)) {
  355.             // set the owning side to null (unless already changed)
  356.             if ($reminder->getUser() === $this) {
  357.                 $reminder->setUser(null);
  358.             }
  359.         }
  360.         return $this;
  361.     }
  362.     /**
  363.      * @return Collection<int, Groep>
  364.      */
  365.     public function getGroepen(): Collection
  366.     {
  367.         return $this->groepen;
  368.     }
  369.     public function addGroepen(Groep $groepen): static
  370.     {
  371.         if (!$this->groepen->contains($groepen)) {
  372.             $this->groepen->add($groepen);
  373.             $groepen->addUser($this);
  374.         }
  375.         return $this;
  376.     }
  377.     public function removeGroepen(Groep $groepen): static
  378.     {
  379.         if ($this->groepen->removeElement($groepen)) {
  380.             $groepen->removeUser($this);
  381.         }
  382.         return $this;
  383.     }
  384.     /**
  385.      * @return Collection<int, Reminder>
  386.      */
  387.     public function getCreatedReminders(): Collection
  388.     {
  389.         return $this->created_reminders;
  390.     }
  391.     public function addCreatedReminder(Reminder $createdReminder): static
  392.     {
  393.         if (!$this->created_reminders->contains($createdReminder)) {
  394.             $this->created_reminders->add($createdReminder);
  395.             $createdReminder->setIngevoerdDoor($this);
  396.         }
  397.         return $this;
  398.     }
  399.     public function removeCreatedReminder(Reminder $createdReminder): static
  400.     {
  401.         if ($this->created_reminders->removeElement($createdReminder)) {
  402.             // set the owning side to null (unless already changed)
  403.             if ($createdReminder->getIngevoerdDoor() === $this) {
  404.                 $createdReminder->setIngevoerdDoor(null);
  405.             }
  406.         }
  407.         return $this;
  408.     }
  409. }