[Testbot] Plone 5.0 - Python 2.7 - Build # 1926 - Improvement! - 2 failure(s)
jenkins at plone.org
jenkins at plone.org
Wed Mar 12 03:29:42 UTC 2014
-------------------------------------------------------------------------------
Plone 5.0 - Python 2.7 - Build # 1926 - Still Failing!
-------------------------------------------------------------------------------
http://jenkins.plone.org/job/plone-5.0-python-2.7/1926/
-------------------------------------------------------------------------------
CHANGES
-------------------------------------------------------------------------------
Repository: Products.PlonePAS
Branch: refs/heads/master
Date: 2014-03-11T21:34:32-05:00
Author: Nathan Van Gheem (vangheem) <vangheem at gmail.com>
Commit: https://github.com/plone/Products.PlonePAS/commit/c9a3967a2b697e8786a8a24886e1490fef6f15e8
do not write on read
Files changed:
M CHANGES.txt
M Products/PlonePAS/tools/memberdata.py
diff --git a/CHANGES.txt b/CHANGES.txt
index de11cfd..553068b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -4,6 +4,9 @@ Changelog
4.1.3 (unreleased)
------------------
+- Do not write member data on read
+ [vangheem]
+
- Allow ``properties`` to be passed to ``PloneUser.setProperties``.
This was previously ignored as ``setProperties`` solely utilised
keyword arguments.
diff --git a/Products/PlonePAS/tools/memberdata.py b/Products/PlonePAS/tools/memberdata.py
index 45b3c62..812b693 100644
--- a/Products/PlonePAS/tools/memberdata.py
+++ b/Products/PlonePAS/tools/memberdata.py
@@ -170,6 +170,20 @@ def searchFulltextForMembers(self, s):
res.append(member)
return res
+ #### check to see if we can add users. Need to be careful here
+ #### so we do not write on read
+ def canAddMemberData(self):
+ try:
+ if self.REQUEST.REQUEST_METHOD != 'POST':
+ return False
+ if getattr(self, '_p_jar', None) and \
+ len(self._p_jar._registered_objects) > 0:
+ # XXX do not write on read
+ return True
+ except AttributeError:
+ pass
+ return False
+
#### an exact copy from the base, so that we pick up the new MemberData.
#### wrapUser should have a MemberData factory method to over-ride (or even
#### set at run-time!) so that we don't have to do this.
@@ -183,10 +197,15 @@ def wrapUser(self, u):
members = self._members
if not id in members:
base = aq_base(self)
- members[id] = MemberData(base, id)
- # Return a wrapper with self as containment and
- # the user as context.
- return members[id].__of__(self).__of__(u)
+ md = MemberData(base, id)
+ if self.canAddMemberData():
+ # XXX do not write on read
+ members[id] = md
+ return md.__of__(self).__of__(u)
+ else:
+ # Return a wrapper with self as containment and
+ # the user as context.
+ return members[id].__of__(self).__of__(u)
@postonly
def deleteMemberData(self, member_id, REQUEST=None):
-------------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CHANGES.log
Type: application/octet-stream
Size: 2551 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140312/b65c5c28/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log
Type: application/octet-stream
Size: 123314 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140312/b65c5c28/attachment-0003.obj>
More information about the Testbot
mailing list