BUGFIX: Themed permissionFailure messages (from r109102)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112780 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2010-10-19 00:55:20 +00:00
parent 215cbb6b36
commit f8ec13a1ab
2 changed files with 11 additions and 10 deletions

View File

@ -606,9 +606,8 @@ $lang['en_US']['SearchForm']['GO'] = 'Go';
$lang['en_US']['SearchForm']['SEARCH'] = 'Search';
$lang['en_US']['SearchForm']['SearchResults'] = 'Search Results';
$lang['en_US']['Security']['ALREADYLOGGEDIN'] = array(
'You don\'t have access to this page. If you have another account that can access that page, you can <a href="%s">log in again</a>.',
PR_MEDIUM,
'%s will be replaced with a link to log in.'
'You don\'t have access to this page. If you have another account that can access that page, you can log in again below</a>.',
PR_MEDIUM
);
$lang['en_US']['Security']['BUTTONSEND'] = 'Send me the password reset link';
$lang['en_US']['Security']['CHANGEPASSWORDBELOW'] = 'You can change your password below.';
@ -870,4 +869,4 @@ $lang['en_US']['WidgetArea']['SINGULARNAME'] = array(
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
);
?>
?>

View File

@ -173,7 +173,7 @@ class Security extends Controller {
'alreadyLoggedIn' => _t(
'Security.ALREADYLOGGEDIN',
"You don't have access to this page. If you have another account that "
. "can access that page, you can <a href=\"%s\">log in again</a>.",
. "can access that page, you can log in again below.",
PR_MEDIUM,
"%s will be replaced with a link to log in."
),
@ -202,12 +202,14 @@ class Security extends Controller {
else
$message=$messageSet['default'];
// Replace %s with the log in link
$body = sprintf($message,
Controller::join_links(Director::baseURL(), 'Security/login',
'?BackURL=' . urlencode($_SERVER['REQUEST_URI'])));
// Somewhat hackish way to render a login form with an error message.
$me = new Security();
$form = $me->LoginForm();
$form->sessionMessage($message, 'warning');
Session::set('MemberLoginForm.force_message',1);
$formText = $me->login();
$response->setBody($body);
$response->setBody($formText);
return $response;
} else if(substr(Director::history(),0,15) == 'Security/logout') {