<?php
namespace App\Entity\Planning;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* User
*
* @ORM\Table(name="user", uniqueConstraints={@ORM\UniqueConstraint(name="login", columns={"login"})}, indexes={@ORM\Index(name="ville_id", columns={"ville_id"}), @ORM\Index(name="niveau_id", columns={"niveau_id"}), @ORM\Index(name="mutuelle_id", columns={"mutuelle_id"}), @ORM\Index(name="FK_user_langue", columns={"langue_id"}), @ORM\Index(name="fonction_id", columns={"fonction_id"}), @ORM\Index(name="type_contrat_id", columns={"type_contrat_id"})})
* @ORM\Entity(repositoryClass="App\Repository\Planning\UserRepository")
*/
class User implements UserInterface, PasswordAuthenticatedUserInterface
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="login", type="string", length=30, nullable=false)
*/
private $login;
/**
* @var string|null
*
* @ORM\Column(name="password", type="string", length=128, nullable=true, options={"fixed"=true})
*/
private $password;
/**
* @var bool
*
* @ORM\Column(name="password_temp", type="boolean", nullable=false, options={"default"="1"})
*/
private $passwordTemp = true;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=30, nullable=false)
*/
private $nom;
/**
* @var string
*
* @ORM\Column(name="prenom", type="string", length=30, nullable=false)
*/
private $prenom;
/**
* @var string|null
*
* @ORM\Column(name="surnom", type="string", length=30, nullable=true)
*/
private $surnom;
/**
* @var string|null
*
* @ORM\Column(name="adresse1", type="string", length=38, nullable=true)
*/
private $adresse1;
/**
* @var string|null
*
* @ORM\Column(name="adresse2", type="string", length=38, nullable=true)
*/
private $adresse2;
/**
* @var bool
*
* @ORM\Column(name="envoi_sms", type="boolean", nullable=false)
*/
private $envoiSms = '0';
/**
* @var string|null
*
* @ORM\Column(name="portable", type="string", length=15, nullable=true)
*/
private $portable;
/**
* @var string|null
*
* @ORM\Column(name="fixe", type="string", length=15, nullable=true)
*/
private $fixe;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=75, nullable=false)
*/
private $email;
/**
* @var int|null
*
* @ORM\Column(name="vacations", type="smallint", nullable=true, options={"unsigned"=true})
*/
private $vacations;
/**
* @var string
*
* @ORM\Column(name="heures", type="decimal", precision=5, scale=2, nullable=false)
*/
private $heures;
/**
* @var string|null
*
* @ORM\Column(name="taux_horaire", type="decimal", precision=8, scale=4, nullable=true)
*/
private $tauxHoraire;
/**
* @var string|null
*
* @ORM\Column(name="brut_minimum", type="decimal", precision=8, scale=4, nullable=true)
*/
private $brutMinimum;
/**
* @var string|null
*
* @ORM\Column(name="prime_anciennete", type="decimal", precision=8, scale=2, nullable=true)
*/
private $primeAnciennete;
/**
* @var int|null
*
* @ORM\Column(name="echelon", type="smallint", nullable=true, options={"unsigned"=true})
*/
private $echelon;
/**
* @var bool|null
*
* @ORM\Column(name="navigo", type="boolean", nullable=true)
*/
private $navigo;
/**
* @var string
*
* @ORM\Column(name="navigo_montant", type="decimal", precision=8, scale=2, nullable=false, options={"default"="0.00"})
*/
private $navigoMontant = '0.00';
/**
* @var string|null
*
* @ORM\Column(name="mutuelle_comment", type="text", length=65535, nullable=true)
*/
private $mutuelleComment;
/**
* @var \DateTime|null
*
* @ORM\Column(name="date_entree", type="date", nullable=true)
*/
private $dateEntree;
/**
* @var \DateTime|null
*
* @ORM\Column(name="date_sortie", type="date", nullable=true)
*/
private $dateSortie;
/**
* @var \DateTime|null
*
* @ORM\Column(name="date_essai", type="date", nullable=true)
*/
private $dateEssai;
/**
* @var bool
*
* @ORM\Column(name="etudiant", type="boolean", nullable=false)
*/
private $etudiant = '0';
/**
* @var int|null
*
* @ORM\Column(name="annee_sortie", type="smallint", nullable=true, options={"unsigned"=true})
*/
private $anneeSortie;
/**
* @var string|null
*
* @ORM\Column(name="numero_ss", type="string", length=15, nullable=true, options={"fixed"=true})
*/
private $numeroSs;
/**
* @var string|null
*
* @ORM\Column(name="astreinte_derangee", type="decimal", precision=8, scale=4, nullable=true)
*/
private $astreinteDerangee;
/**
* @var string|null
*
* @ORM\Column(name="astreinte_non_derangee", type="decimal", precision=8, scale=4, nullable=true)
*/
private $astreinteNonDerangee;
/**
* @var string|null
*
* @ORM\Column(name="heures_vacation", type="string", length=0, nullable=true)
*/
private $heuresVacation;
/**
* @var string|null
*
* @ORM\Column(name="taux_prime", type="decimal", precision=5, scale=2, nullable=true)
*/
private $tauxPrime;
/**
* @var string|null
*
* @ORM\Column(name="indemnite_km", type="decimal", precision=6, scale=2, nullable=true)
*/
private $indemniteKm;
/**
* @var bool|null
*
* @ORM\Column(name="paye_email", type="boolean", nullable=true)
*/
private $payeEmail;
/**
* @var string|null
*
* @ORM\Column(name="matricule", type="string", length=20, nullable=true)
*/
private $matricule;
/**
* @var bool
*
* @ORM\Column(name="no_dispo", type="boolean", nullable=false)
*/
private $noDispo = '0';
/**
* @var bool
*
* @ORM\Column(name="contrat_signe", type="boolean", nullable=false)
*/
private $contratSigne = '0';
/**
* @var bool
*
* @ORM\Column(name="admin_rights", type="boolean", nullable=false)
*/
private $adminRights = '0';
/**
* @var string|null
*
* @ORM\Column(name="commentaire_planning", type="text", length=65535, nullable=true)
*/
private $commentairePlanning;
/**
* @var string|null
*
* @ORM\Column(name="info_complementaire", type="text", length=65535, nullable=true)
*/
private $infoComplementaire;
/**
* @var bool
*
* @ORM\Column(name="active", type="boolean", nullable=false, options={"default"="1"})
*/
private $active = true;
/**
* @var bool
*
* @ORM\Column(name="visible", type="boolean", nullable=false, options={"default"="1"})
*/
private $visible = true;
/**
* @var \DateTime
*
* @ORM\Column(name="date_creation", type="datetime", nullable=false)
*/
private $dateCreation;
/**
* @var \DateTime
*
* @ORM\Column(name="date_modification", type="datetime", nullable=false, options={"default"="CURRENT_TIMESTAMP"})
*/
private $dateModification;
/**
* @var \Langue
*
* @ORM\ManyToOne(targetEntity="Langue")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="langue_id", referencedColumnName="id")
* })
*/
private $langue;
/**
* @var \Ville
*
* @ORM\ManyToOne(targetEntity="Ville")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="ville_id", referencedColumnName="id")
* })
*/
private $ville;
/**
* @var \Mutuelle
*
* @ORM\ManyToOne(targetEntity="Mutuelle")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="mutuelle_id", referencedColumnName="id")
* })
*/
private $mutuelle;
/**
* @var \UserNiveau
*
* @ORM\ManyToOne(targetEntity="UserNiveau")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="niveau_id", referencedColumnName="id")
* })
*/
private $niveau;
/**
* @var \UserFonction
*
* @ORM\ManyToOne(targetEntity="UserFonction")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="fonction_id", referencedColumnName="id")
* })
*/
private $fonction;
/**
* @var \TypeContrat
*
* @ORM\ManyToOne(targetEntity="TypeContrat")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="type_contrat_id", referencedColumnName="id")
* })
*/
private $typeContrat;
private $roles = [];
public function getId(): ?int
{
return $this->id;
}
public function getLogin(): ?string
{
return $this->login;
}
public function setLogin(string $login): self
{
$this->login = $login;
return $this;
}
public function getPassword(): ?string
{
return $this->password;
}
public function setPassword(?string $password): self
{
$this->password = $password;
return $this;
}
public function getPasswordTemp(): ?bool
{
return $this->passwordTemp;
}
public function setPasswordTemp(bool $passwordTemp): self
{
$this->passwordTemp = $passwordTemp;
return $this;
}
public function getNom(): ?string
{
return $this->nom;
}
public function setNom(string $nom): self
{
$this->nom = $nom;
return $this;
}
public function getPrenom(): ?string
{
return $this->prenom;
}
public function setPrenom(string $prenom): self
{
$this->prenom = $prenom;
return $this;
}
public function getSurnom(): ?string
{
return $this->surnom;
}
public function setSurnom(?string $surnom): self
{
$this->surnom = $surnom;
return $this;
}
public function getAdresse1(): ?string
{
return $this->adresse1;
}
public function setAdresse1(?string $adresse1): self
{
$this->adresse1 = $adresse1;
return $this;
}
public function getAdresse2(): ?string
{
return $this->adresse2;
}
public function setAdresse2(?string $adresse2): self
{
$this->adresse2 = $adresse2;
return $this;
}
public function getEnvoiSms(): ?bool
{
return $this->envoiSms;
}
public function setEnvoiSms(bool $envoiSms): self
{
$this->envoiSms = $envoiSms;
return $this;
}
public function getPortable(): ?string
{
return $this->portable;
}
public function setPortable(?string $portable): self
{
$this->portable = $portable;
return $this;
}
public function getFixe(): ?string
{
return $this->fixe;
}
public function setFixe(?string $fixe): self
{
$this->fixe = $fixe;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(string $email): self
{
$this->email = $email;
return $this;
}
public function getVacations(): ?int
{
return $this->vacations;
}
public function setVacations(?int $vacations): self
{
$this->vacations = $vacations;
return $this;
}
public function getHeures(): ?string
{
return $this->heures;
}
public function setHeures(string $heures): self
{
$this->heures = $heures;
return $this;
}
public function getTauxHoraire(): ?string
{
return $this->tauxHoraire;
}
public function setTauxHoraire(?string $tauxHoraire): self
{
$this->tauxHoraire = $tauxHoraire;
return $this;
}
public function getBrutMinimum(): ?string
{
return $this->brutMinimum;
}
public function setBrutMinimum(?string $brutMinimum): self
{
$this->brutMinimum = $brutMinimum;
return $this;
}
public function getPrimeAnciennete(): ?string
{
return $this->primeAnciennete;
}
public function setPrimeAnciennete(?string $primeAnciennete): self
{
$this->primeAnciennete = $primeAnciennete;
return $this;
}
public function getEchelon(): ?int
{
return $this->echelon;
}
public function setEchelon(?int $echelon): self
{
$this->echelon = $echelon;
return $this;
}
public function getNavigo(): ?bool
{
return $this->navigo;
}
public function setNavigo(?bool $navigo): self
{
$this->navigo = $navigo;
return $this;
}
public function getNavigoMontant(): ?string
{
return $this->navigoMontant;
}
public function setNavigoMontant(string $navigoMontant): self
{
$this->navigoMontant = $navigoMontant;
return $this;
}
public function getMutuelleComment(): ?string
{
return $this->mutuelleComment;
}
public function setMutuelleComment(?string $mutuelleComment): self
{
$this->mutuelleComment = $mutuelleComment;
return $this;
}
public function getDateEntree(): ?\DateTimeInterface
{
return $this->dateEntree;
}
public function setDateEntree(?\DateTimeInterface $dateEntree): self
{
$this->dateEntree = $dateEntree;
return $this;
}
public function getDateSortie(): ?\DateTimeInterface
{
return $this->dateSortie;
}
public function setDateSortie(?\DateTimeInterface $dateSortie): self
{
$this->dateSortie = $dateSortie;
return $this;
}
public function getDateEssai(): ?\DateTimeInterface
{
return $this->dateEssai;
}
public function setDateEssai(?\DateTimeInterface $dateEssai): self
{
$this->dateEssai = $dateEssai;
return $this;
}
public function getEtudiant(): ?bool
{
return $this->etudiant;
}
public function setEtudiant(bool $etudiant): self
{
$this->etudiant = $etudiant;
return $this;
}
public function getAnneeSortie(): ?int
{
return $this->anneeSortie;
}
public function setAnneeSortie(?int $anneeSortie): self
{
$this->anneeSortie = $anneeSortie;
return $this;
}
public function getNumeroSs(): ?string
{
return $this->numeroSs;
}
public function setNumeroSs(?string $numeroSs): self
{
$this->numeroSs = $numeroSs;
return $this;
}
public function getAstreinteDerangee(): ?string
{
return $this->astreinteDerangee;
}
public function setAstreinteDerangee(?string $astreinteDerangee): self
{
$this->astreinteDerangee = $astreinteDerangee;
return $this;
}
public function getAstreinteNonDerangee(): ?string
{
return $this->astreinteNonDerangee;
}
public function setAstreinteNonDerangee(?string $astreinteNonDerangee): self
{
$this->astreinteNonDerangee = $astreinteNonDerangee;
return $this;
}
public function getHeuresVacation(): ?string
{
return $this->heuresVacation;
}
public function setHeuresVacation(?string $heuresVacation): self
{
$this->heuresVacation = $heuresVacation;
return $this;
}
public function getTauxPrime(): ?string
{
return $this->tauxPrime;
}
public function setTauxPrime(?string $tauxPrime): self
{
$this->tauxPrime = $tauxPrime;
return $this;
}
public function getIndemniteKm(): ?string
{
return $this->indemniteKm;
}
public function setIndemniteKm(?string $indemniteKm): self
{
$this->indemniteKm = $indemniteKm;
return $this;
}
public function getPayeEmail(): ?bool
{
return $this->payeEmail;
}
public function setPayeEmail(?bool $payeEmail): self
{
$this->payeEmail = $payeEmail;
return $this;
}
public function getMatricule(): ?string
{
return $this->matricule;
}
public function setMatricule(?string $matricule): self
{
$this->matricule = $matricule;
return $this;
}
public function getNoDispo(): ?bool
{
return $this->noDispo;
}
public function setNoDispo(bool $noDispo): self
{
$this->noDispo = $noDispo;
return $this;
}
public function getContratSigne(): ?bool
{
return $this->contratSigne;
}
public function setContratSigne(bool $contratSigne): self
{
$this->contratSigne = $contratSigne;
return $this;
}
public function getAdminRights(): ?bool
{
return $this->adminRights;
}
public function setAdminRights(bool $adminRights): self
{
$this->adminRights = $adminRights;
return $this;
}
public function getCommentairePlanning(): ?string
{
return $this->commentairePlanning;
}
public function setCommentairePlanning(?string $commentairePlanning): self
{
$this->commentairePlanning = $commentairePlanning;
return $this;
}
public function getInfoComplementaire(): ?string
{
return $this->infoComplementaire;
}
public function setInfoComplementaire(?string $infoComplementaire): self
{
$this->infoComplementaire = $infoComplementaire;
return $this;
}
public function getActive(): ?bool
{
return $this->active;
}
public function setActive(bool $active): self
{
$this->active = $active;
return $this;
}
public function getVisible(): ?bool
{
return $this->visible;
}
public function setVisible(bool $visible): self
{
$this->visible = $visible;
return $this;
}
public function getDateCreation(): ?\DateTimeInterface
{
return $this->dateCreation;
}
public function setDateCreation(\DateTimeInterface $dateCreation): self
{
$this->dateCreation = $dateCreation;
return $this;
}
public function getDateModification(): ?\DateTimeInterface
{
return $this->dateModification;
}
public function setDateModification(\DateTimeInterface $dateModification): self
{
$this->dateModification = $dateModification;
return $this;
}
public function getLangue(): ?Langue
{
return $this->langue;
}
public function setLangue(?Langue $langue): self
{
$this->langue = $langue;
return $this;
}
public function getVille(): ?Ville
{
return $this->ville;
}
public function setVille(?Ville $ville): self
{
$this->ville = $ville;
return $this;
}
public function getMutuelle(): ?Mutuelle
{
return $this->mutuelle;
}
public function setMutuelle(?Mutuelle $mutuelle): self
{
$this->mutuelle = $mutuelle;
return $this;
}
public function getNiveau(): ?UserNiveau
{
return $this->niveau;
}
public function setNiveau(?UserNiveau $niveau): self
{
$this->niveau = $niveau;
return $this;
}
public function getFonction(): ?UserFonction
{
return $this->fonction;
}
public function setFonction(?UserFonction $fonction): self
{
$this->fonction = $fonction;
return $this;
}
public function getTypeContrat(): ?TypeContrat
{
return $this->typeContrat;
}
public function setTypeContrat(?TypeContrat $typeContrat): self
{
$this->typeContrat = $typeContrat;
return $this;
}
/**
* Helpers
*/
public function setRoles(array $roles): self
{
$this->roles = $roles;
return $this;
}
/**
* @inheritDoc
*/
public function getRoles(): array
{
return $this->roles;
}
/**
* @inheritDoc
*/
public function getSalt(): ?string
{
// TODO: Implement getSalt() method.
return null;
}
/**
* @inheritDoc
*/
public function eraseCredentials()
{
// TODO: Implement eraseCredentials() method.
}
public function getUsername(): string
{
return $this->getLogin();
}
public function getUserIdentifier(): string
{
return $this->getPrenom() . ' ' . $this->getNom();
}
public function getFullName(): string
{
return $this->getPrenom() . ' ' . $this->getNom();
}
public function getNomPrenom(): string
{
return $this->getNom() . ' ' . $this->getPrenom();
}
public function getEmailMD5(): ?string
{
return md5($this->getEmail());
}
}