Fixed generate id from title on held positions and persons.
This commit is contained in:
parent
ec9e883063
commit
1489b64471
|
@ -4,6 +4,9 @@ Changelog
|
|||
1.1 (unreleased)
|
||||
----------------
|
||||
|
||||
- Fixed generate id from title on held positions and persons.
|
||||
[thomasdesvenain]
|
||||
|
||||
- When we get the address of a contact, if the most direct address is empty,
|
||||
look for the next.
|
||||
[thomasdesvenain]
|
||||
|
|
|
@ -93,6 +93,14 @@ class HeldPosition(Container):
|
|||
use_parent_address = NO_VALUE
|
||||
parent_address = NO_VALUE
|
||||
|
||||
def set_title(self, val):
|
||||
return
|
||||
|
||||
def get_title(self):
|
||||
return self.Title()
|
||||
|
||||
title = property(get_title, set_title)
|
||||
|
||||
def get_person(self):
|
||||
"""Returns the person who holds the position
|
||||
"""
|
||||
|
@ -153,10 +161,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"""
|
||||
|
|
|
@ -74,9 +74,14 @@ class Person(Container):
|
|||
use_parent_address = NO_VALUE
|
||||
parent_address = NO_VALUE
|
||||
|
||||
def set_title(self, val):
|
||||
return
|
||||
|
||||
def get_title(self):
|
||||
return u' '.join([x for x in (self.person_title, self.firstname, self.lastname) if x])
|
||||
|
||||
title = property(get_title, set_title)
|
||||
|
||||
def Title(self):
|
||||
# must return utf8 and not unicode (Title() from basic behavior return utf8)
|
||||
# attributes are stored as unicode
|
||||
|
@ -84,10 +89,10 @@ class Person(Container):
|
|||
|
||||
def get_held_positions(self):
|
||||
return [obj for obj in self.values() if IHeldPosition.providedBy(obj)]
|
||||
|
||||
|
||||
def get_held_positions_titles(self):
|
||||
return [p.Title() for p in self.get_held_positions()]
|
||||
|
||||
|
||||
|
||||
class PersonSchemaPolicy(grok.GlobalUtility,
|
||||
DexteritySchemaPolicy):
|
||||
|
|
|
@ -52,6 +52,7 @@ class TestPerson(TestContentTypes):
|
|||
self.assertIn('degaulle', self.mydirectory)
|
||||
degaulle = self.degaulle
|
||||
self.assertEqual('Général Charles De Gaulle', degaulle.Title())
|
||||
self.assertEqual('Général Charles De Gaulle', degaulle.title)
|
||||
self.assertEqual('De Gaulle', degaulle.lastname)
|
||||
self.assertEqual('Charles', degaulle.firstname)
|
||||
self.assertEqual(datetime.date(1901, 11, 22), degaulle.birthday)
|
||||
|
@ -169,6 +170,8 @@ class TestHeldPosition(TestContentTypes):
|
|||
self.assertIn('adt', degaulle)
|
||||
self.assertEqual(adt.Title(),
|
||||
"Armée de terre")
|
||||
self.assertEqual(adt.title,
|
||||
"Armée de terre")
|
||||
self.assertIn('gadt', degaulle)
|
||||
self.assertEqual(gadt.Title(),
|
||||
"Général de l'armée de terre (Armée de terre)")
|
||||
|
|
Reference in New Issue