From 886d825400f75636042c3fda3e49be2935dbca6b Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Fri, 14 Oct 2005 08:28:21 +0000
Subject: [PATCH] Try to import transaction.get as get_transaction for ZODB 3.5
 or later.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@4014 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/CMFActivity/Activity/RAMDict.py      | 5 +++++
 product/CMFActivity/Activity/RAMQueue.py     | 5 +++++
 product/CMFActivity/Activity/SQLDict.py      | 5 +++++
 product/CMFActivity/Activity/SQLQueue.py     | 5 +++++
 product/CMFActivity/ActivityBuffer.py        | 5 +++++
 product/CMFActivity/tests/testCMFActivity.py | 5 +++++
 product/CMFCategory/tests/testCMFCategory.py | 5 +++++
 product/ERP5Type/Base.py                     | 5 +++++
 product/ERP5Type/tests/ERP5TypeTestCase.py   | 7 ++++++-
 product/ERP5Type/tests/Sequence.py           | 5 +++++
 product/ERP5Type/tests/testXMLMatrix.py      | 5 ++++-
 11 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/product/CMFActivity/Activity/RAMDict.py b/product/CMFActivity/Activity/RAMDict.py
index 2fa8c0dc9e..088504f196 100755
--- a/product/CMFActivity/Activity/RAMDict.py
+++ b/product/CMFActivity/Activity/RAMDict.py
@@ -32,6 +32,11 @@ from Products.CMFActivity.ActiveObject import DISTRIBUTABLE_STATE, INVOKE_ERROR_
 
 from zLOG import LOG
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 class RAMDict(Queue):
   """
     A simple RAM based queue. It is not compatible with transactions which
diff --git a/product/CMFActivity/Activity/RAMQueue.py b/product/CMFActivity/Activity/RAMQueue.py
index 5d6f9db07d..627ac04e48 100755
--- a/product/CMFActivity/Activity/RAMQueue.py
+++ b/product/CMFActivity/Activity/RAMQueue.py
@@ -30,6 +30,11 @@ from Products.CMFActivity.ActivityTool import registerActivity
 from Queue import Queue, VALID
 from Products.CMFActivity.ActiveObject import DISTRIBUTABLE_STATE, INVOKE_ERROR_STATE, VALIDATE_ERROR_STATE
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 class RAMQueue(Queue):
   """
     A simple RAM based queue
diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py
index d98c38af00..42c0d1eb8d 100755
--- a/product/CMFActivity/Activity/SQLDict.py
+++ b/product/CMFActivity/Activity/SQLDict.py
@@ -34,6 +34,11 @@ from RAMDict import RAMDict
 from Products.CMFActivity.ActiveObject import DISTRIBUTABLE_STATE, INVOKE_ERROR_STATE, VALIDATE_ERROR_STATE
 from ZODB.POSException import ConflictError
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 from zLOG import LOG
 
 MAX_PRIORITY = 5
diff --git a/product/CMFActivity/Activity/SQLQueue.py b/product/CMFActivity/Activity/SQLQueue.py
index 9839272a10..5b1a1ea925 100755
--- a/product/CMFActivity/Activity/SQLQueue.py
+++ b/product/CMFActivity/Activity/SQLQueue.py
@@ -33,6 +33,11 @@ from DateTime import DateTime
 from Queue import VALID, INVALID_ORDER, INVALID_PATH, EXCEPTION, MAX_PROCESSING_TIME, VALIDATION_ERROR_DELAY, SECONDS_IN_DAY
 from Products.CMFActivity.ActiveObject import DISTRIBUTABLE_STATE, INVOKE_ERROR_STATE, VALIDATE_ERROR_STATE
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 from zLOG import LOG
 
 MAX_PRIORITY = 5
diff --git a/product/CMFActivity/ActivityBuffer.py b/product/CMFActivity/ActivityBuffer.py
index bda09081ec..c64fe40ef5 100755
--- a/product/CMFActivity/ActivityBuffer.py
+++ b/product/CMFActivity/ActivityBuffer.py
@@ -27,6 +27,11 @@ from Shared.DC.ZRDB.TM import TM
 from zLOG import LOG, ERROR, INFO
 import sys
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 class ActivityBuffer(TM):
 
     _p_oid=_p_changed=_registered=None
