+++ /dev/null
-# -*- coding: utf-8 -*-
-## GroupUserFolder
-## Copyright (C)2006 Ingeniweb
-
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-
-## You should have received a copy of the GNU General Public License
-## along with this program; see the file COPYING. If not, write to the
-## Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-"""
-
-"""
-__version__ = "$Revision: $"
-# $Source: $
-# $Id: __init__.py 40111 2007-04-01 09:12:57Z alecm $
-__docformat__ = 'restructuredtext'
-
-# postonly protections
-try:
- # Zope 2.8.9, 2.9.7 and 2.10.3 (and up)
- from AccessControl.requestmethod import postonly
-except ImportError:
- try:
- # Try the hotfix too
- from Products.Hotfix_20070320 import postonly
- except:
- def postonly(callable): return callable
-
-
-import GroupUserFolder
-import GRUFFolder
-import PatchCatalogTool
-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/LDAPGroupFolder.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, )
- , 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.")