[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/MembershipTool.py - use shared base class for different member area factories
Yvo Schubbe
cvs-admin at zope.org
Wed Jul 31 10:31:08 CEST 2013
Log message for revision 130281:
- use shared base class for different member area factories
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/MembershipTool.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/MembershipTool.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/MembershipTool.py 2013-07-31 08:30:14 UTC (rev 130280)
+++ Products.CMFDefault/trunk/Products/CMFDefault/MembershipTool.py 2013-07-31 08:31:08 UTC (rev 130281)
@@ -19,15 +19,13 @@
from App.class_init import InitializeClass
from App.special_dtml import DTMLFile
from zope.component import getUtility
-from zope.component.interfaces import IFactory
from zope.globalrequest import getRequest
-from zope.interface import implementedBy
from zope.interface import implementer
from ZPublisher.BaseRequest import RequestContainer
from Products.CMFCore.interfaces import IMembershipTool as IBaseTool
+from Products.CMFCore.MembershipTool import MemberAreaFactoryBase
from Products.CMFCore.MembershipTool import MembershipTool as BaseTool
-from Products.CMFCore.PortalFolder import PortalFolder
from Products.CMFCore.utils import _checkPermission
from Products.CMFDefault.Document import Document
from Products.CMFDefault.interfaces import IMembershipTool
@@ -150,20 +148,14 @@
InitializeClass(MembershipTool)
- at implementer(IFactory)
-class _MemberAreaFactory(object):
+class _MemberAreaFactory(MemberAreaFactoryBase):
"""Creates a member area.
"""
- title = _(u'Member Area')
- description = _(u'A home folder for portal members.')
-
def __call__(self, id, title=None, *args, **kw):
- if title is None:
- title = "{0}'s Home".format(id)
- item = PortalFolder(id, title, *args, **kw)
- item.manage_setLocalRoles(id, ['Owner'])
+ item = super(_MemberAreaFactory,
+ self).__call__(id, title=title, *args, **kw)
# Create Member's initial content
subitem = Document('index_html', "{0}'s Home".format(id),
@@ -174,26 +166,19 @@
item._setObject('index_html', subitem, suppress_events=True)
return item
- def getInterfaces(self):
- return implementedBy(PortalFolder)
-
MemberAreaFactory = _MemberAreaFactory()
- at implementer(IFactory)
-class _BBBMemberAreaFactory(object):
+class _BBBMemberAreaFactory(MemberAreaFactoryBase):
"""Creates a member area.
"""
- title = _(u'Member Area')
description = _(u'Classic CMFDefault home folder for portal members.')
def __call__(self, id, title=None, *args, **kw):
- if title is None:
- title = "{0}'s Home".format(id)
- item = PortalFolder(id, title, *args, **kw)
- item.manage_setLocalRoles(id, ['Owner'])
+ item = super(_BBBMemberAreaFactory,
+ self).__call__(id, title=title, *args, **kw)
# Create Member's initial content
mtool = getUtility(IBaseTool)
@@ -210,7 +195,4 @@
item._setObject('index_html', subitem, suppress_events=True)
return item
- def getInterfaces(self):
- return implementedBy(PortalFolder)
-
BBBMemberAreaFactory = _BBBMemberAreaFactory()
More information about the checkins
mailing list