diff --git a/product/ERP5/tests/testAccounting.py b/product/ERP5/tests/testAccounting.py index 50156b5111cfcca35ce71e971f1bc223be2714c7..4fd495805587fd62348e08943b251f72a23048f9 100644 --- a/product/ERP5/tests/testAccounting.py +++ b/product/ERP5/tests/testAccounting.py @@ -42,7 +42,7 @@ from Products.ERP5Type.tests.utils import reindex 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' diff --git a/product/ERP5/tests/testTemplate.py b/product/ERP5/tests/testTemplate.py index 5066b30d43e501f84a4ce00742b1e93c9c37f16b..9ce0298d7947b97f4a7dcb677661cf4f6a7f8a3d 100644 --- a/product/ERP5/tests/testTemplate.py +++ b/product/ERP5/tests/testTemplate.py @@ -35,7 +35,7 @@ from AccessControl.SecurityManagement import newSecurityManager 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): diff --git a/product/ERP5Banking/tests/testERP5BankingAvailableInventory.py b/product/ERP5Banking/tests/testERP5BankingAvailableInventory.py index 87278a9908ef61433ee831ed2b67bbe1bd3741ad..e9670a643fb55250f29bec337c6951b574fc8603 100644 --- a/product/ERP5Banking/tests/testERP5BankingAvailableInventory.py +++ b/product/ERP5Banking/tests/testERP5BankingAvailableInventory.py @@ -36,7 +36,7 @@ from Products.ERP5Banking.tests.testERP5BankingCheckPayment \ 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') diff --git a/product/ERP5Form/Document/Preference.py b/product/ERP5Form/Document/Preference.py index e65a997cc7b8152bbb371bdc8844500b745cdf78..6aa574928f25cbb44d6d8cc4c4cba7c8450a8aba 100644 --- a/product/ERP5Form/Document/Preference.py +++ b/product/ERP5Form/Document/Preference.py @@ -31,9 +31,12 @@ from AccessControl import ClassSecurityInfo 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) diff --git a/product/ERP5Form/PreferenceTool.py b/product/ERP5Form/PreferenceTool.py index eb9b6365a1efb13005fc45ee3332d4fc5970c366..de08cd3a3f4bc8c395c2ed8bc8a873129c67c0e4 100644 --- a/product/ERP5Form/PreferenceTool.py +++ b/product/ERP5Form/PreferenceTool.py @@ -41,10 +41,15 @@ from Products.ERP5Type.Cache import CachingMethod 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 diff --git a/product/ERP5Form/tests/testPreferences.py b/product/ERP5Form/tests/testPreferences.py index 1245eed57b02dae4c51cd9840c97aeed34ea1514..ce548f4b2e5160cc83cf143d5ce1e23bc9883e27 100644 --- a/product/ERP5Form/tests/testPreferences.py +++ b/product/ERP5Form/tests/testPreferences.py @@ -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') diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py index 9e5015aa1b00a362949afd7a2acda37d15d37104..f571a5c58522eb3c210ae4da02f2c711c2b1a66f 100644 --- a/product/ERP5OOo/tests/testDms.py +++ b/product/ERP5OOo/tests/testDms.py @@ -63,7 +63,7 @@ from AccessControl.SecurityManagement import newSecurityManager 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