[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ - fixed tool initialization

Yvo Schubbe y.2011 at wcm-solutions.de
Fri Feb 25 08:13:48 EST 2011


Log message for revision 120571:
  - fixed tool initialization

Changed:
  U   Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
  U   Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py
  U   Products.CMFCore/trunk/Products/CMFCore/tests/test_MemberDataTool.py

-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2011-02-25 13:03:58 UTC (rev 120570)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2011-02-25 13:13:48 UTC (rev 120571)
@@ -4,6 +4,9 @@
 2.3.0-alpha (unreleased)
 ------------------------
 
+- MemberDataTool: Fixed tool initialization.
+  The default boolean and date property values were not set correctly.
+
 - MemberDataTool: Modified 'setProperties' method.
   It now can be used by user managers as well.
 

Modified: Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py	2011-02-25 13:03:58 UTC (rev 120570)
+++ Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py	2011-02-25 13:13:48 UTC (rev 120571)
@@ -15,7 +15,6 @@
 
 from AccessControl.interfaces import IUser
 from AccessControl.SecurityInfo import ClassSecurityInfo
-from AccessControl.SecurityManagement import getSecurityManager
 from Acquisition import aq_base
 from Acquisition import aq_inner
 from Acquisition import aq_parent
@@ -53,7 +52,13 @@
 
     id = 'portal_memberdata'
     meta_type = 'CMF Member Data Tool'
-    _properties = ()
+    _properties = (
+        {'id': 'email', 'type': 'string', 'mode': 'wd'},
+        {'id': 'portal_skin', 'type': 'string', 'mode': 'wd'},
+        {'id': 'listed', 'type': 'boolean', 'mode': 'wd'},
+        {'id': 'login_time', 'type': 'date', 'mode': 'wd'},
+        {'id': 'last_login_time', 'type': 'date', 'mode': 'wd'},
+        )
 
     security = ClassSecurityInfo()
 
@@ -78,11 +83,11 @@
     def __init__(self):
         self._members = OOBTree()
         # Create the default properties.
-        self._setProperty('email', '', 'string')
-        self._setProperty('portal_skin', '', 'string')
-        self._setProperty('listed', '', 'boolean')
-        self._setProperty('login_time', '2000/01/01', 'date')
-        self._setProperty('last_login_time', '2000/01/01', 'date')
+        self._updateProperty('email', '')
+        self._updateProperty('portal_skin', '')
+        self._updateProperty('listed', '')
+        self._updateProperty('login_time', '2000/01/01')
+        self._updateProperty('last_login_time', '2000/01/01')
 
     #
     #   'portal_memberdata' interface methods

Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_MemberDataTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_MemberDataTool.py	2011-02-25 13:03:58 UTC (rev 120570)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_MemberDataTool.py	2011-02-25 13:13:48 UTC (rev 120571)
@@ -69,6 +69,16 @@
 
         verifyClass(IMemberDataTool, self._getTargetClass())
 
+    def test_new(self):
+        tool = self._makeOne()
+        self.assertEqual(tool.getProperty('email'), '')
+        self.assertEqual(tool.getProperty('portal_skin'), '')
+        self.assertEqual(tool.getProperty('listed'), False)
+        self.assertEqual(tool.getProperty('login_time'),
+                         DateTime('2000/01/01 00:00:00'))
+        self.assertEqual(tool.getProperty('last_login_time'),
+                         DateTime('2000/01/01 00:00:00'))
+
     def test_deleteMemberData(self):
         tool = self._makeOne()
         tool.registerMemberData('Dummy', 'user_foo')
@@ -148,8 +158,8 @@
         newSecurityManager(None, user)
         member.setProperties()
         self.assertEqual(member.getProperty('email'), '')
-        # MemberDataTool is initialized with a string date
-        self.assertEqual(member.getProperty('login_time'), '2000/01/01')
+        self.assertEqual(member.getProperty('login_time'),
+                         DateTime('2000/01/01 00:00:00'))
 
         member.setProperties({'email': 'BOB at EXAMPLE.ORG',
                               'login_time': '2000/02/02'})



More information about the checkins mailing list