From 59c8aa670556bb9f525fec3227cef7582bd4c00c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Sun, 4 Nov 2007 17:31:16 +0000
Subject: [PATCH] fix title_or_id on person documents

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17382 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Person.py  |  5 +++++
 product/ERP5/tests/testPerson.py | 11 +++++++++++
 2 files changed, 16 insertions(+)

diff --git a/product/ERP5/Document/Person.py b/product/ERP5/Document/Person.py
index 02ba94801f..f0945995b8 100644
--- a/product/ERP5/Document/Person.py
+++ b/product/ERP5/Document/Person.py
@@ -118,6 +118,11 @@ class Person(XMLObject):
         return ' '.join(name_list)
       else:
         return self.title
+      
+    security.declareProtected(Permissions.AccessContentsInformation,
+                              'title_or_id')
+    def title_or_id(self):
+      return self.getTitleOrId()
 
     security.declareProtected(Permissions.ModifyPortalContent, 'setTitle')
     def setTitle(self, value):
diff --git a/product/ERP5/tests/testPerson.py b/product/ERP5/tests/testPerson.py
index bd27a0cd6d..9cf2c7f861 100644
--- a/product/ERP5/tests/testPerson.py
+++ b/product/ERP5/tests/testPerson.py
@@ -119,6 +119,17 @@ class TestPerson(ERP5TypeTestCase):
             last_name='last',
             title='title' )
     # no infinite loop :) but there's no guarantee on the behaviour
+    
+  def testGetTitleOrId(self):
+    p = self._makeOne('person')
+    self.assertEquals('person', p.getTitleOrId())
+    self.assertEquals('person', p.title_or_id())
+
+    p.edit( first_name='first',
+            last_name='last', )
+    self.assertEquals('first last', p.getTitleOrId())
+    self.assertEquals('first last', p.title_or_id())
+    
 
 def test_suite():
   suite = unittest.TestSuite()
-- 
2.30.9