src/AppBundle/AdminBundle/Entity/NotificationsSMSToUsers.php line 266

Open in your IDE?
  1. <?php
  2. namespace App\AppBundle\AdminBundle\Entity;
  3. use App\AppBundle\MainBundle\Entity\User;
  4. use DateTime;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use JsonSerializable;
  9. use Symfony\Component\Validator\Constraints as Assert;
  10. /**
  11.  * AddOns
  12.  *
  13.  * @ORM\Entity(repositoryClass="App\AppBundle\AdminBundle\Repository\NotificationsSMSToUsersRepository")
  14.  * @ORM\Table(name="notifications_sms_to_users")
  15.  * @ORM\HasLifecycleCallbacks()
  16.  */
  17. class NotificationsSMSToUsers implements JsonSerializable
  18. {
  19.     /**
  20.      * @ORM\Column(type="integer")
  21.      * @ORM\Id
  22.      * @ORM\GeneratedValue(strategy="AUTO")
  23.      */
  24.     private $id;
  25.     /**
  26.      * @var ArrayCollection
  27.      * @ORM\ManyToMany(targetEntity="App\AppBundle\MainBundle\Entity\User")
  28.      * @ORM\JoinTable(name="notifications_sms_to_users_users",
  29.      *      joinColumns={@ORM\JoinColumn(name="notifications_sms_to_users_id", referencedColumnName="id")},
  30.      *      inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}
  31.      *      )
  32.      */
  33.     private $users;
  34.     /**
  35.      * @ORM\Column(type="string", nullable=true)
  36.      */
  37.     private $other_phone_numbers;
  38.     /**
  39.      * @ORM\Column(type="string", nullable=false, length=5000)
  40.      */
  41.     private $description;
  42.     /**
  43.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 1})
  44.      */
  45.     private $active true;
  46.     /**
  47.      * @ORM\Column(type="boolean", nullable=false)
  48.      */
  49.     private $is_notified false;
  50.     /**
  51.      * @var DateTime
  52.      * @ORM\Column(type="datetime", nullable=true)
  53.      */
  54.     private $schedule_at;
  55.     /**
  56.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  57.      */
  58.     private $send_to_all false;
  59.     /**
  60.      * @return mixed
  61.      */
  62.     public function getId()
  63.     {
  64.         return $this->id;
  65.     }
  66.     /**
  67.      * @return ArrayCollection
  68.      */
  69.     public function getUsers()
  70.     {
  71.         return $this->users;
  72.     }
  73.     /**
  74.      * @param ArrayCollection $users
  75.      */
  76.     public function setUsers($users)
  77.     {
  78.         $this->users $users;
  79.     }
  80.     /**
  81.      * @param User $user
  82.      *
  83.      * @return NotificationsSMSToUsers
  84.      */
  85.     public function addUser(User $user) {
  86.         if (!$this->users->contains($user)) {
  87.             $this->users->add($user);
  88.         }
  89.         return $this;
  90.     }
  91.     /**
  92.      * @param User $user
  93.      */
  94.     public function removeUser(User $user) {
  95.         $this->users->removeElement($user);
  96.     }
  97.     /**
  98.      * @return mixed
  99.      */
  100.     public function getDescription()
  101.     {
  102.         return $this->description;
  103.     }
  104.     /**
  105.      * @param mixed $description
  106.      */
  107.     public function setDescription($description)
  108.     {
  109.         $this->description $description;
  110.     }
  111.     /**
  112.      * @return mixed
  113.      */
  114.     public function getActive()
  115.     {
  116.         return $this->active;
  117.     }
  118.     /**
  119.      * @param mixed $active
  120.      */
  121.     public function setActive($active)
  122.     {
  123.         $this->active $active;
  124.     }
  125.     /**
  126.      * @return bool
  127.      */
  128.     public function isIsNotified()
  129.     {
  130.         return $this->is_notified;
  131.     }
  132.     /**
  133.      * @param bool $is_notified
  134.      */
  135.     public function setIsNotified($is_notified)
  136.     {
  137.         $this->is_notified $is_notified;
  138.     }
  139.     /**
  140.      * @return mixed
  141.      */
  142.     public function getScheduleAt()
  143.     {
  144.         return $this->schedule_at;
  145.     }
  146.     /**
  147.      * @param mixed $schedule_at
  148.      */
  149.     public function setScheduleAt($schedule_at)
  150.     {
  151.         $this->schedule_at $schedule_at;
  152.     }
  153.     /**
  154.      * @return mixed
  155.      */
  156.     public function getOtherPhoneNumbers()
  157.     {
  158.         return $this->other_phone_numbers;
  159.     }
  160.     /**
  161.      * @param mixed $other_phone_numbers
  162.      */
  163.     public function setOtherPhoneNumbers($other_phone_numbers)
  164.     {
  165.         $this->other_phone_numbers $other_phone_numbers;
  166.     }
  167.     /**
  168.      * @return bool
  169.      */
  170.     public function isSendToAll()
  171.     {
  172.         return $this->send_to_all;
  173.     }
  174.     /**
  175.      * @param bool $send_to_all
  176.      */
  177.     public function setSendToAll(bool $send_to_all)
  178.     {
  179.         $this->send_to_all $send_to_all;
  180.     }
  181.     public function jsonSerialize()
  182.     {
  183.         return array(
  184.             'id' => $this->id,
  185.             'other_phone_numbers' => $this->other_phone_numbers,
  186.             'description' => $this->description,
  187.             'active' => $this->active,
  188.             'send_to_all' => $this->send_to_all,
  189.             'is_notified' => $this->is_notified,
  190.             'schedule_at' => $this->schedule_at != NULL $this->schedule_at->format('Y-m-d H:i:s') : '',
  191.             'created' => $this->createdAt->format('Y-m-d H:i:s'),
  192.             'updated' => $this->updatedAt->format('Y-m-d H:i:s'),
  193.         );
  194.     }
  195.     /**
  196.      * @var DateTime $created
  197.      *
  198.      * @ORM\Column(type="datetime", nullable=false)
  199.      */
  200.     protected $createdAt;
  201.     /**
  202.      * @var DateTime $updated
  203.      *
  204.      * @ORM\Column(type="datetime", nullable=false)
  205.      */
  206.     protected $updatedAt;
  207.     /**
  208.      * @return DateTime
  209.      */
  210.     public function getCreatedAt()
  211.     {
  212.         return $this->createdAt;
  213.     }
  214.     /**
  215.      * @return DateTime
  216.      */
  217.     public function getUpdatedAt()
  218.     {
  219.         return $this->updatedAt;
  220.     }
  221.     public function setUpdatedAt($updatedAt)
  222.     {
  223.         $this->updatedAt $updatedAt;
  224.         return $this;
  225.     }
  226.     /**
  227.      * @ORM\PrePersist
  228.      */
  229.     public function setCreatedAt()
  230.     {
  231.         $this->createdAt = new DateTime();
  232.         $this->updatedAt = new DateTime();
  233.         return $this;
  234.     }
  235.     /**
  236.      * @ORM\PreUpdate
  237.      */
  238.     public function setUpdatedAtValue() {
  239.         $this->updatedAt = new DateTime();
  240.     }
  241.     public function __construct() {
  242.         $this->users = new ArrayCollection();
  243.     }
  244. }