Spec-Zone.ru › Wagtail

Разрешения

Wagtail адаптирует и расширяет систему разрешений Django, чтобы удовлетворить потребности создания контента сайта, такие как рабочие процессы модерации и совместная работа нескольких команд над разными частями сайта (или несколькими сайтами в одной установке Wagtail). Разрешения можно настроить через раздел «Группы» в интерфейсе администрирования Wagtail, в разделе «Настройки».

Разрешения на страницы

Разрешения могут быть прикреплены в любой точке дерева страниц и распространяются вниз по дереву. Например, если у сайта есть дерево страниц:

MegaCorp/
    About us
    Offices/
        UK
        France
        Germany

то группа с разрешением «изменить» на странице «Офисы» автоматически получит возможность редактировать страницы «Великобритания», «Франция» и «Германия». Разрешения могут быть установлены глобально для всего дерева, назначив их на страницу «корень» — так как все страницы должны существовать под корневым узлом, а корень не может быть удалён, это разрешение охватит все страницы, которые существуют сейчас и в будущем.

Всякий раз, когда пользователь создаёт страницу через администрирование Wagtail, этот пользователь назначается владельцем этой страницы. Любой пользователь с разрешением «добавить» может редактировать страницы, которые он владеет, а также добавлять новые. Это обусловлено тем, что создание страниц обычно является итерационным процессом, включающим создание нескольких черновиков — предоставление пользователю возможности создать черновик, но не позволение ему впоследствии редактировать его, было бы не очень полезно. Возможность редактировать страницу также подразумевает возможность её удаления; в отличие от стандартной модели разрешений Django, нет отдельного разрешения «удалить».

Полный набор доступных типов разрешений следующий:

  • Добавить — предоставляет возможность создавать новые подстраницы под этой страницей (при условии, что модель страницы это позволяет — см. Правила типов родительской страницы / подстраницы), а также редактировать и удалять страницы, принадлежащие текущему пользователю. Опубликованные страницы нельзя удалить, если у пользователя также нет разрешения «опубликовать».
  • Изменить — предоставляет возможность редактировать и удалять эту страницу и все страницы под ней, независимо от владения. Пользователь с только разрешением «изменить» не может создавать новые страницы, только редактировать существующие. Опубликованные страницы нельзя удалить, если у пользователя также нет разрешения «опубликовать».
  • Опубликовать — предоставляет возможность публиковать и отменять публикацию этой страницы и/или её дочерних страниц. Пользователь без разрешения на публикацию не может напрямую вносить изменения, которые видны посетителям сайта; вместо этого они должны предоставить свои изменения для модерации. Разрешение на публикацию не зависит от разрешения на редактирование; пользователь с только разрешением на публикацию не сможет внести какие-либо собственные правки.
  • Удалить массово — позволяет пользователю удалять страницы, имеющие потомков, в одной операции. Без этого разрешения пользователь должен удалять дочерние страницы по отдельности перед удалением родительской. Это предохранение от случайного удаления. Это разрешение должно использоваться совместно с разрешением «добавить» / «изменить», так как оно не предоставляет никаких прав на удаление; оно только предоставляет «сокращение» для разрешений, которыми уже обладает пользователь. Например, пользователь с только разрешениями «добавить» и «удалить массово» сможет удалять массово только если все затронутые страницы принадлежат этому пользователю и не опубликованы.
  • Заблокировать — предоставляет возможность блокировать или разблокировать эту страницу (и все страницы под ней) для редактирования, предотвращая пользователей от внесения дальнейших изменений.

Черновики можно просматривать только если у пользователя есть разрешение «Изменить» или «Опубликовать».

Разрешения на изображения / документы

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

Доступ к определённым наборам изображений и документов можно контролировать, создавая коллекции. По умолчанию все изображения и документы принадлежат коллекции «корень», но пользователи с соответствующими разрешениями могут создавать новые коллекции в разделе «Настройки» —> «Коллекции» интерфейса администрирования. Разрешения, установленные на «корень», применяются ко всем коллекциям, поэтому пользователь с разрешением «редактировать» для изображений в корневой коллекции может редактировать все изображения; разрешения, установленные на другие коллекции, применяются только к этой коллекции и любым её подколлекциям.

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

Разрешения на управление коллекциями

Разрешения на управление коллекциями могут быть прикреплены в любой точке дерева коллекции. Доступные разрешения на управление коллекциями следующие:

  • Добавить — предоставляет возможность создавать новые коллекции под этой коллекцией.
  • Изменить — предоставляет возможность редактировать имя коллекции, изменять её расположение в дереве коллекции и изменять настройки конфиденциальности документов в этой коллекции.
  • Удалить — предоставляет возможность удалять коллекции, добавленные ниже этой коллекции. Примечание: коллекцию нельзя удалить, если у неё есть подколлекции и сама коллекция не пуста.

Примечание

Пользователи не могут перемещать или удалять коллекцию, которая используется для назначения им разрешения на управление коллекциями.

Отображение пользовательских разрешений в администрировании

Большинство разрешений автоматически отображаются в форме редактирования группы Wagtail admin, однако вы также можете добавить их с помощью хука register_permissions, (см. register_permissions).

FieldPanel разрешения

Разрешения могут использоваться для ограничения доступа к полям в интерфейсе редактора. См. permission на FieldPanel.

© 2014-present Torchbox Ltd and individual contributors.
All rights are reserved.
Licensed under the BSD License.
https://docs.wagtail.org/en/stable/topics/permissions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API