person component for the CubicWeb framework
person provides person informations :
- surname / lastname
- arbitrary text description
- a relation to an email address (NB, the
EmailAddressentity is automatically provided by cubicweb).
addressbook cube is used, persons will also have phone and
postal_address relations to store more contact information.
There is a special relation called ‘primary_email’. A person can be linked to multiple email addresses (using the ‘use_email’ relation). The primary email must be unique. At the creation of the first email, this relation is automatically added (though you can change it later, of course).
In addition of basic entity views, this cube provides :
- VCardPersonView, displays a person in the VCard file format
(.. _VCard on wikipedia: http://en.wikipedia.org/wiki/VCard) .
This view creates a file called
vcard.vcfwhich can be open in your addressbook application (Kmail, Thunderbird and so on). In order to generate this file, you have to access to a specific view using an url address with
How to personalize the person primary view in order to add a link for the vcard ?
class PersonalizedPersonPrimaryView(PersonPrimaryView): def render_entity_attributes(self, entity): super(PersonalizedPersonPrimaryView, self).render_entity_attributes(entity) self.w(u'<div><a href="%s">export contact as vcard</a></div>' % entity.absolute_url(vid='vcard')) This view will not be selected by default. You have to registered this view or add a selector. For more information, please refer to XXX in the doc.
a civility facet, this facet (XXX: ref to facet doc) will be shown if a view displays a result set of at least two Person entities with different civilities.