Я написал одно расширение для оформления заказа на обслуживание. Проблема, с которой я столкнулся, заключается в следующем:typo3 extbase разрешения в расширениях
Пользователи FE принадлежат к трем группам пользователей FE, а именно: «клиент», «администратор» и «служащий».
Здесь клиент может сделать заказ, и он должен уметь видеть только его заказы. И администратор может видеть все заказы, сделанные разными клиентами. И сотрудник должен уметь видеть только некоторые заказы клиентов.
В настоящее время я составил таблицу заказов с отношением N: 1 с пользовательской таблицей FE. Поэтому каждый заказ должен быть связан с любым клиентом.
Так в контроллере, я проверяю пользователя для входа и используя пользовательский запрос в хранилище, я доступ порядка, связанные с LoggedIn клиент (пользователь FE)
В файле OrdersController.php
public function listAction() {
$orders = $this->ordersRepository->orderForLoginUsr();
$this->view->assign('orders', $orders);
}
В файл OrdersRepository.php
public function orderForLoginUsr(){
$loggedInUserId = $GLOBALS ['TSFE']->fe_user->user['uid'];
$query = $this->createQuery();
$query->matching(
$query->equals('user', $loggedInUserId)
);
$query->setOrderings(array('crdate' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING));
return $query->execute();
}
Но вот мой вопрос заключается в том, чтобы сделать пользователь с правами администратора в состоянии увидеть все заказы сделанные всеми клиентами? Мне нужно написать другой шаблон и действие, которое вызывает функцию findAll()?
$orders = $this->ordersRepository->findAll();
И как установить для группы сотрудников?
Спасибо заранее