php - PreSubmit event created for register action interrupt with login action in UserController -
i have following usertype.php file,
<?php namespace acme\userbundle\form; use symfony\component\form\abstracttype; use symfony\component\form\formbuilderinterface; use symfony\component\optionsresolver\optionsresolverinterface; use symfony\component\form\formevent; use symfony\component\form\formevents; use acme\userbundle\controller\usercontroller; class usertype extends abstracttype { /** * @param formbuilderinterface $builder * @param array $options */ public function buildform(formbuilderinterface $builder, array $options) { $builder ->add('username') ->add('description') ->add('email') ->add('password') ; $builder->addeventlistener(formevents::pre_submit, array($this, 'onpresubmit')); } public function onpresubmit(formevent $event) { $user = $event->getdata(); $email = $user['email']; $userobj = new usercontroller(); $unique_id = $userobj->idunique($email); $user['username'] = $unique_id; $event->setdata($user); } /** * @param optionsresolverinterface $resolver */ public function setdefaultoptions(optionsresolverinterface $resolver) { $resolver->setdefaults(array( 'data_class' => 'acme\userbundle\entity\user' )); } /** * @return string */ public function getname() { return 'acme_userbundle_user'; } } when user first registers in site, want process email create unique id. this, form data using events. because, in symfony, cannot modify form data after user pressing submit button. hence, use presubmit event manipulate user's form data. works well.
<?php public function loginaction(request $request) { $request = $this->getrequest(); // here program control goes directly presubmit event created registration. } now, when user log in system, using same usercontroller.php (specified in code above) , method called "login". but, time when user presses submit button, taken directly onpresubmit event created purpose of form data manipulation registration. how should change login controller method onpresubmit should not interrupt while program control goes login method?
Comments
Post a Comment