# -*- coding: utf-8 -*- #$Id$ try: from Products.CMFCore.permissions import setDefaultRoles except ImportError: # for CMF 1.4 from Products.CMFCore.CMFCorePermissions import setDefaultRoles import Products.Archetypes.public as atapi import config # パーミッションとロールの設定を作成します。この関数は__init__.pyから呼び出 # されています。 def initialize(): # 最終的に出力するコンテンツタイプ別のパーミッションを格納する入れ物 permissions = {} # Archetypeへ登録されているコンテンツタイプの一覧を取得します。 types = atapi.listTypes(config.PROJECTNAME) # 各コンテンツタイプ毎にパーミッション設定を追加します。 for atype in types: # ZMIのpermissionタブに表示されるパーミッション名を作成します。 permission = "%s: Add %s" % (config.PROJECTNAME, atype['portal_type']) # コンテンツタイプの辞書に作成したパーミッションを保存します。 permissions[atype['portal_type']] = permission # パーミッション名と、パーミッション名に対応するロール毎のアクセス # 許可をCMFCoreに設定します。 setDefaultRoles(permission, ('Manager','Owner')) return permissions