Example #1
0
 /**
  * @param Ticket $ticket
  */
 public function markTicketIsRead(Ticket $ticket, User $currentUser)
 {
     if (!$ticket->getIsRead() && $ticket->getLastUser() !== $currentUser) {
         $ticket->setIsRead(true);
         $this->om->flush();
     }
 }
Example #2
0
 /**
  * @param Ticket $ticket
  *
  * @return mixed|void
  */
 public function prePersist($ticket)
 {
     if ($ticket->getMessages()->count() > 0) {
         /* @var Message $message */
         $message = $ticket->getMessages()->first();
         $message->setUser($this->tokenStorage->getToken()->getUser());
     }
 }
Example #3
0
 /**
  * @param Ticket $ticketEntity
  * @param array  $ticket
  *
  * @return Ticket
  */
 public function setTicketParameters(Ticket $ticketEntity, array $ticket)
 {
     $ticketEntity->setCategory($this->getReference($ticket['category']))->setIsRead($ticket['isRead'])->setSubject($ticket['subject'])->setStatus($ticket['status'])->setPriority($ticket['priority'])->setUser($this->getReference($ticket['user']))->setLastUser($this->getReference($ticket['lastUser']))->setCreatedAt(new \DateTime($ticket['createdAt']))->setLastMessageAt(new \DateTime());
     return $ticketEntity;
 }
Example #4
0
 /**
  * @param Ticket $ticket
  */
 public function createNewTicketMessage(Ticket $ticket)
 {
     $message = new Message();
     $ticket->addMessage($message);
     $message->setStatus(Message::STATUS_OPEN)->setUser($this->tokenStorage->getToken()->getUser())->setTicket($ticket);
 }
Example #5
0
 /**
  * @param Ticket $ticket
  * @param User   $user
  *
  * @return bool
  */
 private function canEdit(Ticket $ticket, User $user)
 {
     // this assumes that the data object has a getOwner() method
     // to get the entity of the user who owns this data object
     return $user === $ticket->getUser();
 }