r13579 - in MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk: docs src/archetypes/referencebrowserwidget/browser

"David Glick" <[email protected]> Mon, 11 Apr 2011 15:27:33 +0000
Newsgroups gmane.comp.web.zope.plone.archetypes.cvs
Message-ID <[email protected]>
Author: davisagli
Date: Mon Apr 11 15:27:32 2011
New Revision: 13579

Modified:
   MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/docs/CHANGES.txt
   MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/browser/view.py
Log:
fix regression in UID lookup

Modified: MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/docs/CHANGES.txt
==============================================================================
--- MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/docs/CHANGES.txt	(original)
+++ MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/docs/CHANGES.txt	Mon Apr 11 15:27:32 2011
@@ -4,6 +4,11 @@
 2.4 - Unreleased
 ----------------
 
+* Fix regression in UID lookup in cases where plone.uuid is present, but not
+  used for Archetypes content (such as with plone.app.discussion 1.0 on Plone
+  4.0)
+  [davisagli]
+
 2.3 - 2011-04-01
 ----------------
 

Modified: MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/browser/view.py
==============================================================================
--- MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/browser/view.py	(original)
+++ MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/browser/view.py	Mon Apr 11 15:27:32 2011
@@ -70,10 +70,12 @@
         """ Helper to get UID in restricted code without having rights to
             access the object
         """
+        uid = None
         if HAS_UUID:
-            return IUUID(ref, None)
-        else:
-            return ref.UID()
+            uid = IUUID(ref, None)
+        if uid is None and hasattr(aq_base(ref), 'UID'):
+            uid = ref.UID()
+        return uid
 
     def getStartupDirectory(self, field):
         """ Return the URL to the startup directory. """

------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev