Spec-Zone.ru › Wagtail 3

Разрешения

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

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

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

MegaCorp/
    About us
    Offices/
        UK
        France
        Germany

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

Spec-Zone.ru

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