Completed
Pull Request — master (#12)
by
unknown
03:51
created

OnPasswordResetTokenCreated   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 4
Bugs 0 Features 1
Metric Value
wmc 2
c 4
b 0
f 1
lcom 1
cbo 5
dl 0
loc 35
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
A onPasswordResetTokenCreated() 0 16 1
1
<?php
2
3
namespace SumoCoders\FrameworkMultiUserBundle\Event;
4
5
use Swift_Mailer;
6
use Swift_Message;
7
use Symfony\Bundle\TwigBundle\TwigEngine;
8
use Symfony\Component\Translation\TranslatorInterface;
9
10
class OnPasswordResetTokenCreated
11
{
12
    private $mailer;
13
14
    private $translator;
15
16
    private $emailFrom;
17
18
    private $twig;
19
20
    public function __construct(Swift_Mailer $mailer, TranslatorInterface $translator, TwigEngine $twig, $emailFrom)
21
    {
22
        $this->mailer = $mailer;
23
        $this->translator = $translator;
24
        $this->emailFrom = $emailFrom;
25
        $this->twig = $twig;
26
    }
27
28
    public function onPasswordResetTokenCreated(PasswordResetTokenCreated $event)
29
    {
30
        $message = Swift_Message::newInstance()
31
            ->setSubject('Password reset requested')
32
            ->setFrom($this->emailFrom)
33
            ->setTo($event->getUser()->getEmail())
34
            ->setBody(
35
                $this->twig->render(
36
                    'SumoCodersFrameworkMultiUserBundle:Email:passwordReset.html.twig',
37
                    ['user' => $event->getUser()]
38
                ),
39
                'text/html'
40
            );
41
42
        return $this->mailer->send($message);
43
    }
44
}
45