Трясогузка установить дополнительные разрешения для MyPage

Трясогузка новичок здесь.

Я пытаюсь добавить некоторые дополнительные разрешения для определенных моделей, но ничего не появляется в «админке трясогузки». Я могу сделать это способом «джанго», но у меня сложилось впечатление, что трясогузка может справиться с разрешениями такого типа. Я не смог найти подсказок в документации по трясогузкам.

У меня есть новая модель с именем «MyPage»:

class MyPage(Page):
    [...]

    class Meta:
        permissions = (
        ('view_restricted_document', 'can view restricted documents'),
    )

Как сделать это разрешение доступным в разделе групп администратора трясогузки?


person jcuot    schedule 06.06.2016    source источник


Ответы (1)


Оказывается, есть крючок для трясогузок, который делает именно это: «register_permsissions».

Создайте файл с именем «wagtail_hooks.py», если он не существует в вашем приложении, и введите следующее:

from wagtail.wagtailcore import hooks
from django.contrib.auth.models import Permission

@hooks.register('register_permissions')
def view_restricted_page():
    return Permission.objects.filter(codename="view_restricted_document")

Вот и все. Теперь, если я просматриваю раздел групп, в разделе «Другие разрешения» я могу просмотреть дополнительную опцию «может просматривать документ с ограниченным доступом».

person jcuot    schedule 22.06.2016