Skip to content

Commit 8e0875b

Browse files
committed
Revert "minor #133 Use Command as base for console command classes (phansys)"
This reverts commit 352c083, reversing changes made to 3cd0fbd.
1 parent acf88a4 commit 8e0875b

3 files changed

Lines changed: 22 additions & 100 deletions

File tree

Command/AutoClosingCommand.php

Lines changed: 12 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -2,64 +2,17 @@
22

33
namespace Hackzilla\Bundle\TicketBundle\Command;
44

5-
use Doctrine\ORM\EntityManagerInterface;
6-
use Hackzilla\Bundle\TicketBundle\Entity\Ticket;
75
use Hackzilla\Bundle\TicketBundle\Entity\TicketMessage;
8-
use Hackzilla\Bundle\TicketBundle\Manager\TicketManagerInterface;
9-
use Hackzilla\Bundle\TicketBundle\Manager\UserManagerInterface;
10-
use Symfony\Component\Console\Command\Command;
6+
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
117
use Symfony\Component\Console\Input\InputArgument;
128
use Symfony\Component\Console\Input\InputInterface;
139
use Symfony\Component\Console\Input\InputOption;
1410
use Symfony\Component\Console\Output\OutputInterface;
15-
use Symfony\Component\DependencyInjection\ContainerInterface;
16-
use Symfony\Component\Translation\TranslatorInterface;
1711

