Персональные инструменты

Модуль Configuration

Автор: Ирина Бессарабова Последнее изменение: 2011-05-01 19:46

Детали конфигурации вашего контент-типа, файл config.py

Сначала мы должны импортировать класс DisplayList из Архетипов:

from Products.Archetypes.atapi import DisplayList

DisplayList — это контейнер данных, которые используются для выпадающих списков, радиокнопок, чекбоксов. Скажем, мы хотим, чтобы сообщения были с приоритетом High, Normal и Low. Мы определим их позже в файле.

Следующие две строчки определяют имя проекта и директорию со скинами. Значением PROJECTNAME должно быть имя пакета: example.archetype.

PROJECTNAME = "example.archetype"

Теперь нам нужно определить значения для выпадающего списка Priority. Мы  сделаем это, используя служебный класс, который предоставляют Архетипы:

MESSAGE_PRIORITIES = DisplayList((
    ('high', 'High Priority'),
    ('normal', 'Normal Priority'),
    ('low', 'Low Priority'),
    ))

Нам также необходимо определить право на добавление контент-типа (или несколько прав для разных контент-типов): :

ADD_CONTENT_PERMISSIONS = {
    'InstantMessage': 'example.archetype: Add InstantMessage',
 }

Рекомендуется использовать стандартный способ наименования прав: <имя продукта>: <имя права>. Это позволит группировать связанные права в списке прав в ZMI (вкладка Security) и администратору будет легче понять какое право какому продукту принадлежит.

Заметьте, что вам не нужно определять свои собственные права доступа на редактирование и просмотр контента, если у вас не сложный случай, который требует дополнительных настроек безопасности. В нашем простом случае мы будем просто использовать общие права доступа, определенные в CMFCore.permissions: "View", "Modify portal content"...

Действия с Документом