X-Git-Url: https://git.rapsys.eu/userbundle/blobdiff_plain/7dc270515bd6c60325a654486c088e8aab2094cf..be90ff0448f23198efda2b575744cd160088b94d:/Controller/DefaultController.php?ds=inline

diff --git a/Controller/DefaultController.php b/Controller/DefaultController.php
index 7f6b02e..070df0c 100644
--- a/Controller/DefaultController.php
+++ b/Controller/DefaultController.php
@@ -136,13 +136,11 @@ class DefaultController extends AbstractController {
 			'civility_default' => $doctrine->getRepository($this->config['class']['civility'])->findOneByTitle($this->config['default']['civility']),
 			//Disable mail
 			'mail' => $this->isGranted('ROLE_ADMIN'),
-			//Disable slug
-			'slug' => $this->isGranted('ROLE_ADMIN'),
 			//Disable password
 			'password' => false,
 			//Set method
 			'method' => 'POST'
-		]);
+		]+$this->config['edit']['field']);
 
 		//With admin role
 		if ($this->isGranted('ROLE_ADMIN')) {
@@ -185,11 +183,6 @@ class DefaultController extends AbstractController {
 
 			//Add reset view
 			$this->config['edit']['view']['context']['reset'] = $reset->createView();
-		//Without admin role
-		//XXX: prefer a reset on login to force user unspam action
-		} else {
-			//Add notice
-			$this->addFlash('notice', $this->translator->trans('To change your password login with your mail and any password then follow the procedure'));
 		}
 
 		//With post method
@@ -202,21 +195,6 @@ class DefaultController extends AbstractController {
 				//Set data
 				$data = $edit->getData();
 
-				//Set slug
-				$slug = null;
-
-				//With admin
-				if ($this->isGranted('ROLE_ADMIN')) {
-					//With slug
-					if (!empty($data->getSlug())) {
-						//Set slug
-						$slug = $slugger->slug($data->getPseudonym());
-					}
-
-					//Update slug
-					$data->setSlug($slug);
-				}
-
 				//Queue snippet save
 				$manager->persist($data);
 
@@ -233,9 +211,14 @@ class DefaultController extends AbstractController {
 				//Catch double slug or mail
 				} catch (UniqueConstraintViolationException $e) {
 					//Add error message mail already exists
-					$this->addFlash('error', $this->translator->trans('Account %mail% or with slug %slug% already exists', ['%mail%' => $data->getMail(), '%slug%' => $slug]));
+					$this->addFlash('error', $this->translator->trans('Account %mail% already exists', ['%mail%' => $data->getMail()]));
 				}
 			}
+		//Without admin role
+		//XXX: prefer a reset on login to force user unspam action
+		} elseif (!$this->isGranted('ROLE_ADMIN')) {
+			//Add notice
+			$this->addFlash('notice', $this->translator->trans('To change your password login with your mail and any password then follow the procedure'));
 		}
 
 		//Render view
@@ -408,7 +391,7 @@ class DefaultController extends AbstractController {
 						$recoverMail['context']['recipient_mail'] = $user->getMail();
 
 						//Set recipient_name
-						$recoverMail['context']['recipient_name'] = trim($user->getForename().' '.$user->getSurname().($user->getPseudonym()?' ('.$user->getPseudonym().')':''));
+						$recoverMail['context']['recipient_name'] = $user->getRecipientName();
 
 						//Init subject context
 						$subjectContext = $slugger->flatten(array_replace_recursive($this->config['recover']['view']['context'], $recoverMail['context']), null, '.', '%', '%');
@@ -650,7 +633,7 @@ class DefaultController extends AbstractController {
 						$activateMail['context']['recipient_mail'] = $existing->getMail();
 
 						//Set recipient name
-						$activateMail['context']['recipient_name'] = implode(' ', [$existing->getForename(), $existing->getSurname(), $existing->getPseudonym()?'('.$existing->getPseudonym().')':'']);
+						$activateMail['context']['recipient_name'] = $existing->getRecipientName();
 
 						//Init subject context
 						$subjectContext = $slugger->flatten(array_replace_recursive($this->config['register']['view']['context'], $activateMail['context']), null, '.', '%', '%');
@@ -738,10 +721,7 @@ class DefaultController extends AbstractController {
 			$sfield = $field;
 
 			//Reset field
-			$field = [
-				//Without slug
-				'slug' => false
-			];
+			$field = [];
 		}
 
 		//Init reflection
@@ -762,7 +742,7 @@ class DefaultController extends AbstractController {
 			'mail' => true,
 			//Set method
 			'method' => 'POST'
-		]);
+		]+$this->config['register']['field']);
 
 		if ($request->isMethod('POST')) {
 			//Refill the fields in case the form is not valid.
@@ -790,26 +770,8 @@ class DefaultController extends AbstractController {
 				//Set mail shortcut
 				$registerMail =& $this->config['register']['mail'];
 
-				//Extract names and pseudonym from mail
-				$names = explode(' ', $pseudonym = ucwords(trim(preg_replace('/[^a-zA-Z]+/', ' ', current(explode('@', $data->getMail()))))));
-
-				//Set pseudonym
-				$user->setPseudonym($user->getPseudonym()??$pseudonym);
-
-				//Set forename
-				$user->setForename($user->getForename()??$names[0]);
-
-				//Set surname
-				$user->setSurname($user->getSurname()??$names[1]??$names[0]);
-
 				//Set password
-				$user->setPassword($encoder->encodePassword($user, $user->getPassword()??$data->getMail()));
-
-				//Set created
-				$user->setCreated(new \DateTime('now'));
-
-				//Set updated
-				$user->setUpdated(new \DateTime('now'));
+				$user->setPassword($encoder->encodePassword($user, $user->getPassword()));
 
 				//Persist user
 				$manager->persist($user);
@@ -849,17 +811,11 @@ class DefaultController extends AbstractController {
 					}
 				}
 
-				//XXX: DEBUG: remove me
-				//die($registerMail['context']['confirm_url']);
-
 				//Set recipient_name
 				$registerMail['context']['recipient_mail'] = $data->getMail();
 
 				//Set recipient name
-				$registerMail['context']['recipient_name'] = '';
-
-				//Set recipient name
-				$registerMail['context']['recipient_name'] = implode(' ', [$data->getForename(), $data->getSurname(), $data->getPseudonym()?'('.$data->getPseudonym().')':'']);
+				$registerMail['context']['recipient_name'] = $data->getRecipientName();
 
 				//Init subject context
 				$subjectContext = $slugger->flatten(array_replace_recursive($this->config['register']['view']['context'], $registerMail['context']), null, '.', '%', '%');