Здравствуйте! Я пишу небольшой модуль, у меня возникла проблема с добавлением возможностей (capabilities). Нашел в документации страницу Access API, сделал как написано. Мне нужно что бы только преподаватели могли просматривать детализированную информацию. Я добавляю в access.php строки:
'block/myblock:viewdetails' => array(
'captype' => 'write',
'contextlevel' => CONTEXT_BLOCK,
'archetypes' => array(
'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW,
),
),
Далее мне предлагают проверить, есть ли у пользователя такие права.
Check whether a user has a particular capability in a given context. For example:
$context = context_module::instance($cm->id);
has_capability('mod/folder:managefiles', $context)
Первая строка не совсем понятна, оставил как есть. Далее пишу в файле block_myblock.php:
$context = context_module::instance($cm->id);
if (has_capability('block/myblock:viewdetails', $context)) {...}
Меняю версию блока, загружаю, обновляю. Теперь проверяю и мне выдает ошибку "Не удалось найти запись в таблице course_modules базы данных.".
Объясните, пожалуйста, что я делаю не так. И правильно ли я вообще понял.