Я хочу добавить новую роль в CKAN. И я могу сделать это в файле authz.py. Я определил новую роль и придал ей какое-то действие, и это сработало. Но я сделал это в базовом режиме. Я хочу сделать это в расширении. Поэтому я создал новое расширение под названием «customroles». И я скопировал authz.py из «/usr/lib/ckan/default/src/ckan/ckan» в пользовательскую папку «/usr/lib/ckan/default/src/ckanext-customroles/ckanext/customroles». Затем я добавил новую роль (Super), как вы можете видеть ниже.
ROLE_PERMISSIONS = OrderedDict([
('admin', ['admin']),
('editor', ['read', 'delete_dataset', 'create_dataset', 'update_dataset', 'manage_group']),
('member', ['read', 'manage_group']),
**('super', ['read', 'delete_dataset', 'create_dataset', 'manage_group']),**
])
def _trans_role_admin():
return _('Admin')
def _trans_role_editor():
return _('Editor')
def _trans_role_member():
return _('Member')
def _trans_role_super():
return _('Super')
Но я не мог видеть новую роль, пока добавляю нового участника на страницу организации. Когда я изменил базовый код, я увидел новую роль. Но в расширении это не сработало.
Нужно ли мне делать что-то еще, чтобы изменить файл authz.py в расширении? Вы знаете, как я могу решить эту проблему?
Спасибо,