diff --git a/product/CMFActivity/tests/testCMFActivity.py b/product/CMFActivity/tests/testCMFActivity.py
index fd34a48915..01f3abff0b 100755
--- a/product/CMFActivity/tests/testCMFActivity.py
+++ b/product/CMFActivity/tests/testCMFActivity.py
@@ -50,6 +50,11 @@ from Acquisition import aq_base, aq_inner
 from zLOG import LOG
 import time
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 class TestCMFActivity(ERP5TypeTestCase):
 
   run_all_test = 1
diff --git a/product/CMFCategory/tests/testCMFCategory.py b/product/CMFCategory/tests/testCMFCategory.py
index 87cdb32cc6..dd683cec9b 100755
--- a/product/CMFCategory/tests/testCMFCategory.py
+++ b/product/CMFCategory/tests/testCMFCategory.py
@@ -48,6 +48,11 @@ from AccessControl.SecurityManagement import newSecurityManager, noSecurityManag
 from zLOG import LOG
 import time
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 class TestCMFCategory(ERP5TypeTestCase):
 
   # Different variables used for this test
diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py
index 9453c1355a..27fb0a021e 100755
--- a/product/ERP5Type/Base.py
+++ b/product/ERP5Type/Base.py
@@ -70,6 +70,11 @@ from email import Encoders
 from socket import gethostname, gethostbyaddr
 import random
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 from zLOG import LOG, INFO, ERROR, WARNING
 
 class WorkflowMethod(Method):
diff --git a/product/ERP5Type/tests/ERP5TypeTestCase.py b/product/ERP5Type/tests/ERP5TypeTestCase.py
index 81b1e92b0b..419606e6b1 100755
--- a/product/ERP5Type/tests/ERP5TypeTestCase.py
+++ b/product/ERP5Type/tests/ERP5TypeTestCase.py
@@ -14,6 +14,11 @@ from Products.ERP5Type.Utils import getLocalDocumentList, removeLocalDocument
 from Products.ERP5Type.Utils import getLocalConstraintList, removeLocalConstraint
 from zLOG import LOG
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 # Std Zope Products
 ZopeTestCase.installProduct('ExtFile')
 ZopeTestCase.installProduct('Photo')
@@ -127,7 +132,7 @@ class ERP5TypeTestCase(PortalTestCase):
       Most of the time, we need to login before doing anything
       """
       uf = self.getPortal().acl_users
-      uf._doAddUser('ERP5TypeTestCase', '', ['Manager'], [])
+      uf._doAddUser('ERP5TypeTestCase', '', ['Manager', 'Member'], [])
       user = uf.getUserById('ERP5TypeTestCase').__of__(uf)
       newSecurityManager(None, user)
 
diff --git a/product/ERP5Type/tests/Sequence.py b/product/ERP5Type/tests/Sequence.py
index ff40b3bdd8..bd871edd88 100755
--- a/product/ERP5Type/tests/Sequence.py
+++ b/product/ERP5Type/tests/Sequence.py
@@ -30,6 +30,11 @@ from Testing import ZopeTestCase
 from zLOG import LOG
 import random
 
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
 class Step:
 
   def __init__(self,method_name='',required=1,max_replay=1):
diff --git a/product/ERP5Type/tests/testXMLMatrix.py b/product/ERP5Type/tests/testXMLMatrix.py
index fedd0c5e7b..586a4d0f4f 100755
--- a/product/ERP5Type/tests/testXMLMatrix.py
+++ b/product/ERP5Type/tests/testXMLMatrix.py
@@ -44,7 +44,10 @@ from Products.ERP5Type.Utils import cartesianProduct
 from AccessControl.SecurityManagement import newSecurityManager, noSecurityManager
 from zLOG import LOG
 
-from zLOG import LOG
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
 
 class TestXMLMatrix(ERP5TypeTestCase):
 
-- 
2.30.9