diff --git a/src/collective/contact/core/content/held_position.py b/src/collective/contact/core/content/held_position.py index fdd3dba..0308dc4 100644 --- a/src/collective/contact/core/content/held_position.py +++ b/src/collective/contact/core/content/held_position.py @@ -129,7 +129,8 @@ class HeldPosition(Container): """The held position's title is constituted by the position's title and the root organization's title""" position = self.position.to_object - organization = self.get_organization().get_root_organization() + organization = self.get_organization() + root_organization = organization.get_root_organization() if position == organization: if self.label: return "%s (%s) " % (self.label.encode('utf-8'), @@ -137,8 +138,13 @@ class HeldPosition(Container): else: return organization.Title() else: - return "%s (%s)" % (position.Title(), - organization.Title()) + if organization == root_organization: + return "%s (%s)" % (position.Title(), + organization.Title()) + else: + return "%s, %s (%s)" % (position.Title(), + organization.Title(), + root_organization.Title()) def get_full_title(self): """Returns the 'full title' of the held position. diff --git a/src/collective/contact/core/tests/test_content_types.py b/src/collective/contact/core/tests/test_content_types.py index 742a191..1bb8eb0 100644 --- a/src/collective/contact/core/tests/test_content_types.py +++ b/src/collective/contact/core/tests/test_content_types.py @@ -27,6 +27,7 @@ class TestContentTypes(unittest.TestCase, BaseTest): self.regimenth = self.divisionalpha['regimenth'] self.brigadelh = self.regimenth['brigadelh'] self.general_adt = self.armeedeterre['general_adt'] + self.sergent_lh = self.brigadelh['sergent_lh'] self.adt = self.degaulle['adt'] self.gadt = self.degaulle['gadt'] self.sergent_pepper = self.pepper['sergent_pepper'] @@ -157,6 +158,8 @@ class TestPosition(TestContentTypes): def test_get_full_title(self): self.assertEqual(self.general_adt.get_full_title(), u"Général de l'armée de terre (Armée de terre)") + self.assertEqual(self.sergent_lh.get_full_title(), + u"Sergent de la brigade LH (Brigade LH)") class TestHeldPosition(TestContentTypes): @@ -177,7 +180,7 @@ class TestHeldPosition(TestContentTypes): "Général de l'armée de terre (Armée de terre)") self.assertIn('sergent_pepper', pepper) self.assertEqual(sergent_pepper.Title(), - "Sergent de la brigade LH (Armée de terre)") + "Sergent de la brigade LH, Brigade LH (Armée de terre)") self.assertIsNone(sergent_pepper.end_date) def test_get_full_title(self):