From b2ae375df6883f80a37004b185c1958cd8951ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Messiant?= Date: Tue, 8 Oct 2013 11:54:29 +0200 Subject: [PATCH] Add first organization title in held position's title --- .../contact/core/content/held_position.py | 16 +++++++++++----- .../contact/core/tests/test_content_types.py | 5 ++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/collective/contact/core/content/held_position.py b/src/collective/contact/core/content/held_position.py index 72498c1..788b9c5 100644 --- a/src/collective/contact/core/content/held_position.py +++ b/src/collective/contact/core/content/held_position.py @@ -121,7 +121,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'), @@ -129,8 +130,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. @@ -153,10 +159,10 @@ class HeldPosition(Container): return u"%s (%s - %s)" % (person_name, root_organization, position_name) - + def get_person_title(self): return self.get_person().get_title() - + @acqproperty def photo(self): """Get photo from Person""" diff --git a/src/collective/contact/core/tests/test_content_types.py b/src/collective/contact/core/tests/test_content_types.py index 102dfe1..6a2f201 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'] @@ -156,6 +157,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): @@ -174,7 +177,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):