Update# feature to resend verification email

This commit is contained in:
Pellaeon Lin 2015-08-29 20:56:39 +08:00
parent 69ff86ee53
commit 7d6d6c068e
2 changed files with 16 additions and 3 deletions

View File

@ -25,6 +25,7 @@ $application->registerRoutes($this, array('routes' => array(
array('name' => 'settings#admin', 'url' => '/settings', 'verb' => 'POST'), array('name' => 'settings#admin', 'url' => '/settings', 'verb' => 'POST'),
array('name' => 'register#askEmail', 'url' => '/', 'verb' => 'GET'), array('name' => 'register#askEmail', 'url' => '/', 'verb' => 'GET'),
array('name' => 'register#validateEmail', 'url' => '/', 'verb' => 'POST'), array('name' => 'register#validateEmail', 'url' => '/', 'verb' => 'POST'),
array('name' => 'register#resendEmail', 'url' => '/resend/{email}', 'verb' => 'GET'),
array('name' => 'register#verifyToken', 'url' => '/verify/{token}', 'verb' => 'GET'), array('name' => 'register#verifyToken', 'url' => '/verify/{token}', 'verb' => 'GET'),
array('name' => 'register#createAccount', 'url' => '/verify/{token}', 'verb' => 'POST') array('name' => 'register#createAccount', 'url' => '/verify/{token}', 'verb' => 'POST')
))); )));

View File

@ -59,6 +59,16 @@ class RegisterController extends Controller {
return new TemplateResponse('registration', 'register', $params, 'guest'); return new TemplateResponse('registration', 'register', $params, 'guest');
} }
/**
* @NoAdminRequired
* @NoCSRFRequired
* @PublicPage
* @param string $email
*/
public function resendEmail($email) {
return $this->sendVerificationEmail($email);
}
/** /**
* @NoAdminRequired * @NoAdminRequired
* @NoCSRFRequired * @NoCSRFRequired
@ -79,7 +89,9 @@ class RegisterController extends Controller {
return new TemplateResponse('', 'error', array( return new TemplateResponse('', 'error', array(
'errors' => array(array( 'errors' => array(array(
'error' => $this->l10n->t('There is already a pending registration with this email'), 'error' => $this->l10n->t('There is already a pending registration with this email'),
'hint' => '' 'hint' => str_replace('{href}',
$this->urlgenerator->linkToRoute('registration.register.resendEmail', array('email' => $email)),
$this->l10n->t('<a href="{href}">Click here</a> to re-send the verification email'))
)) ))
), 'error'); ), 'error');
} }
@ -114,7 +126,7 @@ class RegisterController extends Controller {
} }
} }
return sendVerificationEmail($email); return $this->sendVerificationEmail($email);
} }
/** /**
@ -136,7 +148,7 @@ class RegisterController extends Controller {
} catch (\Exception $e) { } catch (\Exception $e) {
return new TemplateResponse('', 'error', array( return new TemplateResponse('', 'error', array(
'errors' => array(array( 'errors' => array(array(
'error' => $this->l10n->t('A problem occurred sending email, please contact your administrator.') 'error' => $this->l10n->t('A problem occurred sending email, please contact your administrator.'),
'hint' => '' 'hint' => ''
)) ))
), 'error'); ), 'error');