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' => 'register#askEmail', 'url' => '/', 'verb' => 'GET'),
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#createAccount', 'url' => '/verify/{token}', 'verb' => 'POST')
)));

View File

@ -59,6 +59,16 @@ class RegisterController extends Controller {
return new TemplateResponse('registration', 'register', $params, 'guest');
}
/**
* @NoAdminRequired
* @NoCSRFRequired
* @PublicPage
* @param string $email
*/
public function resendEmail($email) {
return $this->sendVerificationEmail($email);
}
/**
* @NoAdminRequired
* @NoCSRFRequired
@ -79,7 +89,9 @@ class RegisterController extends Controller {
return new TemplateResponse('', 'error', array(
'errors' => array(array(
'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');
}
@ -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) {
return new TemplateResponse('', 'error', 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' => ''
))
), 'error');