/** * @param Ticket $ticket */ public function markTicketIsRead(Ticket $ticket, User $currentUser) { if (!$ticket->getIsRead() && $ticket->getLastUser() !== $currentUser) { $ticket->setIsRead(true); $this->om->flush(); } }
/** * @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()); } }
/** * @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; }
/** * @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); }
/** * @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(); }