src/Entity/User.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. /**
  5.  * User
  6.  *
  7.  * @ORM\Table(name="user", uniqueConstraints={@ORM\UniqueConstraint(name="user_id_uindex", columns={"id"})}, indexes={@ORM\Index(name="user_manager_id_fk", columns={"manager_id"})})
  8.  * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
  9.  */
  10. class User
  11. {
  12.     /**
  13.      * @var integer
  14.      *
  15.      * @ORM\Column(name="id", type="integer", nullable=false)
  16.      * @ORM\Id
  17.      * @ORM\GeneratedValue(strategy="IDENTITY")
  18.      */
  19.     private $id;
  20.     /**
  21.      * @var string
  22.      *
  23.      * @ORM\Column(name="company_name", type="string", length=255, nullable=true)
  24.      */
  25.     private $companyName;
  26.     /**
  27.      * @var string
  28.      *
  29.      * @ORM\Column(name="siret", type="string", length=255, nullable=true)
  30.      */
  31.     private $siret;
  32.     /**
  33.      * @var string
  34.      *
  35.      * @ORM\Column(name="address", type="string", length=255, nullable=true)
  36.      */
  37.     private $address;
  38.     /**
  39.      * @var string
  40.      *
  41.      * @ORM\Column(name="address_2", type="string", length=255, nullable=true)
  42.      */
  43.     private $address2;
  44.     /**
  45.      * @var string
  46.      *
  47.      * @ORM\Column(name="zip_code", type="string", length=16, nullable=true)
  48.      */
  49.     private $zipCode;
  50.     /**
  51.      * @var string
  52.      *
  53.      * @ORM\Column(name="city", type="string", length=255, nullable=true)
  54.      */
  55.     private $city;
  56.     /**
  57.      * @var string
  58.      *
  59.      * @ORM\Column(name="company_phone", type="string", length=255, nullable=true)
  60.      */
  61.     private $companyPhone;
  62.     /**
  63.      * @var string
  64.      *
  65.      * @ORM\Column(name="phone", type="string", length=255, nullable=true)
  66.      */
  67.     private $phone;
  68.     /**
  69.      * @var string
  70.      *
  71.      * @ORM\Column(name="email", type="string", length=255, nullable=true)
  72.      */
  73.     private $email;
  74.     /**
  75.      * @var string
  76.      *
  77.      * @ORM\Column(name="contact_first_name", type="string", length=255, nullable=true)
  78.      */
  79.     private $contactFirstName;
  80.     /**
  81.      * @var string
  82.      *
  83.      * @ORM\Column(name="contact_last_name", type="string", length=255, nullable=true)
  84.      */
  85.     private $contactLastName;
  86.     /**
  87.      * @var string
  88.      *
  89.      * @ORM\Column(name="contact_email", type="string", length=255, nullable=true)
  90.      */
  91.     private $contactEmail;
  92.     /**
  93.      * @var string
  94.      *
  95.      * @ORM\Column(name="contact_phone", type="string", length=255, nullable=true)
  96.      */
  97.     private $contactPhone;
  98.     /**
  99.      * @var string
  100.      *
  101.      * @ORM\Column(name="contact_job", type="string", length=255, nullable=true)
  102.      */
  103.     private $contactJob;
  104.     /**
  105.      * @var string
  106.      *
  107.      * @ORM\Column(name="accountant_first_name", type="string", length=255, nullable=true)
  108.      */
  109.     private $accountantFirstName;
  110.     /**
  111.      * @var string
  112.      *
  113.      * @ORM\Column(name="accountant_last_name", type="string", length=255, nullable=true)
  114.      */
  115.     private $accountantLastName;
  116.     /**
  117.      * @var string
  118.      *
  119.      * @ORM\Column(name="accountant_email", type="string", length=255, nullable=true)
  120.      */
  121.     private $accountantEmail;
  122.     /**
  123.      * @var string
  124.      *
  125.      * @ORM\Column(name="accountant_phone", type="string", length=255, nullable=true)
  126.      */
  127.     private $accountantPhone;
  128.     /**
  129.      * @var string
  130.      *
  131.      * @ORM\Column(name="accountant_job", type="string", length=255, nullable=true)
  132.      */
  133.     private $accountantJob;
  134.     /**
  135.      * @var string
  136.      *
  137.      * @ORM\Column(name="picture", type="string", length=255, nullable=true)
  138.      */
  139.     private $picture;
  140.     /**
  141.      * @var boolean
  142.      *
  143.      * @ORM\Column(name="manager_dpo", type="boolean", nullable=true)
  144.      */
  145.     private $managerDpo false;
  146.     /**
  147.      * @var boolean
  148.      *
  149.      * @ORM\Column(name="demo", type="boolean", nullable=true)
  150.      */
  151.     private $demo false;
  152.     /**
  153.      * @var float
  154.      *
  155.      * @ORM\Column(name="credit", type="float", precision=10, scale=0, nullable=true)
  156.      */
  157.     private $credit 0;
  158.     /**
  159.      * @var integer
  160.      *
  161.      * @ORM\Column(name="employees_number", type="integer", nullable=false)
  162.      */
  163.     private $employeesNumber 0;
  164.     /**
  165.      * @var string
  166.      *
  167.      * @ORM\Column(name="language", type="string", length=5, nullable=true)
  168.      */
  169.     private $language "fr";
  170.     /**
  171.      * @var Manager
  172.      *
  173.      * @ORM\ManyToOne(targetEntity="Manager")
  174.      * @ORM\JoinColumns({
  175.      *   @ORM\JoinColumn(name="manager_id", referencedColumnName="id")
  176.      * })
  177.      */
  178.     private $manager;
  179.     /**
  180.      * @var Manager
  181.      *
  182.      * @ORM\ManyToOne(targetEntity="Manager")
  183.      * @ORM\JoinColumns({
  184.      *   @ORM\JoinColumn(name="lawyer_id", referencedColumnName="id")
  185.      * })
  186.      */
  187.     private $lawyer;
  188.     /**
  189.      * @var User
  190.      *
  191.      * @ORM\ManyToOne(targetEntity="User", inversedBy="childrenUsers")
  192.      * @ORM\JoinColumns({
  193.      *   @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  194.      * })
  195.      */
  196.     private $parentUser;
  197.     /**
  198.      * @var \Doctrine\Common\Collections\Collection
  199.      *
  200.      * @ORM\OneToMany(targetEntity="User", mappedBy="parentUser")
  201.      */
  202.     private $childrenUsers;
  203.     /**
  204.      * @ORM\OneToOne(targetEntity="Account", mappedBy="user")
  205.      */
  206.     protected $account;
  207.     /**
  208.      * @var Subscription
  209.      *
  210.      * @ORM\ManyToOne(targetEntity="Subscription")
  211.      * @ORM\JoinColumns({
  212.      *   @ORM\JoinColumn(name="current_subscription_id", referencedColumnName="id")
  213.      * })
  214.      */
  215.     private $currentSubscription;
  216.     /**
  217.      * @var \Doctrine\Common\Collections\Collection
  218.      *
  219.      * @ORM\ManyToMany(targetEntity="Treatment", inversedBy="groupUsers")
  220.      * @ORM\JoinTable(name="user_has_treatment_group",
  221.      *   joinColumns={
  222.      *     @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  223.      *   },
  224.      *   inverseJoinColumns={
  225.      *     @ORM\JoinColumn(name="treatment_id", referencedColumnName="id")
  226.      *   }
  227.      * )
  228.      */
  229.     private $groupTreatments;
  230.     /**
  231.      * Constructor
  232.      */
  233.     public function __construct()
  234.     {
  235.         $this->childrenUsers = new \Doctrine\Common\Collections\ArrayCollection();
  236.         $this->groupTreatments = new \Doctrine\Common\Collections\ArrayCollection();
  237.     }
  238.     /**
  239.      * @return int
  240.      */
  241.     public function getId()
  242.     {
  243.         return $this->id;
  244.     }
  245.     /**
  246.      * @param int $id
  247.      */
  248.     public function setId($id)
  249.     {
  250.         $this->id $id;
  251.     }
  252.     /**
  253.      * @return string
  254.      */
  255.     public function getCompanyName()
  256.     {
  257.         return $this->companyName;
  258.     }
  259.     /**
  260.      * @param string $companyName
  261.      */
  262.     public function setCompanyName($companyName)
  263.     {
  264.         $this->companyName $companyName;
  265.     }
  266.     /**
  267.      * @return string
  268.      */
  269.     public function getSiret()
  270.     {
  271.         return $this->siret;
  272.     }
  273.     /**
  274.      * @param string $siret
  275.      */
  276.     public function setSiret($siret)
  277.     {
  278.         $this->siret $siret;
  279.     }
  280.     /**
  281.      * @return string
  282.      */
  283.     public function getAddress()
  284.     {
  285.         return $this->address;
  286.     }
  287.     /**
  288.      * @param string $address
  289.      */
  290.     public function setAddress($address)
  291.     {
  292.         $this->address $address;
  293.     }
  294.     /**
  295.      * @return string
  296.      */
  297.     public function getAddress2()
  298.     {
  299.         return $this->address2;
  300.     }
  301.     /**
  302.      * @param string $address2
  303.      */
  304.     public function setAddress2($address2)
  305.     {
  306.         $this->address2 $address2;
  307.     }
  308.     /**
  309.      * @return string
  310.      */
  311.     public function getZipCode()
  312.     {
  313.         return $this->zipCode;
  314.     }
  315.     /**
  316.      * @param string $zipCode
  317.      */
  318.     public function setZipCode($zipCode)
  319.     {
  320.         $this->zipCode $zipCode;
  321.     }
  322.     /**
  323.      * @return string
  324.      */
  325.     public function getCity()
  326.     {
  327.         return $this->city;
  328.     }
  329.     /**
  330.      * @param string $city
  331.      */
  332.     public function setCity($city)
  333.     {
  334.         $this->city $city;
  335.     }
  336.     /**
  337.      * @return string
  338.      */
  339.     public function getCompanyPhone()
  340.     {
  341.         return $this->companyPhone;
  342.     }
  343.     /**
  344.      * @param string $companyPhone
  345.      */
  346.     public function setCompanyPhone($companyPhone)
  347.     {
  348.         $this->companyPhone $companyPhone;
  349.     }
  350.     /**
  351.      * @return string
  352.      */
  353.     public function getPhone()
  354.     {
  355.         return $this->phone;
  356.     }
  357.     /**
  358.      * @param string $phone
  359.      */
  360.     public function setPhone($phone)
  361.     {
  362.         $this->phone $phone;
  363.     }
  364.     /**
  365.      * @return string
  366.      */
  367.     public function getEmail()
  368.     {
  369.         return $this->email;
  370.     }
  371.     /**
  372.      * @param string $email
  373.      */
  374.     public function setEmail($email)
  375.     {
  376.         $this->email $email;
  377.     }
  378.     /**
  379.      * @return string
  380.      */
  381.     public function getContactFirstName()
  382.     {
  383.         return $this->contactFirstName;
  384.     }
  385.     /**
  386.      * @param string $contactFirstName
  387.      */
  388.     public function setContactFirstName($contactFirstName)
  389.     {
  390.         $this->contactFirstName $contactFirstName;
  391.     }
  392.     /**
  393.      * @return string
  394.      */
  395.     public function getContactLastName()
  396.     {
  397.         return $this->contactLastName;
  398.     }
  399.     /**
  400.      * @param string $contactLastName
  401.      */
  402.     public function setContactLastName($contactLastName)
  403.     {
  404.         $this->contactLastName $contactLastName;
  405.     }
  406.     /**
  407.      * @return string
  408.      */
  409.     public function getContactEmail()
  410.     {
  411.         return $this->contactEmail;
  412.     }
  413.     /**
  414.      * @param string $contactEmail
  415.      */
  416.     public function setContactEmail($contactEmail)
  417.     {
  418.         $this->contactEmail $contactEmail;
  419.     }
  420.     /**
  421.      * @return string
  422.      */
  423.     public function getContactPhone()
  424.     {
  425.         return $this->contactPhone;
  426.     }
  427.     /**
  428.      * @param string $contactPhone
  429.      */
  430.     public function setContactPhone($contactPhone)
  431.     {
  432.         $this->contactPhone $contactPhone;
  433.     }
  434.     /**
  435.      * @return string
  436.      */
  437.     public function getContactJob()
  438.     {
  439.         return $this->contactJob;
  440.     }
  441.     /**
  442.      * @param string $contactJob
  443.      */
  444.     public function setContactJob($contactJob)
  445.     {
  446.         $this->contactJob $contactJob;
  447.     }
  448.     /**
  449.      * @return string
  450.      */
  451.     public function getAccountantFirstName()
  452.     {
  453.         return $this->accountantFirstName;
  454.     }
  455.     /**
  456.      * @param string $accountantFirstName
  457.      */
  458.     public function setAccountantFirstName($accountantFirstName)
  459.     {
  460.         $this->accountantFirstName $accountantFirstName;
  461.     }
  462.     /**
  463.      * @return string
  464.      */
  465.     public function getAccountantLastName()
  466.     {
  467.         return $this->accountantLastName;
  468.     }
  469.     /**
  470.      * @param string $accountantLastName
  471.      */
  472.     public function setAccountantLastName($accountantLastName)
  473.     {
  474.         $this->accountantLastName $accountantLastName;
  475.     }
  476.     /**
  477.      * @return string
  478.      */
  479.     public function getAccountantEmail()
  480.     {
  481.         return $this->accountantEmail;
  482.     }
  483.     /**
  484.      * @param string $accountantEmail
  485.      */
  486.     public function setAccountantEmail($accountantEmail)
  487.     {
  488.         $this->accountantEmail $accountantEmail;
  489.     }
  490.     /**
  491.      * @return string
  492.      */
  493.     public function getAccountantPhone()
  494.     {
  495.         return $this->accountantPhone;
  496.     }
  497.     /**
  498.      * @param string $accountantPhone
  499.      */
  500.     public function setAccountantPhone($accountantPhone)
  501.     {
  502.         $this->accountantPhone $accountantPhone;
  503.     }
  504.     /**
  505.      * @return string
  506.      */
  507.     public function getAccountantJob()
  508.     {
  509.         return $this->accountantJob;
  510.     }
  511.     /**
  512.      * @param string $accountantJob
  513.      */
  514.     public function setAccountantJob($accountantJob)
  515.     {
  516.         $this->accountantJob $accountantJob;
  517.     }
  518.     /**
  519.      * @return string
  520.      */
  521.     public function getPicture()
  522.     {
  523.         return $this->picture;
  524.     }
  525.     /**
  526.      * @param string $picture
  527.      */
  528.     public function setPicture($picture)
  529.     {
  530.         $this->picture $picture;
  531.     }
  532.     /**
  533.      * @return bool
  534.      */
  535.     public function isManagerDpo()
  536.     {
  537.         return $this->managerDpo;
  538.     }
  539.     /**
  540.      * @param bool $managerDpo
  541.      */
  542.     public function setManagerDpo($managerDpo)
  543.     {
  544.         $this->managerDpo $managerDpo;
  545.     }
  546.     /**
  547.      * @return bool
  548.      */
  549.     public function isDemo()
  550.     {
  551.         return $this->demo;
  552.     }
  553.     /**
  554.      * @param bool $demo
  555.      */
  556.     public function setDemo($demo)
  557.     {
  558.         $this->demo $demo;
  559.     }
  560.     /**
  561.      * @return float
  562.      */
  563.     public function getCredit()
  564.     {
  565.         return $this->credit;
  566.     }
  567.     /**
  568.      * @param float $credit
  569.      */
  570.     public function setCredit($credit): void
  571.     {
  572.         $this->credit $credit;
  573.     }
  574.     /**
  575.      * @return int
  576.      */
  577.     public function getEmployeesNumber()
  578.     {
  579.         return $this->employeesNumber;
  580.     }
  581.     /**
  582.      * @param int $employeesNumber
  583.      */
  584.     public function setEmployeesNumber($employeesNumber)
  585.     {
  586.         $this->employeesNumber $employeesNumber;
  587.     }
  588.     /**
  589.      * @return string
  590.      */
  591.     public function getLanguage()
  592.     {
  593.         return $this->language;
  594.     }
  595.     /**
  596.      * @param string $language
  597.      */
  598.     public function setLanguage($language)
  599.     {
  600.         $this->language $language;
  601.     }
  602.     /**
  603.      * @return Manager
  604.      */
  605.     public function getManager()
  606.     {
  607.         return $this->manager;
  608.     }
  609.     /**
  610.      * @param Manager $manager
  611.      */
  612.     public function setManager($manager)
  613.     {
  614.         $this->manager $manager;
  615.     }
  616.     /**
  617.      * @return Manager
  618.      */
  619.     public function getLawyer()
  620.     {
  621.         return $this->lawyer;
  622.     }
  623.     /**
  624.      * @param Manager $lawyer
  625.      */
  626.     public function setLawyer($lawyer)
  627.     {
  628.         $this->lawyer $lawyer;
  629.     }
  630.     /**
  631.      * @return User
  632.      */
  633.     public function getParentUser()
  634.     {
  635.         return $this->parentUser;
  636.     }
  637.     /**
  638.      * @param User $parentUser
  639.      */
  640.     public function setParentUser($parentUser)
  641.     {
  642.         $this->parentUser $parentUser;
  643.     }
  644.     /**
  645.      * @return \Doctrine\Common\Collections\Collection
  646.      */
  647.     public function getChildrenUsers()
  648.     {
  649.         return $this->childrenUsers;
  650.     }
  651.     /**
  652.      * @param \Doctrine\Common\Collections\Collection $childrenUsers
  653.      */
  654.     public function setChildrenUsers($childrenUsers)
  655.     {
  656.         $this->childrenUsers $childrenUsers;
  657.     }
  658.     /**
  659.      * @return mixed
  660.      */
  661.     public function getAccount()
  662.     {
  663.         return $this->account;
  664.     }
  665.     /**
  666.      * @param mixed $account
  667.      */
  668.     public function setAccount($account)
  669.     {
  670.         $this->account $account;
  671.     }
  672.     /**
  673.      * @return Subscription
  674.      */
  675.     public function getCurrentSubscription()
  676.     {
  677.         return $this->currentSubscription;
  678.     }
  679.     /**
  680.      * @param Subscription $currentSubscription
  681.      */
  682.     public function setCurrentSubscription($currentSubscription)
  683.     {
  684.         $this->currentSubscription $currentSubscription;
  685.     }
  686.     /**
  687.      * @return \Doctrine\Common\Collections\Collection
  688.      */
  689.     public function getGroupTreatments(): \Doctrine\Common\Collections\Collection
  690.     {
  691.         return $this->groupTreatments;
  692.     }
  693.     /**
  694.      * @param \Doctrine\Common\Collections\Collection $groupTreatments
  695.      */
  696.     public function setGroupTreatments(\Doctrine\Common\Collections\Collection $groupTreatments): void
  697.     {
  698.         $this->groupTreatments $groupTreatments;
  699.     }
  700.     public function isMainGroupAgency() {
  701.         return count($this->getChildrenUsers()) > 0;
  702.     }
  703. }