src/AppBundle/AdminBundle/Entity/NotificationsPushToUsers.php line 289

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\NotificationsPushToUsersRepository")
  14.  * @ORM\Table(name="notifications_push_to_users")
  15.  * @ORM\HasLifecycleCallbacks()
  16.  */
  17. class NotificationsPushToUsers 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_push_to_users_users",
  29.      *      joinColumns={@ORM\JoinColumn(name="notifications_push_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=false)
  36.      */
  37.     private $title;
  38.     /**
  39.      * @ORM\Column(type="string", nullable=false, length=5000)
  40.      */
  41.     private $description;
  42.     /**
  43.      * @ORM\Column(type="string", nullable=true)
  44.      */
  45.     private $image;
  46.     /**
  47.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 1})
  48.      */
  49.     private $active true;
  50.     /**
  51.      * @ORM\Column(type="boolean", nullable=false)
  52.      */
  53.     private $is_notified false;
  54.     /**
  55.      * @var DateTime
  56.      * @ORM\Column(type="datetime", nullable=true)
  57.      */
  58.     private $schedule_at;
  59.     /**
  60.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  61.      */
  62.     private $send_to_all false;
  63.     /**
  64.      * @return mixed
  65.      */
  66.     public function getId()
  67.     {
  68.         return $this->id;
  69.     }
  70.     /**
  71.      * @return ArrayCollection
  72.      */
  73.     public function getUsers()
  74.     {
  75.         return $this->users;
  76.     }
  77.     /**
  78.      * @param ArrayCollection $users
  79.      */
  80.     public function setUsers($users)
  81.     {
  82.         $this->users $users;
  83.     }
  84.     /**
  85.      * @param User $user
  86.      *
  87.      * @return NotificationsPushToUsers
  88.      */
  89.     public function addUser(User $user) {
  90.         if (!$this->users->contains($user)) {
  91.             $this->users->add($user);
  92.         }
  93.         return $this;
  94.     }
  95.     /**
  96.      * @param User $user
  97.      */
  98.     public function removeUser(User $user) {
  99.         $this->users->removeElement($user);
  100.     }
  101.     /**
  102.      * @return mixed
  103.      */
  104.     public function getTitle()
  105.     {
  106.         return $this->title;
  107.     }
  108.     /**
  109.      * @param mixed $title
  110.      */
  111.     public function setTitle($title)
  112.     {
  113.         $this->title $title;
  114.     }
  115.     /**
  116.      * @return mixed
  117.      */
  118.     public function getDescription()
  119.     {
  120.         return $this->description;
  121.     }
  122.     /**
  123.      * @param mixed $description
  124.      */
  125.     public function setDescription($description)
  126.     {
  127.         $this->description $description;
  128.     }
  129.     /**
  130.      * @return mixed
  131.      */
  132.     public function getImage()
  133.     {
  134.         return $this->image;
  135.     }
  136.     /**
  137.      * @param mixed $image
  138.      */
  139.     public function setImage($image)
  140.     {
  141.         $this->image $image;
  142.     }
  143.     /**
  144.      * @return mixed
  145.      */
  146.     public function getActive()
  147.     {
  148.         return $this->active;
  149.     }
  150.     /**
  151.      * @param mixed $active
  152.      */
  153.     public function setActive($active)
  154.     {
  155.         $this->active $active;
  156.     }
  157.     /**
  158.      * @return bool
  159.      */
  160.     public function isIsNotified()
  161.     {
  162.         return $this->is_notified;
  163.     }
  164.     /**
  165.      * @param bool $is_notified
  166.      */
  167.     public function setIsNotified($is_notified)
  168.     {
  169.         $this->is_notified $is_notified;
  170.     }
  171.     /**
  172.      * @return mixed
  173.      */
  174.     public function getScheduleAt()
  175.     {
  176.         return $this->schedule_at;
  177.     }
  178.     /**
  179.      * @param mixed $schedule_at
  180.      */
  181.     public function setScheduleAt($schedule_at)
  182.     {
  183.         $this->schedule_at $schedule_at;
  184.     }
  185.     /**
  186.      * @return bool
  187.      */
  188.     public function isSendToAll()
  189.     {
  190.         return $this->send_to_all;
  191.     }
  192.     /**
  193.      * @param bool $send_to_all
  194.      */
  195.     public function setSendToAll(bool $send_to_all)
  196.     {
  197.         $this->send_to_all $send_to_all;
  198.     }
  199.     public function jsonSerialize()
  200.     {
  201.         return array(
  202.             'id' => $this->id,
  203.             'title' => $this->title,
  204.             'description' => $this->description,
  205.             'image' => $this->image,
  206.             'active' => $this->active,
  207.             'send_to_all' => $this->send_to_all,
  208.             'is_notified' => $this->is_notified,
  209.             'schedule_at' => $this->schedule_at != NULL $this->schedule_at->format('Y-m-d H:i:s') : '',
  210.             'created' => $this->createdAt->format('Y-m-d H:i:s'),
  211.             'updated' => $this->updatedAt->format('Y-m-d H:i:s'),
  212.         );
  213.     }
  214.     /**
  215.      * @var DateTime $created
  216.      *
  217.      * @ORM\Column(type="datetime", nullable=false)
  218.      */
  219.     protected $createdAt;
  220.     /**
  221.      * @var DateTime $updated
  222.      *
  223.      * @ORM\Column(type="datetime", nullable=false)
  224.      */
  225.     protected $updatedAt;
  226.     /**
  227.      * @return DateTime
  228.      */
  229.     public function getCreatedAt()
  230.     {
  231.         return $this->createdAt;
  232.     }
  233.     /**
  234.      * @return DateTime
  235.      */
  236.     public function getUpdatedAt()
  237.     {
  238.         return $this->updatedAt;
  239.     }
  240.     public function setUpdatedAt($updatedAt)
  241.     {
  242.         $this->updatedAt $updatedAt;
  243.         return $this;
  244.     }
  245.     /**
  246.      * @ORM\PrePersist
  247.      */
  248.     public function setCreatedAt()
  249.     {
  250.         $this->createdAt = new DateTime();
  251.         $this->updatedAt = new DateTime();
  252.         return $this;
  253.     }
  254.     /**
  255.      * @ORM\PreUpdate
  256.      */
  257.     public function setUpdatedAtValue() {
  258.         $this->updatedAt = new DateTime();
  259.     }
  260.     public function __construct() {
  261.         $this->users = new ArrayCollection();
  262.     }
  263. }