vendor/uvdesk/core-framework/Entity/Ticket.php line 13

Open in your IDE?
  1. <?php
  2. namespace Webkul\UVDesk\CoreFrameworkBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. /**
  5.  * Ticket
  6.  * @ORM\Entity(repositoryClass="Webkul\UVDesk\CoreFrameworkBundle\Repository\TicketRepository")
  7.  * @ORM\HasLifecycleCallbacks
  8.  * @ORM\Table(name="uv_ticket")
  9.  */
  10. class Ticket
  11. {
  12.     const AGENT_GLOBAL_ACCESS 'TICKET_GLOBAL';
  13.     const AGENT_GROUP_ACCESS 'TICKET_GROUP';
  14.     const AGENT_TEAM_ACCESS 'TICKET_TEAM';
  15.     const AGENT_INDIVIDUAL_ACCESS 'TICKET_INDIVIDUAL';
  16.     /**
  17.      * @var integer
  18.      * @ORM\Id()
  19.      * @ORM\Column(type="integer")
  20.      * @ORM\GeneratedValue(strategy="AUTO")
  21.      */
  22.     private $id;
  23.     /**
  24.      * @var string
  25.      * @ORM\Column(type="string", length=191)
  26.      */
  27.     private $source;
  28.     /**
  29.      * @var string
  30.      * @ORM\Column(type="string", length=191, nullable=true)
  31.      */
  32.     private $mailboxEmail;
  33.     /**
  34.      * @var string
  35.      * @ORM\Column(type="text", nullable=true)
  36.      */
  37.     private $subject;
  38.     /**
  39.      * @var string
  40.      * @ORM\Column(type="text", nullable=true)
  41.      */
  42.     private $referenceIds;
  43.     /**
  44.      * @var boolean
  45.      * @ORM\Column(type="boolean", options={"default": true})
  46.      */
  47.     private $isNew true;
  48.     /**
  49.      * @var boolean
  50.      * @ORM\Column(type="boolean", options={"default": false})
  51.      */
  52.     private $isReplied false;
  53.     /**
  54.      * @var boolean
  55.      * @ORM\Column(type="boolean", options={"default": true})
  56.      */
  57.     private $isReplyEnabled true;
  58.     /**
  59.      * @var boolean
  60.      * @ORM\Column(type="boolean", options={"default": false})
  61.      */
  62.     private $isStarred false;
  63.     /**
  64.      * @var boolean
  65.      * @ORM\Column(type="boolean", options={"default": false})
  66.      */
  67.     private $isTrashed false;
  68.     /**
  69.      * @var boolean
  70.      * @ORM\Column(type="boolean", options={"default": false})
  71.      */
  72.     private $isAgentViewed false;
  73.     /**
  74.      * @var boolean
  75.      * @ORM\Column(type="boolean", options={"default": false})
  76.      */
  77.     private $isCustomerViewed false;
  78.     /**
  79.      * @var \DateTime
  80.      * @ORM\Column(type="datetime")
  81.      */
  82.     private $createdAt;
  83.     /**
  84.      * @var \DateTime
  85.      * @ORM\Column(type="datetime")
  86.      */
  87.     private $updatedAt;
  88.     /**
  89.      * @var \DateTime
  90.      * @ORM\Column(type="datetime", nullable=true)
  91.      */
  92.     private $customerRepliedAt;
  93.     /**
  94.      * @var \Doctrine\Common\Collections\Collection
  95.      * @ORM\OneToMany(targetEntity="Thread", mappedBy="ticket")
  96.      */
  97.     private $threads;
  98.     /**
  99.      * @var \Doctrine\Common\Collections\Collection
  100.      * @ORM\OneToMany(targetEntity="TicketRating", mappedBy="ticket")
  101.      */
  102.     private $ratings;
  103.     /**
  104.      * @var \Doctrine\Common\Collections\Collection
  105.      * @ORM\ManyToMany(targetEntity="User")
  106.      * @ORM\JoinTable(name="uv_tickets_collaborators",
  107.      *      joinColumns={@ORM\JoinColumn(name="ticket_id", referencedColumnName="id", onDelete="CASCADE")},
  108.      *      inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="CASCADE")}
  109.      * )
  110.      */
  111.     private $collaborators;
  112.     /**
  113.      * @var \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketStatus
  114.      * @ORM\ManyToOne(targetEntity="TicketStatus")
  115.      * @ORM\JoinColumn(name="status_id", referencedColumnName="id")
  116.      */
  117.     private $status;
  118.     /**
  119.      * @var \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketPriority
  120.      * @ORM\ManyToOne(targetEntity="TicketPriority")
  121.      * @ORM\JoinColumn(name="priority_id", referencedColumnName="id")
  122.      */
  123.     private $priority;
  124.     /**
  125.      * @var string
  126.      * @ORM\Column(type="text", nullable=true)
  127.      */
  128.     private $outlookConversationId;
  129.     /**
  130.      * @var \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketType
  131.      * @ORM\ManyToOne(targetEntity="TicketType")
  132.      * @ORM\JoinColumn(name="type_id", referencedColumnName="id", nullable=true, onDelete="SET NULL")
  133.      */
  134.     private $type;
  135.     /**
  136.      * @var \Webkul\UVDesk\CoreFrameworkBundle\Entity\User
  137.      * @ORM\ManyToOne(targetEntity="User")
  138.      * @ORM\JoinColumn(name="customer_id", referencedColumnName="id", onDelete="CASCADE")
  139.      */
  140.     private $customer;
  141.     /**
  142.      * @var \Webkul\UVDesk\CoreFrameworkBundle\Entity\User
  143.      * @ORM\ManyToOne(targetEntity="User")
  144.      * @ORM\JoinColumn(name="agent_id", referencedColumnName="id", onDelete="SET NULL", nullable=true)
  145.      */
  146.     private $agent;
  147.     /**
  148.      * @var \Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportGroup
  149.      * @ORM\ManyToOne(targetEntity="SupportGroup", inversedBy="tickets")
  150.      * @ORM\JoinColumn(name="group_id", referencedColumnName="id", onDelete="SET NULL", nullable=true)
  151.      */
  152.     private $supportGroup;
  153.     /**
  154.      * @var \Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportTeam
  155.      * @ORM\ManyToOne(targetEntity="SupportTeam")
  156.      * @ORM\JoinColumn(name="subGroup_id", referencedColumnName="id", nullable=true, onDelete="SET NULL")
  157.      */
  158.     private $supportTeam;
  159.     /**
  160.      * @var \Doctrine\Common\Collections\Collection
  161.      * @ORM\ManyToMany(targetEntity="Tag")
  162.      * @ORM\JoinTable(name="uv_tickets_tags",
  163.      *      joinColumns={@ORM\JoinColumn(name="ticket_id", referencedColumnName="id", onDelete="CASCADE")},
  164.      *      inverseJoinColumns={@ORM\JoinColumn(name="tag_id", referencedColumnName="id", onDelete="CASCADE")}
  165.      * )
  166.      */
  167.     private $supportTags;
  168.     /**
  169.      * @var \Doctrine\Common\Collections\Collection
  170.      * @ORM\ManyToMany(targetEntity="SupportLabel")
  171.      * @ORM\JoinTable(name="uv_tickets_labels",
  172.      *      joinColumns={@ORM\JoinColumn(name="ticket_id", referencedColumnName="id", onDelete="CASCADE")},
  173.      *      inverseJoinColumns={@ORM\JoinColumn(name="label_id", referencedColumnName="id", onDelete="CASCADE")}
  174.      * )
  175.      */
  176.     private $supportLabels;
  177.     /**
  178.      * @var integer
  179.      * @ORM\Column(type="integer", nullable=true)
  180.      */
  181.     private $responseSlaLevel;
  182.     /**
  183.      * @var integer
  184.      * @ORM\Column(type="integer", nullable=true)
  185.      */
  186.     private $resolveSlaLevel;
  187.     /**
  188.      * @var string
  189.      * @ORM\Column(type="string", nullable=true)
  190.      */
  191.     private $country;
  192.     /**
  193.      * @var string
  194.      * @ORM\Column(type="string", nullable=true)
  195.      */
  196.     private $skipUpdatedAt false;
  197.     /**
  198.      * Constructor
  199.      */
  200.     public function __construct()
  201.     {
  202.         $this->threads = new \Doctrine\Common\Collections\ArrayCollection();
  203.         $this->ratings = new \Doctrine\Common\Collections\ArrayCollection();
  204.         $this->supportTags = new \Doctrine\Common\Collections\ArrayCollection();
  205.         $this->supportLabels = new \Doctrine\Common\Collections\ArrayCollection();
  206.     }
  207.     /**
  208.      * Set outlookConversationId
  209.      *
  210.      * @param string $outlookConversationId
  211.      *
  212.      * @return Ticket
  213.      */
  214.     public function setOutlookConversationId($outlookConversationId)
  215.     {
  216.         $this->outlookConversationId $outlookConversationId;
  217.         return $this;
  218.     }
  219.     /**
  220.      * Get outlookConversationId
  221.      *
  222.      * @return string
  223.      */
  224.     public function getOutlookConversationId()
  225.     {
  226.         return $this->outlookConversationId;
  227.     }
  228.     /**
  229.      * Get id
  230.      *
  231.      * @return integer
  232.      */
  233.     public function getId()
  234.     {
  235.         return $this->id;
  236.     }
  237.     /**
  238.      * Set country
  239.      *
  240.      * @param string $country
  241.      *
  242.      * @return Ticket
  243.      */
  244.     public function setCountry($country)
  245.     {
  246.         $this->country $country;
  247.         return $this;
  248.     }
  249.     /**
  250.      * Get country
  251.      */
  252.     public function getCountry()
  253.     {
  254.         return $this->country;
  255.     }
  256.     /**
  257.      * Set source
  258.      *
  259.      * @param string $source
  260.      *
  261.      * @return Ticket
  262.      */
  263.     public function setSource($source)
  264.     {
  265.         $this->source $source;
  266.         return $this;
  267.     }
  268.     /**
  269.      * Get source
  270.      *
  271.      * @return string
  272.      */
  273.     public function getSource()
  274.     {
  275.         return $this->source;
  276.     }
  277.     /**
  278.      * Set mailboxEmail
  279.      *
  280.      * @param string $mailboxEmail
  281.      *
  282.      * @return Ticket
  283.      */
  284.     public function setMailboxEmail($mailboxEmail)
  285.     {
  286.         $this->mailboxEmail $mailboxEmail;
  287.         return $this;
  288.     }
  289.     /**
  290.      * Get mailboxEmail
  291.      *
  292.      * @return string
  293.      */
  294.     public function getMailboxEmail()
  295.     {
  296.         return $this->mailboxEmail;
  297.     }
  298.     /**
  299.      * Set subject
  300.      *
  301.      * @param string $subject
  302.      *
  303.      * @return Ticket
  304.      */
  305.     public function setSubject($subject)
  306.     {
  307.         $this->subject $subject;
  308.         return $this;
  309.     }
  310.     /**
  311.      * Get subject
  312.      *
  313.      * @return string
  314.      */
  315.     public function getSubject()
  316.     {
  317.         return $this->subject;
  318.     }
  319.     /**
  320.      * Set referenceIds
  321.      *
  322.      * @param string $referenceIds
  323.      *
  324.      * @return Ticket
  325.      */
  326.     public function setReferenceIds($referenceIds)
  327.     {
  328.         $this->referenceIds $referenceIds;
  329.         return $this;
  330.     }
  331.     /**
  332.      * Get referenceIds
  333.      *
  334.      * @return string
  335.      */
  336.     public function getReferenceIds()
  337.     {
  338.         return $this->referenceIds;
  339.     }
  340.     /**
  341.      * Set isNew
  342.      *
  343.      * @param boolean $isNew
  344.      *
  345.      * @return Ticket
  346.      */
  347.     public function setIsNew($isNew)
  348.     {
  349.         $this->isNew $isNew;
  350.         return $this;
  351.     }
  352.     /**
  353.      * Get isNew
  354.      *
  355.      * @return boolean
  356.      */
  357.     public function getIsNew()
  358.     {
  359.         return $this->isNew;
  360.     }
  361.     /**
  362.      * Set isReplied
  363.      *
  364.      * @param boolean $isReplied
  365.      *
  366.      * @return Ticket
  367.      */
  368.     public function setIsReplied($isReplied)
  369.     {
  370.         $this->isReplied $isReplied;
  371.         return $this;
  372.     }
  373.     /**
  374.      * Get isReplied
  375.      *
  376.      * @return boolean
  377.      */
  378.     public function getIsReplied()
  379.     {
  380.         return $this->isReplied;
  381.     }
  382.     /**
  383.      * Set isReplyEnabled
  384.      *
  385.      * @param boolean $isReplyEnabled
  386.      *
  387.      * @return Ticket
  388.      */
  389.     public function setIsReplyEnabled($isReplyEnabled)
  390.     {
  391.         $this->isReplyEnabled $isReplyEnabled;
  392.         return $this;
  393.     }
  394.     /**
  395.      * Get isReplyEnabled
  396.      *
  397.      * @return boolean
  398.      */
  399.     public function getIsReplyEnabled()
  400.     {
  401.         return $this->isReplyEnabled;
  402.     }
  403.     /**
  404.      * Set isStarred
  405.      *
  406.      * @param boolean $isStarred
  407.      *
  408.      * @return Ticket
  409.      */
  410.     public function setIsStarred($isStarred)
  411.     {
  412.         $this->isStarred $isStarred;
  413.         return $this;
  414.     }
  415.     /**
  416.      * Get isStarred
  417.      *
  418.      * @return boolean
  419.      */
  420.     public function getIsStarred()
  421.     {
  422.         return $this->isStarred;
  423.     }
  424.     /**
  425.      * Set isTrashed
  426.      *
  427.      * @param boolean $isTrashed
  428.      *
  429.      * @return Ticket
  430.      */
  431.     public function setIsTrashed($isTrashed)
  432.     {
  433.         $this->isTrashed $isTrashed;
  434.         return $this;
  435.     }
  436.     /**
  437.      * Get isTrashed
  438.      *
  439.      * @return boolean
  440.      */
  441.     public function getIsTrashed()
  442.     {
  443.         return $this->isTrashed;
  444.     }
  445.     /**
  446.      * Set isAgentViewed
  447.      *
  448.      * @param boolean $isAgentViewed
  449.      *
  450.      * @return Ticket
  451.      */
  452.     public function setIsAgentViewed($isAgentViewed)
  453.     {
  454.         $this->isAgentViewed $isAgentViewed;
  455.         return $this;
  456.     }
  457.     /**
  458.      * Get isAgentViewed
  459.      *
  460.      * @return boolean
  461.      */
  462.     public function getIsAgentViewed()
  463.     {
  464.         return $this->isAgentViewed;
  465.     }
  466.     /**
  467.      * Set isCustomerViewed
  468.      *
  469.      * @param boolean $isCustomerViewed
  470.      *
  471.      * @return Ticket
  472.      */
  473.     public function setIsCustomerViewed($isCustomerViewed)
  474.     {
  475.         $this->isCustomerViewed $isCustomerViewed;
  476.         return $this;
  477.     }
  478.     /**
  479.      * Get isCustomerViewed
  480.      *
  481.      * @return boolean
  482.      */
  483.     public function getIsCustomerViewed()
  484.     {
  485.         return $this->isCustomerViewed;
  486.     }
  487.     /**
  488.      * Set createdAt
  489.      *
  490.      * @param \DateTime $createdAt
  491.      *
  492.      * @return Ticket
  493.      */
  494.     public function setCreatedAt($createdAt)
  495.     {
  496.         $this->createdAt $createdAt;
  497.         return $this;
  498.     }
  499.     /**
  500.      * Get createdAt
  501.      *
  502.      * @return \DateTime
  503.      */
  504.     public function getCreatedAt()
  505.     {
  506.         return $this->createdAt;
  507.     }
  508.     /**
  509.      * Set updatedAt
  510.      *
  511.      * @param \DateTime $updatedAt
  512.      *
  513.      * @return Ticket
  514.      */
  515.     public function setUpdatedAt($updatedAt)
  516.     {
  517.         if (! $this->skipUpdatedAt) {
  518.             $this->updatedAt $updatedAt;
  519.         }
  520.         return $this;
  521.     }
  522.     /**
  523.      * Get updatedAt
  524.      *
  525.      * @return \DateTime
  526.      */
  527.     public function getUpdatedAt()
  528.     {
  529.         return $this->updatedAt;
  530.     }
  531.     public function setSkipUpdatedAt(bool $skip): void
  532.     {
  533.         $this->skipUpdatedAt $skip;
  534.     }
  535.     public function shouldSkipUpdatedAt(): bool
  536.     {
  537.         return $this->skipUpdatedAt;
  538.     }
  539.     /**
  540.      * Set customerRepliedAt
  541.      *
  542.      * @param \DateTime $customerRepliedAt
  543.      *
  544.      * @return Ticket
  545.      */
  546.     public function setCustomerRepliedAt($customerRepliedAt)
  547.     {
  548.         $this->customerRepliedAt $customerRepliedAt;
  549.         return $this;
  550.     }
  551.     /**
  552.      * Get customerRepliedAt
  553.      *
  554.      * @return \DateTime
  555.      */
  556.     public function getCustomerRepliedAt()
  557.     {
  558.         return $this->customerRepliedAt;
  559.     }
  560.     /**
  561.      * Set resolveSlaLevel
  562.      *
  563.      * @param \integer $resolveSlaLevel
  564.      *
  565.      * @return Ticket
  566.      */
  567.     public function setResolveSlaLevel($resolveSlaLevel)
  568.     {
  569.         $this->resolveSlaLevel $resolveSlaLevel;
  570.         return $this;
  571.     }
  572.     /**
  573.      * Get resolveSlaLevel
  574.      *
  575.      * @return \integer
  576.      */
  577.     public function getResolveSlaLevel()
  578.     {
  579.         return $this->resolveSlaLevel;
  580.     }
  581.     /**
  582.      * Set responseSlaLevel
  583.      *
  584.      * @param \integer $responseSlaLevel
  585.      *
  586.      * @return Ticket
  587.      */
  588.     public function setResponseSlaLevel($responseSlaLevel)
  589.     {
  590.         $this->responseSlaLevel $responseSlaLevel;
  591.         return $this;
  592.     }
  593.     /**
  594.      * Get responseSlaLevel
  595.      *
  596.      * @return \integer
  597.      */
  598.     public function getResponseSlaLevel()
  599.     {
  600.         return $this->responseSlaLevel;
  601.     }
  602.     /**
  603.      * Add thread
  604.      *
  605.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\Thread $thread
  606.      *
  607.      * @return Ticket
  608.      */
  609.     public function addThread(\Webkul\UVDesk\CoreFrameworkBundle\Entity\Thread $thread)
  610.     {
  611.         $this->threads[] = $thread;
  612.         return $this;
  613.     }
  614.     /**
  615.      * Remove thread
  616.      *
  617.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\Thread $thread
  618.      */
  619.     public function removeThread(\Webkul\UVDesk\CoreFrameworkBundle\Entity\Thread $thread)
  620.     {
  621.         $this->threads->removeElement($thread);
  622.     }
  623.     /**
  624.      * Get threads
  625.      *
  626.      * @return \Doctrine\Common\Collections\Collection
  627.      */
  628.     public function getThreads()
  629.     {
  630.         return $this->threads;
  631.     }
  632.     /**
  633.      * Add rating
  634.      *
  635.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketRating $rating
  636.      *
  637.      * @return Ticket
  638.      */
  639.     public function addRating(\Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketRating $rating)
  640.     {
  641.         $this->ratings[] = $rating;
  642.         return $this;
  643.     }
  644.     /**
  645.      * Remove rating
  646.      *
  647.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketRating $rating
  648.      */
  649.     public function removeRating(\Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketRating $rating)
  650.     {
  651.         $this->ratings->removeElement($rating);
  652.     }
  653.     /**
  654.      * Get ratings
  655.      *
  656.      * @return \Doctrine\Common\Collections\Collection
  657.      */
  658.     public function getRatings()
  659.     {
  660.         return $this->ratings;
  661.     }
  662.     /**
  663.      * Add collaborators
  664.      *
  665.      * @param \Webkul\UserBundle\Entity\User $collaborators
  666.      * @return Ticket
  667.      */
  668.     public function addCollaborator(\Webkul\UVDesk\CoreFrameworkBundle\Entity\User $collaborators)
  669.     {
  670.         $this->collaborators[] = $collaborators;
  671.         return $this;
  672.     }
  673.     /**
  674.      * Remove collaborators
  675.      *
  676.      * @param \Webkul\UserBundle\Entity\User $collaborators
  677.      */
  678.     public function removeCollaborator(\Webkul\UVDesk\CoreFrameworkBundle\Entity\User $collaborators)
  679.     {
  680.         $this->collaborators->removeElement($collaborators);
  681.     }
  682.     /**
  683.      * Get collaborators
  684.      *
  685.      * @return \Doctrine\Common\Collections\Collection
  686.      */
  687.     public function getCollaborators()
  688.     {
  689.         return $this->collaborators;
  690.     }
  691.     /**
  692.      * Set status
  693.      *
  694.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketStatus $status
  695.      *
  696.      * @return Ticket
  697.      */
  698.     public function setStatus(\Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketStatus $status null)
  699.     {
  700.         $this->status $status;
  701.         return $this;
  702.     }
  703.     /**
  704.      * Get status
  705.      *
  706.      * @return \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketStatus
  707.      */
  708.     public function getStatus()
  709.     {
  710.         return $this->status;
  711.     }
  712.     /**
  713.      * Set priority
  714.      *
  715.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketPriority $priority
  716.      *
  717.      * @return Ticket
  718.      */
  719.     public function setPriority(\Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketPriority $priority null)
  720.     {
  721.         $this->priority $priority;
  722.         return $this;
  723.     }
  724.     /**
  725.      * Get priority
  726.      *
  727.      * @return \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketPriority
  728.      */
  729.     public function getPriority()
  730.     {
  731.         return $this->priority;
  732.     }
  733.     /**
  734.      * Set type
  735.      *
  736.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketType $type
  737.      *
  738.      * @return Ticket
  739.      */
  740.     public function setType(\Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketType $type null)
  741.     {
  742.         $this->type $type;
  743.         return $this;
  744.     }
  745.     /**
  746.      * Get type
  747.      *
  748.      * @return \Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketType
  749.      */
  750.     public function getType()
  751.     {
  752.         return $this->type;
  753.     }
  754.     /**
  755.      * Set customer
  756.      *
  757.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\User $customer
  758.      *
  759.      * @return Ticket
  760.      */
  761.     public function setCustomer(\Webkul\UVDesk\CoreFrameworkBundle\Entity\User $customer null)
  762.     {
  763.         $this->customer $customer;
  764.         return $this;
  765.     }
  766.     /**
  767.      * Get customer
  768.      *
  769.      * @return \Webkul\UVDesk\CoreFrameworkBundle\Entity\User
  770.      */
  771.     public function getCustomer()
  772.     {
  773.         return $this->customer;
  774.     }
  775.     /**
  776.      * Set agent
  777.      *
  778.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\User $agent
  779.      *
  780.      * @return Ticket
  781.      */
  782.     public function setAgent(\Webkul\UVDesk\CoreFrameworkBundle\Entity\User $agent null)
  783.     {
  784.         $this->agent $agent;
  785.         return $this;
  786.     }
  787.     /**
  788.      * Get agent
  789.      *
  790.      * @return \Webkul\UVDesk\CoreFrameworkBundle\Entity\User
  791.      */
  792.     public function getAgent()
  793.     {
  794.         return $this->agent;
  795.     }
  796.     /**
  797.      * Set supportGroup
  798.      *
  799.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportGroup $supportGroup
  800.      *
  801.      * @return Ticket
  802.      */
  803.     public function setSupportGroup(\Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportGroup $supportGroup null)
  804.     {
  805.         $this->supportGroup $supportGroup;
  806.         return $this;
  807.     }
  808.     /**
  809.      * Get supportGroup
  810.      *
  811.      * @return \Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportGroup
  812.      */
  813.     public function getSupportGroup()
  814.     {
  815.         return $this->supportGroup;
  816.     }
  817.     /**
  818.      * Set supportTeam
  819.      *
  820.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportTeam $supportTeam
  821.      *
  822.      * @return Ticket
  823.      */
  824.     public function setSupportTeam(\Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportTeam $supportTeam null)
  825.     {
  826.         $this->supportTeam $supportTeam;
  827.         return $this;
  828.     }
  829.     /**
  830.      * Get supportTeam
  831.      *
  832.      * @return \Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportTeam
  833.      */
  834.     public function getSupportTeam()
  835.     {
  836.         return $this->supportTeam;
  837.     }
  838.     /**
  839.      * Add supportTag
  840.      *
  841.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\Tag $supportTag
  842.      *
  843.      * @return Ticket
  844.      */
  845.     public function addSupportTag(\Webkul\UVDesk\CoreFrameworkBundle\Entity\Tag $supportTag)
  846.     {
  847.         $this->supportTags[] = $supportTag;
  848.         return $this;
  849.     }
  850.     /**
  851.      * Remove supportTag
  852.      *
  853.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\Tag $supportTag
  854.      */
  855.     public function removeSupportTag(\Webkul\UVDesk\CoreFrameworkBundle\Entity\Tag $supportTag)
  856.     {
  857.         $this->supportTags->removeElement($supportTag);
  858.     }
  859.     /**
  860.      * Get supportTags
  861.      *
  862.      * @return \Doctrine\Common\Collections\Collection
  863.      */
  864.     public function getSupportTags()
  865.     {
  866.         return $this->supportTags;
  867.     }
  868.     /**
  869.      * Add supportLabel
  870.      *
  871.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportLabel $supportLabel
  872.      *
  873.      * @return Ticket
  874.      */
  875.     public function addSupportLabel(\Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportLabel $supportLabel)
  876.     {
  877.         $this->supportLabels[] = $supportLabel;
  878.         return $this;
  879.     }
  880.     /**
  881.      * Remove supportLabel
  882.      *
  883.      * @param \Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportLabel $supportLabel
  884.      */
  885.     public function removeSupportLabel(\Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportLabel $supportLabel)
  886.     {
  887.         $this->supportLabels->removeElement($supportLabel);
  888.     }
  889.     /**
  890.      * Get supportLabels
  891.      *
  892.      * @return \Doctrine\Common\Collections\Collection
  893.      */
  894.     public function getSupportLabels()
  895.     {
  896.         return $this->supportLabels;
  897.     }
  898.     /**
  899.      * Get formatted $createdAt
  900.      *
  901.      * @return \DateTime
  902.      */
  903.     public function getFormatedCreatedAt()
  904.     {
  905.         return $this->formatedCreatedAt;
  906.     }
  907. }