/** * @param Ticket $ticket * @param AbstractTicketEvent $event * @return array */ private function getMemberList(Ticket $ticket, AbstractTicketEvent $event) { $members = []; if ($ticket->getAssignee()) { $members[] = new User($ticket->getAssignee()->getId(), User::TYPE_ORO); } if ($event->getEventName() == 'ticketAssigneeWasChanged') { return $members; } $members[] = $ticket->getReporter(); return $members; }
public function testCreateWhenAssigneeIsNull() { $branch = $this->createBranch(); $reporter = $this->createReporter(); $ticket = new Ticket(new UniqueId('unique_id'), new TicketSequenceNumber(null), self::TICKET_SUBJECT, self::TICKET_DESCRIPTION, $branch, $reporter, null, new Source(Source::PHONE), new Priority(Priority::PRIORITY_LOW), new Status(Status::NEW_ONE)); $this->assertEquals('Subject', $ticket->getSubject()); $this->assertEquals('Description', $ticket->getDescription()); $this->assertEquals($branch, $ticket->getBranch()); $this->assertEquals('new', $ticket->getStatus()->getValue()); $this->assertEquals($reporter, $ticket->getReporter()); $this->assertNull($ticket->getAssignee()); $this->assertEquals(Source::PHONE, $ticket->getSource()->getValue()); }
/** * @param Ticket $ticket * * @return UpdateTicketCommand */ public function createUpdateTicketCommand(Ticket $ticket) { $command = new UpdateTicketCommand(); $command->id = $ticket->getId(); $command->key = (string) $ticket->getKey(); $command->subject = $ticket->getSubject(); $command->description = $ticket->getDescription(); $command->reporter = $ticket->getReporter(); $command->assignee = $ticket->getAssignee(); $command->status = $ticket->getStatus(); $command->priority = $ticket->getPriority(); $command->branch = $ticket->getBranch(); $command->source = $ticket->getSource(); $command->tags = $ticket->getTags(); return $command; }
/** * @param Notification $notification * @param Ticket $ticket * * @return string */ private function getFormattedUserName(Notification $notification, Ticket $ticket) { $author = $notification->getAuthor(); if (is_null($author)) { $reporterId = $ticket->getReporter()->getId(); $user = $this->diamanteUserRepository->get($reporterId); } else { $user = $this->getUserDependingOnType($author); } $name = $this->nameFormatter->format($user); if (empty($name)) { $format = $this->nameFormatter->getNameFormat(); $name = str_replace(array('%first_name%', '%last_name%', '%prefix%', '%middle_name%', '%suffix%'), array($user->getFirstName(), $user->getLastName(), '', '', ''), $format); } $name = preg_replace('/\\s+/', ' ', $name); return trim($name); }