From c18fd4911643717412a5e2105448d558a9a4c34a Mon Sep 17 00:00:00 2001 From: Kazuhiko Shiozaki <kazuhiko@nexedi.com> Date: Tue, 24 Jun 2014 21:40:59 +0200 Subject: [PATCH] cast the recorded value to list in CategoryMembershipEquivalenceTester. This reapplies commit 648d702006e6216eb275e81fe49f1d60ea5abb51 --- .../ERP5/Document/CategoryMembershipEquivalenceTester.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/product/ERP5/Document/CategoryMembershipEquivalenceTester.py b/product/ERP5/Document/CategoryMembershipEquivalenceTester.py index 903b07e11e..cf071f74f4 100644 --- a/product/ERP5/Document/CategoryMembershipEquivalenceTester.py +++ b/product/ERP5/Document/CategoryMembershipEquivalenceTester.py @@ -68,6 +68,14 @@ class CategoryMembershipEquivalenceTester(Predicate, EquivalenceTesterMixin): if getattr(decision_movement, 'isPropertyRecorded', lambda x:False)(tested_property): decision_value = decision_movement.getRecordedProperty(tested_property) + # The following may be only for compatibility. Although current code does + # not seem to produce non-list values here, we really have existing data + # with such values, e.g. aggregate=None. + if not isinstance(decision_value, (list, tuple)): + if decision_value is None: + decision_value = [] + else: + decision_value = [decision_value] else: decision_value = self._getTestedPropertyValue(decision_movement, tested_property) -- 2.30.9