/**
  * @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;
 }
Ejemplo n.º 2
0
 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);
 }