[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py - use shared base class for different member area factories

Yvo Schubbe cvs-admin at zope.org
Wed Jul 31 10:30:15 CEST 2013


Log message for revision 130280:
  - use shared base class for different member area factories

Changed:
  U   Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py

-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py	2013-07-30 12:44:56 UTC (rev 130279)
+++ Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py	2013-07-31 08:30:14 UTC (rev 130280)
@@ -543,27 +543,40 @@
 
 
 @implementer(IFactory)
-class _BBBMemberAreaFactory(object):
+class MemberAreaFactoryBase(object):
 
     """Creates a member area.
     """
 
     title = _(u'Member Area')
-    description = _(u'Classic CMFCore home folder for portal members.')
+    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'])
+        return item
 
+    def getInterfaces(self):
+        return implementedBy(PortalFolder)
+
+
+class _BBBMemberAreaFactory(MemberAreaFactoryBase):
+
+    """Creates a member area.
+    """
+
+    description = _(u'Classic CMFCore home folder for portal members.')
+
+    def __call__(self, id, title=None, *args, **kw):
+        item = super(_BBBMemberAreaFactory,
+                     self).__call__(id, title=title, *args, **kw)
+
         item.manage_permission(View,
                                ['Owner', 'Manager', 'Reviewer'], 0)
         item.manage_permission(AccessContentsInformation,
                                ['Owner', 'Manager', 'Reviewer'], 0)
         return item
 
-    def getInterfaces(self):
-        return implementedBy(PortalFolder)
-
 BBBMemberAreaFactory = _BBBMemberAreaFactory()



More information about the checkins mailing list