18-
class AutoClosingCommand extends Command
12+
class AutoClosingCommand extends ContainerAwareCommand
1913
{
2014
protected static $defaultName = 'ticket:autoclosing';
2115

22-
/**
23-
* @var TicketManagerInterface
24-
*/
25-
private $ticketManager;
26-
27-
/**
28-
* @var UserManagerInterface
29-
*/
30-
private $userManager;
31-
32-
/**
33-
* @var EntityManagerInterface
34-
*/
35-
private $entityManager;
36-
37-
/**
38-
* @var string
39-
*/
40-
private $locale = 'en';
41-
42-
/**
43-
* @var TranslatorInterface
44-
*/
45-
private $translator;
46-
47-
/**
48-
* BC: Replace 5th argument with "Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface" after bumping to "symfony/dependency-injection:^4.1".
49-
*/
50-
public function __construct(TicketManagerInterface $ticketManager, UserManagerInterface $userManager, EntityManagerInterface $entityManager, TranslatorInterface $translator, ContainerInterface $container)
51-
{
52-
parent::__construct();
53-
54-
$this->ticketManager = $ticketManager;
55-
$this->userManager = $userManager;
56-
$this->entityManager = $entityManager;
57-
$this->translator = $translator;
58-
if ($container->hasParameter('locale')) {
59-
$this->locale = $container->getParameter('locale');
60-
}
61-
}
62-
6316
/**
6417
* {@inheritdoc}
6518
*/
@@ -88,26 +41,30 @@ protected function configure()
8841
*/
8942
protected function execute(InputInterface $input, OutputInterface $output)
9043
{
91-
$ticketRepository = $this->entityManager->getRepository(Ticket::class);
44+
$ticket_manager = $this->getContainer()->get('hackzilla_ticket.ticket_manager');
45+
$userManager = $this->getContainer()->get('fos_user.user_manager');
46+
$ticketRepository = $this->getContainer()->get('doctrine')->getRepository('HackzillaTicketBundle:Ticket');
9247

93-
$this->translator->setLocale($this->locale);
48+
$locale = $this->getContainer()->getParameter('locale') ? $this->getContainer()->getParameter('locale') : 'en';
49+
$translator = $this->getContainer()->get('translator');
50+
$translator->setLocale($locale);
9451

9552
$username = $input->getArgument('username');
9653

9754
$resolved_tickets = $ticketRepository->getResolvedTicketOlderThan($input->getOption('age'));
9855

9956
foreach ($resolved_tickets as $ticket) {
100-
$message = $this->ticketManager->createMessage()
57+
$message = $ticket_manager->createMessage()
10158
->setMessage(
102-
$this->translator->trans('MESSAGE_STATUS_CHANGED', ['%status%' => $this->translator->trans('STATUS_CLOSED')])
59+
$translator->trans('MESSAGE_STATUS_CHANGED', ['%status%' => $translator->trans('STATUS_CLOSED')])
10360
)
10461
->setStatus(TicketMessage::STATUS_CLOSED)
10562
->setPriority($ticket->getPriority())
106-
->setUser($this->userManager->findUserByUsername($username))
63+
->setUser($userManager->findUserByUsername($username))
10764
->setTicket($ticket);
10865

10966
$ticket->setStatus(TicketMessage::STATUS_CLOSED);
110-
$this->ticketManager->updateTicket($ticket, $message);
67+
$ticket_manager->updateTicket($ticket, $message);
11168

11269
$output->writeln('The ticket "'.$ticket->getSubject().'" has been closed.');
11370
}

Command/TicketManagerCommand.php

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,17 @@
22

33
namespace Hackzilla\Bundle\TicketBundle\Command;
44

5-
use FOS\UserBundle\Model\UserManagerInterface;
65
use Hackzilla\Bundle\TicketBundle\Entity\TicketMessage;
7-
use Hackzilla\Bundle\TicketBundle\Manager\TicketManagerInterface;
8-
use Symfony\Component\Console\Command\Command;
6+
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
97
use Symfony\Component\Console\Input\InputArgument;
108
use Symfony\Component\Console\Input\InputInterface;
119
use Symfony\Component\Console\Input\InputOption;
1210
use Symfony\Component\Console\Output\OutputInterface;
1311

14-
class TicketManagerCommand extends Command
12+
class TicketManagerCommand extends ContainerAwareCommand
1513
{
1614
protected static $defaultName = 'ticket:create';
1715

18-
/**
19-
* @var TicketManagerInterface
20-
*/
21-
private $ticketManager;
22-
23-
/**
24-
* @var UserManagerInterface
25-
*/
26-
private $userManager;
27-
28-
public function __construct(TicketManagerInterface $ticketManager, UserManagerInterface $userManager = null)
29-
{
30-
if (!$userManager) {
31-
throw new \InvalidArgumentException(sprintf('%s requires a user manager in order to set the user for the ticket message. Is "friendsofsymfony/user-bundle" installed and enabled in your project?', self::class));
32-
}
33-
parent::__construct();
34-
35-
$this->ticketManager = $ticketManager;
36-
$this->userManager = $userManager;
37-
}
38-
3916
/**
4017
* {@inheritdoc}
4118
*/
@@ -69,16 +46,20 @@ protected function configure()
6946
*/
7047
protected function execute(InputInterface $input, OutputInterface $output)
7148
{
72-
$ticket = $this->ticketManager->createTicket()
49+
$userManager = $this->getContainer()->get('fos_user.user_manager');
50+
51+
$ticketManager = $this->getContainer()->get('hackzilla_ticket.ticket_manager');
52+
53+
$ticket = $ticketManager->createTicket()
7354
->setSubject($input->getArgument('subject'));
7455

75-
$message = $this->ticketManager->createMessage()
56+
$message = $ticketManager->createMessage()
7657
->setMessage($input->getArgument('message'))
7758
->setStatus(TicketMessage::STATUS_OPEN)
7859
->setPriority($input->getOption('priority'))
79-
->setUser($this->userManager->findUserByUsername('system'));
60+
->setUser($userManager->findUserByUsername('system'));
8061

81-
$this->ticketManager->updateTicket($ticket, $message);
62+
$ticketManager->updateTicket($ticket, $message);
8263

8364
$output->writeln(
8465
"Ticket with subject '".$ticket->getSubject()."' has been created with ticketnumber #".$ticket->getId().''

Resources/config/services.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ services:
1414
- '@security.authorization_checker'
1515
public: true
1616

17-
Hackzilla\Bundle\TicketBundle\Manager\UserManagerInterface:
18-
alias: hackzilla_ticket.user_manager
19-
2017
hackzilla_ticket.user_repository:
2118
class: Doctrine\ORM\EntityRepository
2219
factory: ['@doctrine.orm.default_entity_manager', getRepository]
@@ -33,9 +30,6 @@ services:
3330
- [ setTranslator, ['@translator'] ]
3431
public: true
3532

36-
Hackzilla\Bundle\TicketBundle\Manager\TicketManagerInterface:
37-
alias: hackzilla_ticket.ticket_manager
38-
3933
hackzilla_ticket.form.type.ticket:
4034
class: Hackzilla\Bundle\TicketBundle\Form\Type\TicketType
4135
arguments:
@@ -79,20 +73,10 @@ services:
7973

8074
hackzilla_ticket.command.autoclosing:
8175
class: Hackzilla\Bundle\TicketBundle\Command\AutoClosingCommand
82-
arguments:
83-
- '@hackzilla_ticket.ticket_manager'
84-
- '@hackzilla_ticket.user_manager'
85-
- '@doctrine.orm.entity_manager'
86-
- '@translator'
87-
# BC: Replace 5th argument with "@parameter_bag" after bumping "symfony/dependency-injection" to "^4.1"
88-
- '@service_container'
8976
tags:
9077
- { name: console.command, command: ticket:autoclosing }
9178

9279
hackzilla_ticket.command.create:
9380
class: Hackzilla\Bundle\TicketBundle\Command\TicketManagerCommand
94-
arguments:
95-
- '@hackzilla_ticket.ticket_manager'
96-
- '@?fos_user.user_manager'
9781
tags:
9882
- { name: console.command, command: ticket:create }

0 commit comments

Comments
 (0)