Commit faf3fa14 authored by Romain Courteaud's avatar Romain Courteaud

Surcharge person.getTitle

parent 88bdb0e7
from AccessControl import ClassSecurityInfo, Unauthorized, getSecurityManager
from Products.ERP5.Document.Person import Person as ERP5Person
from Products.ERP5Type import Permissions
class Person(ERP5Person):
security = ClassSecurityInfo()
......@@ -36,3 +37,17 @@ class Person(ERP5Person):
"""Revokes existing certificate"""
self._checkCertificateRequest()
self._revokeCertificate()
security.declareProtected(Permissions.AccessContentsInformation,
'getTitle')
def getTitle(self, **kw):
"""
Returns the title if it exists or a combination of
first name and last name
"""
title = ERP5Person.getTitle(self, **kw)
test_title = title.replace(' ', '')
if test_title == '':
return self.getDefaultEmailCoordinateText()
else:
return title
# -*- coding: utf-8 -*-
# Copyright (c) 2013 Nexedi SA and Contributors. All Rights Reserved.
import transaction
from Products.SlapOS.tests.testSlapOSMixin import \
testSlapOSMixin
class TestSlapOSPersonDocument(testSlapOSMixin):
def beforeTearDown(self):
transaction.abort()
def test_getTitle(self):
person = self.portal.person_module.newContent(
portal_type="Person")
# Default title is empty
self.assertEquals(person.getTitle(), None)
# If not title, the email is used
person.edit(default_email_coordinate_text="foo@example.org")
self.assertEquals(person.getTitle(), 'foo@example.org')
# But if first name, last name are set, use them
person.edit(first_name="foo", last_name="bar")
self.assertEquals(person.getTitle(), 'foo bar')
# Finally, if the title is set
person.edit(title="foobar")
self.assertEquals(person.getTitle(), 'foobar')
276
\ No newline at end of file
277
\ No newline at end of file
......@@ -2,4 +2,5 @@ testSlapOSCloudAlarm
testSlapOSCloudConstraint
testSlapOSCloudSecurityGroup
testSlapOSCloudShadow
testSlapOSCloudWorkflow
\ No newline at end of file
testSlapOSCloudWorkflow
testSlapOSCloudDocument
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment