ticketMessages = new ArrayCollection(); } public function getUsername() { if ($this->getUser()) { return $this->getUser()->getName(); } else { return strtoupper($this->getVisitorLastname()) . ' ' . $this->getVisitorFirstname(); } } public function getUserInfosTicket() { $user = $this->getUser(); if ($user) { return '#' . $user->getId() . ' ' . $user->getName() . ' ' . $user->getEmail(); } else { return strtoupper($this->getVisitorLastname()) . ' ' . $this->getVisitorFirstname( ) . ' ' . $this->getVisitorEmail(); } } public function getEmail() { if ($this->getUser()) { return $this->getUser()->getEmail(); } else { return $this->getVisitorEmail(); } } public function getVisitorInfos() { return strtoupper($this->getVisitorLastname()) . ' ' . $this->getVisitorFirstname( ) . ' (' . $this->getVisitorEmail() . ')'; } public function getLastMessage() { return $this->getTicketMessages()->last(); } public function getType(): ?string { return $this->type; } public function setType(string $type): self { $this->type = $type; return $this; } public function getTypeLabel(): string { return 'entity.Ticket.fields.typeOptions.' . $this->getType(); } public function getChoicesType(): array { return [ 'entity.Ticket.fields.typeOptions.' . TicketModel::TYPE_GENERAL_QUESTION => TicketModel::TYPE_GENERAL_QUESTION, 'entity.Ticket.fields.typeOptions.' . TicketModel::TYPE_TECHNICAL_PROBLEM => TicketModel::TYPE_TECHNICAL_PROBLEM, ]; } public function getStatus(): ?string { return $this->status; } public function setStatus(string $status): self { $this->status = $status; return $this; } public function getStatusLabel(): string { return 'entity.Ticket.statusOptions.' . $this->getStatus(); } public function getChoicesStatus(): array { return [ 'entity.Ticket.fields.statusOptions.' . TicketModel::TICKET_STATUS_OPEN => TicketModel::TICKET_STATUS_OPEN, 'entity.Ticket.fields.statusOptions.' . TicketModel::TICKET_STATUS_BEING_PROCESSED => TicketModel::TICKET_STATUS_BEING_PROCESSED, 'entity.Ticket.fields.statusOptions.' . TicketModel::TICKET_STATUS_CLOSED => TicketModel::TICKET_STATUS_CLOSED, ]; } public function getSubject(): ?string { return $this->subject; } public function setSubject(string $subject): self { $this->subject = $subject; return $this; } public function getTags(): ?array { return $this->tags; } public function setTags(?array $tags): self { $this->tags = $tags; return $this; } public function getVisitorFirstname(): ?string { return $this->visitorFirstname; } public function setVisitorFirstname(?string $visitorFirstname): self { $this->visitorFirstname = $visitorFirstname; return $this; } public function getVisitorLastname(): ?string { return $this->visitorLastname; } public function setVisitorLastname(?string $visitorLastname): self { $this->visitorLastname = $visitorLastname; return $this; } public function getVisitorEmail(): ?string { return $this->visitorEmail; } public function setVisitorEmail(?string $visitorEmail): self { $this->visitorEmail = $visitorEmail; return $this; } public function getVisitorToken(): ?string { return $this->visitorToken; } public function setVisitorToken(?string $visitorToken): self { $this->visitorToken = $visitorToken; return $this; } /** * @return Collection|TicketMessageInterface[] */ public function getTicketMessages(): Collection { return $this->ticketMessages; } public function addTicketMessage(TicketMessageInterface $ticketMessage): self { if (!$this->ticketMessages->contains($ticketMessage)) { $this->ticketMessages[] = $ticketMessage; $ticketMessage->setTicket($this); } return $this; } public function removeTicketMessage(TicketMessageInterface $ticketMessage): self { if ($this->ticketMessages->contains($ticketMessage)) { $this->ticketMessages->removeElement($ticketMessage); // set the owning side to null (unless already changed) if ($ticketMessage->getTicket() === $this) { $ticketMessage->setTicket(null); } } return $this; } public function getUser(): ?UserInterface { return $this->user; } public function setUser(?UserInterface $user): self { $this->user = $user; return $this; } }