From 6f66bae9465fd64e783c2376dd15c5d9e7d52aa0 Mon Sep 17 00:00:00 2001 From: Romain Courteaud <romain@nexedi.com> Date: Wed, 14 Mar 2018 16:59:53 +0100 Subject: [PATCH] PreferenceTool: do not return the default _marker --- product/ERP5Form/PreferenceTool.py | 2 ++ product/ERP5Form/tests/testPreferences.py | 1 + 2 files changed, 3 insertions(+) diff --git a/product/ERP5Form/PreferenceTool.py b/product/ERP5Form/PreferenceTool.py index 50575a8d77..f08bd7b87c 100644 --- a/product/ERP5Form/PreferenceTool.py +++ b/product/ERP5Form/PreferenceTool.py @@ -130,6 +130,8 @@ class PreferenceTool(BaseTool): method = getattr(self, 'get%s' % convertToUpperCase(pref_name), None) if method is not None: return method(default) + if default is _marker: + return None return default security.declareProtected(Permissions.ModifyPortalContent, "setPreference") diff --git a/product/ERP5Form/tests/testPreferences.py b/product/ERP5Form/tests/testPreferences.py index c6bf912e12..8b8f18b316 100644 --- a/product/ERP5Form/tests/testPreferences.py +++ b/product/ERP5Form/tests/testPreferences.py @@ -225,6 +225,7 @@ class TestPreferences(PropertySheetTestCase): 'preferred_accounting_transaction_simulation_state_list')), list(group.getPreferredAccountingTransactionSimulationStateList())) + self.assertEqual(None, pref_tool.getPreference('this_does_not_exists')) self.assertEqual('default', pref_tool.getPreference( 'this_does_not_exists', 'default')) -- 2.30.9