Модуль Configuration
Детали конфигурации вашего контент-типа, файл 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"...

Предыдущий: Модуль interfaces
