Skip to content

Commit ef08bbf

Browse files
author
Akshay Kumar
committed
Misc. mailbox updates
1 parent b8fe362 commit ef08bbf

3 files changed

Lines changed: 25 additions & 20 deletions

File tree

Controller/Ticket.php

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
use Webkul\UVDesk\CoreFrameworkBundle\Entity\User;
3232
use Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketPriority;
3333
use Webkul\UVDesk\CoreFrameworkBundle\Entity\TicketStatus;
34+
use Webkul\UVDesk\MailboxBundle\Services\MailboxService;
3435

3536
class Ticket extends AbstractController
3637
{
@@ -51,14 +52,29 @@ public function __construct(UserService $userService, TranslatorInterface $trans
5152
$this->kernel = $kernel;
5253
}
5354

54-
public function listTicketCollection(Request $request)
55+
public function listTicketCollection(Request $request, MailboxService $mailboxService)
5556
{
5657
$entityManager = $this->getDoctrine()->getManager();
5758

59+
$mailboxCollection = [];
60+
$mailboxConfiguration = $mailboxService->parseMailboxConfigurations();
61+
62+
foreach ($mailboxConfiguration->getMailboxes() as $mailbox) {
63+
$imapConfiguration = $mailbox->getImapConfiguration();
64+
65+
if (!empty($imapConfiguration)) {
66+
$mailboxCollection[] = [
67+
'name' => $mailbox->getName(),
68+
'email' => $imapConfiguration->getUsername(),
69+
];
70+
}
71+
}
72+
5873
return $this->render('@UVDeskCoreFramework//ticketList.html.twig', [
59-
'ticketStatusCollection' => $entityManager->getRepository(TicketStatus::class)->findAll(),
60-
'ticketTypeCollection' => $entityManager->getRepository(TicketType::class)->findByIsActive(true),
61-
'ticketPriorityCollection' => $entityManager->getRepository(TicketPriority::class)->findAll(),
74+
'mailboxCollection' => $mailboxCollection,
75+
'ticketStatusCollection' => $entityManager->getRepository(TicketStatus::class)->findAll(),
76+
'ticketTypeCollection' => $entityManager->getRepository(TicketType::class)->findByIsActive(true),
77+
'ticketPriorityCollection' => $entityManager->getRepository(TicketPriority::class)->findAll(),
6278
]);
6379
}
6480

Resources/views/ticketList.html.twig

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -788,15 +788,18 @@
788788
<label>{{ 'Filter With'|trans }}</label>
789789
<ul class="">
790790
{% set options = [] %}
791-
{% for mailbox in ticket_service.getAllMailboxes() %}
791+
{% for mailbox in mailboxCollection %}
792792
{% set options = options|merge([{'id': mailbox.email, 'name': mailbox.name}]) %}
793+
793794
<li data-id="{{mailbox.email}}">
794795
{{ mailbox.name|trans }}
795796
</li>
796797
{% endfor %}
798+
797799
<li class="uv-no-results" style="display: none;">
798800
{{ 'No result found'|trans }}
799801
</li>
802+
800803
{% set filterContext = filterContext|merge({'mailbox': options}) %}
801804
</ul>
802805
</div>

Services/TicketService.php

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -67,20 +67,6 @@ public function __construct(
6767
$this->mailboxService = $mailboxService;
6868
}
6969

70-
public function getAllMailboxes()
71-
{
72-
$collection = array_map(function ($mailbox) {
73-
return [
74-
'id' => $mailbox->getId(),
75-
'name' => $mailbox->getName(),
76-
'isEnabled' => $mailbox->getIsEnabled(),
77-
'email' => $mailbox->getImapConfiguration()->getUsername(),
78-
];
79-
}, $this->mailboxService->parseMailboxConfigurations()->getMailboxes());
80-
81-
return $collection;
82-
}
83-
8470
public function getPathToConfigurationFile()
8571
{
8672
return $this->container->get('kernel')->getProjectDir() . self::PATH_TO_CONFIG;
@@ -220,7 +206,7 @@ public function createTicketBase(array $ticketData = [])
220206
if ('email' == $ticketData['source']) {
221207
try {
222208
if (array_key_exists('UVDeskMailboxBundle', $this->container->getParameter('kernel.bundles'))) {
223-
$mailbox = $this->container->get('uvdesk.mailbox')->getMailboxByEmail($ticketData['mailboxEmail']);
209+
$mailbox = $this->mailboxService->getMailboxByEmail($ticketData['mailboxEmail']);
224210
$ticketData['mailboxEmail'] = $mailbox['email'];
225211
}
226212
} catch (\Exception $e) {

0 commit comments

Comments
 (0)