Доброго времени суток!
Есть раздел в админ панели, этот раздел добавлен новым модулем.
Хотел открыть доступ в этот раздел для вендоров, т.е. чтобы в панели вендоров отображался тот же пункт меню и была возможность открыть этот раздел.
насколько я понял из разных источников делать это нужно через файл /permissions/vendor_multivendor.php.
Такой файл я добавил и он подключается(проверял через fn_print_die()), но содержимое я видимо формирую не правильно.
Копировал в этот файл содержимое файла admin.post.php, но это не помогло.
$schema[‘collections’] = [
‘permissions’ => ‘collections.manage’,
];
То срабатывает ограничение по моду, но пр этом выводт сообщение: “Внимание, доступ ограничен”, это как понимать? что-то работает не так, или это сообщение так и должно выводится, когда я даю досту только к этому моду?
Вопрос в дополнение.
Всё, права я ограничил на те моды? которые мне нужны, теперь в разделе вендоров у меня выводятся списки коллекций, так же как и у админа, но нужно еще немного сузить права.
Дело вот в чем, что коллекци у всех вендоров свои, но у меня сейчас выводится общий список коллекций для всех вендоров, т.е. один вендор видит и свои и чужие коллекции, как и админ, а нужно показывать ему только его коллекции.
Я просто сделал правку в контроллере, который отвечает за вывод списка коллекций, и сделал ограничение (добавил условие в запрос к БД) в случае если пользователь является вендором Tygh::$app['session']['auth']['user_type'] == UserTypes::VENDOR
Правильно ли это, или есть возможность так тонко настроить права доступа в $schema?
обычно для этого используют company_id
добавьте столбец в таблицу коллекций в БД и сохраняйте туда company_id того вендора который ее создал, на него же сделайте условие получения из БД