/**
  * @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;
 }
 /**
  * @param Ticket $ticket
  *
  * @return AssigneeTicketCommand
  */
 public function createAssigneeTicketCommand(Ticket $ticket)
 {
     $command = new AssigneeTicketCommand();
     $command->id = $ticket->getId();
     $command->assignee = $ticket->getAssignee();
     return $command;
 }
Ejemplo n.º 3
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());
 }
 /**
  * Verify that current user assignee is current user
  *
  * @param Ticket $entity
  * @throws ForbiddenException
  */
 private function isAssigneeGranted(Ticket $entity)
 {
     $user = $this->authorizationService->getLoggedUser();
     if (is_null($entity->getAssignee()) || $entity->getAssignee()->getId() != $user->getId()) {
         $this->isGranted('EDIT', $entity);
     }
 }
 /**
  * @param Ticket $ticket
  * @return array
  */
 private function resolveRecipientsEmails(Ticket $ticket)
 {
     $emails = array();
     $reporter = $ticket->getReporter();
     $reporter = $this->userService->getByUser($reporter);
     $assignee = $ticket->getAssignee();
     if ($reporter instanceof DiamanteUser) {
         $emails[$reporter->getEmail()] = $reporter->getFullName();
     } else {
         $emails[$reporter->getEmail()] = $reporter->getFirstName() . ' ' . $reporter->getLastName();
     }
     if ($assignee) {
         $emails[$assignee->getEmail()] = $assignee->getFirstName() . ' ' . $assignee->getLastName();
     }
     return $emails;
 }