Chybná obrazovka při volání metody error v presenteru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Tirus91
- Člen | 199
Narazil jsem na problém, že když v Presenteru provedu
if (!$this->user->isAllowed('Topic', 'delete')) {
$this->error(_('For this operation, you do not have sufficient permissions.'), \Nette\Http\IResponse::S403_FORBIDDEN);
}
Tak mi to neustále vyhazuje ServerError 500
Jak docílit aby to vyhodilo 403 jak požaduji?
- jiri.pudil
- Nette Blogger | 1034
Chyba 500 má vždycky nějakou příčinu. Nenapoví ti Laděnka? Nebo error log?
Vůbec se mi tam nelíbí to podtržítko. Jestli se pokoušíš o překlad,
injectni si do presenteru Nette\Localization\ITranslator
a zavolej
nad ním translate:
if (!$this->user->isAllowed('Topic', 'delete')) {
$this->error($this->translator->translate('For this operation, you do not have sufficient permissions.'), \Nette\Http\IResponse::S403_FORBIDDEN);
}
- jiri.pudil
- Nette Blogger | 1034
on standardně využívá gettext?
On standardně nevyužívá nic. Nette samo od sebe poskytuje jen rozhraní
ITranslator
. Jeho implementaci si buď musíš napsat sám, nebo
sáhnout po nějaké již
existující.