src/AppBundle/AdminBundle/Entity/NotificationsEmailToUsers.php line 330

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