fix: address PR review findings - CSRF response, N+1 query, error handling

- togglePublished: return JSON on CSRF failure instead of die()
- Conditions view: fold group/rule counts into main query as subselects
  instead of N+1 per-item queries
- All 5 toggle-published templates: add .catch() for AJAX error feedback

Claude-Session: https://claude.ai/code/session_01Jo2JpjCwfHAh2HHRSjczKq
This commit is contained in:
2026-06-29 11:14:03 -05:00
parent 3ecdbacbeb
commit 6c668dae20
8 changed files with 26 additions and 7 deletions
@@ -812,7 +812,11 @@ class DisplayController extends BaseController
public function togglePublished()
{
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
if (!Session::checkToken())
{
$this->jsonResponse(['success' => false, 'message' => Text::_('JINVALID_TOKEN')]);
return;
}
if (!$this->checkAcl('core.admin'))
{