i working on symfony2 project managing user installed bundle fosuserbundle functional can not find how send email containing username , password after creating user, said have 2 user: admin , user type, , admin create users form of creation form of fos registration, changing between 2 kind user roles.
you hook eventdispatcher , send own email rather than 1 generated fosuserbundle using own listener.
class emailconfirmationlistener implements eventsubscriberinterface { private $mailer; private $router; private $session; public function __construct(mailerinterface $mailer, urlgeneratorinterface $router) { $this->mailer = $mailer; $this->router = $router; } public static function getsubscribedevents() { return array( fosuserevents::registration_success => array( array('onregistrationsuccess', -10), ), ); } public function onregistrationsuccess(formevent $event) { /** @var $user \fos\userbundle\model\userinterface */ $user = $event->getform()->getdata(); // send details out user $this->mailer->sendcreateduseremail($user); // route show admin user has been created $url = $this->router->generate('blah_blah_user_created'); $event->setresponse(new redirectresponse($url)); // stop later events propagting $event->stoppropagation(); } } mailer service
use fos\userbundle\model\userinterface; use fos\userbundle\mailer\mailer basemailer; class mailer extends basemailer { /** * @param userinterface $user */ public function sendadminconfirmationemailmessage(userinterface $user) { /** * custom template using same positioning * fosuserbundle:registration:email.txt.twig sendemailmessage * method break correctly */ $template = 'blahblahuser:admin:created_user_email.txt.twig'; $url = $this->router->generate('** custom login path**', array(), true); $rendered = $this->templating->render($template, array( 'user' => $user, 'password' => $user->getplainpassword(), )); $this->sendemailmessage($rendered, $this->parameters['from_email']['confirmation'], $user->getemail()); } } i think it.. although wrong.
Comments
Post a Comment