1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
##############################################################################
#
# Copyright (c) 2002-2004+ Ingeniweb SARL
#
##############################################################################
"""GroupUserFolder product"""
import GroupUserFolder
import GRUFFolder
try:
import Products.LDAPUserFolder
hasLDAP = 1
except ImportError:
hasLDAP = 0
from global_symbols import *
# Plone import try/except
try:
from Products.CMFCore.DirectoryView import registerDirectory
import GroupsToolPermissions
except:
# No registerdir available -> we ignore
pass
# Used in Extension/install.py
global groupuserfolder_globals
groupuserfolder_globals=globals()
# LDAPUserFolder patching
if hasLDAP:
import LDAPGroupFolder
def patch_LDAPUF():
# Now we can patch LDAPUF
from Products.LDAPUserFolder import LDAPUserFolder
import LDAPUserFolderAdapter
LDAPUserFolder._doAddUser = LDAPUserFolderAdapter._doAddUser
LDAPUserFolder._doDelUsers = LDAPUserFolderAdapter._doDelUsers
LDAPUserFolder._doChangeUser = LDAPUserFolderAdapter._doChangeUser
LDAPUserFolder._find_user_dn = LDAPUserFolderAdapter._find_user_dn
LDAPUserFolder.manage_editGroupRoles = LDAPUserFolderAdapter.manage_editGroupRoles
LDAPUserFolder._mangleRoles = LDAPUserFolderAdapter._mangleRoles
# Patch LDAPUF : XXX FIXME: have to find something cleaner here?
patch_LDAPUF()
def initialize(context):
try:
registerDirectory('skins', groupuserfolder_globals)
except:
# No registerdir available => we ignore
pass
context.registerClass(
GroupUserFolder.GroupUserFolder,
permission='Add GroupUserFolders',
constructors=(GroupUserFolder.manage_addGroupUserFolder,),
icon='www/GroupUserFolder.gif',
)
if hasLDAP:
context.registerClass(
LDAPGroupFolder.LDAPGroupFolder,
permission='Add GroupUserFolders',
constructors=(LDAPGroupFolder.addLDAPGroupFolderForm, LDAPGroupFolder.manage_addLDAPGroupFolder,),
icon='www/GroupUserFolder.gif',
)
context.registerClass(
GRUFFolder.GRUFUsers,
permission='Add GroupUserFolder',
constructors=(GRUFFolder.manage_addGRUFUsers,),
visibility=None,
icon='www/GRUFUsers.gif',
)
context.registerClass(
GRUFFolder.GRUFGroups,
permission='Add GroupUserFolder',
constructors=(GRUFFolder.manage_addGRUFGroups,),
visibility=None,
icon='www/GRUFGroups.gif',
)
try:
from Products.CMFCore.utils import ToolInit, ContentInit
from GroupsTool import GroupsTool
from GroupDataTool import GroupDataTool
ToolInit( meta_type='CMF Groups Tool'
, tools=( GroupsTool, GroupDataTool, )
, product_name='GroupUserFolder'
, icon="tool.gif"
).initialize( context )
except ImportError:
Log(LOG_NOTICE, "Unable to import GroupsTool and/or GroupDataTool. \
This won't disable GRUF but if you use CMF/Plone you won't get benefit of its special features.")
|