bp/app/Filters/OrganizationFilter.php

53 lines
1.9 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Filters;
use CodeIgniter\Filters\FilterInterface;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
/**
* OrganizationFilter - Фильтр выбора организации
*
* Проверяет, что у авторизованного пользователя выбрана организация.
* Если организация не выбрана — редирект на /organizations.
*
* Применяется к маршрутам, которые требуют выбранной организации
* (например, дашборд, управление клиентами, задачи и т.д.).
*/
class OrganizationFilter implements FilterInterface
{
/**
* Проверка выбора организации перед обработкой запроса
*
* @param RequestInterface $request
* @param array|null $arguments
* @return ResponseInterface|void
*/
public function before(RequestInterface $request, $arguments = null)
{
// Если пользователь не авторизован — пропускаем (AuthFilter разберётся)
if (!session()->get('isLoggedIn')) {
return;
}
// Проверяем, выбрана ли организация
if (empty(session()->get('active_org_id'))) {
return redirect()->to('/organizations');
}
}
/**
* Обработка после выполнения запроса
*
* @param RequestInterface $request
* @param ResponseInterface $response
* @param array|null $arguments
* @return void
*/
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null): void
{
// Ничего не делаем после запроса
}
}