[Erp5-report] r36176 seb - in /erp5/trunk/products: ERP5/tests/ ERP5Banking/tests/ ERP5Form...

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jun 10 00:25:20 CEST 2010


Author: seb
Date: Thu Jun 10 00:25:20 2010
New Revision: 36176

URL: http://svn.erp5.org?rev=36176&view=rev
Log:
* Make sure that the list of property sheets with name ending
  with preference is correctly initialized before calling
  _aq_dynamic on a portal type using class Preference. This solve
  issues when _aq_dynamic was called on a Preference before
  any need of _aq_dynamic on PreferenceTool
* Move Priority class from ERP5Form.Document.Preference to
  ERP5Form.PrefrenceTool in order to solve circular imports

Modified:
    erp5/trunk/products/ERP5/tests/testAccounting.py
    erp5/trunk/products/ERP5/tests/testTemplate.py
    erp5/trunk/products/ERP5Banking/tests/testERP5BankingAvailableInventory.py
    erp5/trunk/products/ERP5Form/Document/Preference.py
    erp5/trunk/products/ERP5Form/PreferenceTool.py
    erp5/trunk/products/ERP5Form/tests/testPreferences.py
    erp5/trunk/products/ERP5OOo/tests/testDms.py

Modified: erp5/trunk/products/ERP5/tests/testAccounting.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testAccounting.py?rev=36176&r1=36175&r2=36176&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testAccounting.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testAccounting.py [utf8] Thu Jun 10 00:25:20 2010
@@ -42,7 +42,7 @@ from Products.ERP5Type.tests.utils impor
 from Products.DCWorkflow.DCWorkflow import ValidationFailed
 from AccessControl.SecurityManagement import newSecurityManager
 from Products.ERP5Type.tests.Sequence import SequenceList
-from Products.ERP5Form.Document.Preference import Priority
+from Products.ERP5Form.PreferenceTool import Priority
 
 SOURCE = 'source'
 DESTINATION = 'destination'

Modified: erp5/trunk/products/ERP5/tests/testTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTemplate.py?rev=36176&r1=36175&r2=36176&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTemplate.py [utf8] Thu Jun 10 00:25:20 2010
@@ -35,7 +35,7 @@ from AccessControl.SecurityManagement im
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
 from Products.ERP5Type.tests.backportUnittest import expectedFailure
 from Products.ERP5Type import Permissions
-from Products.ERP5Form.Document.Preference import Priority
+from Products.ERP5Form.PreferenceTool import Priority
 
 
 class TestTemplate(ERP5TypeTestCase):

Modified: erp5/trunk/products/ERP5Banking/tests/testERP5BankingAvailableInventory.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Banking/tests/testERP5BankingAvailableInventory.py?rev=36176&r1=36175&r2=36176&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Banking/tests/testERP5BankingAvailableInventory.py [utf8] (original)
+++ erp5/trunk/products/ERP5Banking/tests/testERP5BankingAvailableInventory.py [utf8] Thu Jun 10 00:25:20 2010
@@ -36,7 +36,7 @@ from Products.ERP5Banking.tests.testERP5
       import TestERP5BankingCheckPaymentMixin
 from Products.ERP5Banking.tests.testERP5BankingMoneyDeposit \
       import TestERP5BankingMoneyDepositMixin
-from Products.ERP5Form.Document.Preference import Priority
+from Products.ERP5Form.PreferenceTool import Priority
 
 # Needed in order to have a log file inside the current folder
 os.environ['EVENT_LOG_FILE']     = os.path.join(os.getcwd(), 'zLOG.log')

Modified: erp5/trunk/products/ERP5Form/Document/Preference.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/Document/Preference.py?rev=36176&r1=36175&r2=36176&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/Document/Preference.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/Document/Preference.py [utf8] Thu Jun 10 00:25:20 2010
@@ -31,9 +31,12 @@ from AccessControl import ClassSecurityI
 from Products.ERP5Type import Permissions, PropertySheet, Constraint
 from Products.ERP5Type.Core.Folder import Folder
 from Products.CMFCore.utils import getToolByName
+from Products.ERP5Form.PreferenceTool import PreferenceTool
 
 class Priority:
-  """ names for priorities """
+  """ names for priorities
+      XXX This was moved to PreferenceTool directly
+  """
   SITE  = 1
   GROUP = 2
   USER  = 3
@@ -89,3 +92,11 @@ class Preference( Folder ):
   def disable(self):
     """Workflow method"""
     self._clearCache()
+
+  def _aq_dynamic(self, id):
+    """ force _aq_dynamic on preference tool, because list of property sheet of
+        preferences depends on the code of PreferenceTool._aq_dynamic"""
+    if not PreferenceTool.aq_preference_generated:
+      portal = self.getPortalObject()
+      portal.portal_preferences._aq_dynamic('dummy')
+    return Preference.inheritedAttribute('_aq_dynamic')(self, id)

Modified: erp5/trunk/products/ERP5Form/PreferenceTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/PreferenceTool.py?rev=36176&r1=36175&r2=36176&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/PreferenceTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/PreferenceTool.py [utf8] Thu Jun 10 00:25:20 2010
@@ -41,10 +41,15 @@ from Products.ERP5Type.Cache import Cach
 from Products.ERP5Type.Utils import convertToUpperCase
 from Products.ERP5Type.Accessor.TypeDefinition import list_types
 from Products.ERP5Form import _dtmldir
-from Products.ERP5Form.Document.Preference import Priority
 
 _marker = object()
 
+class Priority:
+  """ names for priorities """
+  SITE  = 1
+  GROUP = 2
+  USER  = 3
+
 def updatePreferenceClassPropertySheetList():
   # The Preference class should be imported from the common location
   # in ERP5Type since it could be overloaded in another product

Modified: erp5/trunk/products/ERP5Form/tests/testPreferences.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testPreferences.py?rev=36176&r1=36175&r2=36176&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testPreferences.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/tests/testPreferences.py [utf8] Thu Jun 10 00:25:20 2010
@@ -37,7 +37,7 @@ from zExceptions import Unauthorized
 from DateTime import DateTime
 
 from Products.ERP5Type.tests.testERP5Type import PropertySheetTestCase
-from Products.ERP5Form.Document.Preference import Priority
+from Products.ERP5Form.PreferenceTool import Priority
 from Products.ERP5.PropertySheet.HtmlStylePreference import HtmlStylePreference
 
 default_large_image_height, = [pref.get('default')

Modified: erp5/trunk/products/ERP5OOo/tests/testDms.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/testDms.py?rev=36176&r1=36175&r2=36176&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/testDms.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/tests/testDms.py [utf8] Thu Jun 10 00:25:20 2010
@@ -63,7 +63,7 @@ from AccessControl.SecurityManagement im
 from AccessControl import getSecurityManager
 from zLOG import LOG
 from Products.ERP5.Document.Document import NotConvertedError
-from Products.ERP5Form.Document.Preference import Priority
+from Products.ERP5Form.PreferenceTool import Priority
 from Products.ERP5Type.tests.utils import createZODBPythonScript
 import os
 from threading import Thread




More information about the Erp5-report mailing list