Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Manage lists of contacts

Project description


This add-on is part of the ``*`` suite. For an overview and a demo of these suite, see ` <>`__.

Users can can manage lists of contacts.
Adds an action to search and add a content to an existing or a new list.

Lists handles any contact type: organization, person or held position.


You need to turn on Member folder creation.


An helper api to manage contact lists: ::

def extend_list(contact_list, contacts):
"""Add contacts to a contact list
@param contact_list: object - The contact list object
@param contacts: objects - A list of contact objects
@return: objects - the list of contacts that have been actually added

def replace_list(contact_list, contacts):
"""Replace the contacts of a contact list
@param contact_list: object - The contact list object
@param contacts: objects - A list of contact objects
@return: objects - the list of contacts that have been actually added

def get_contacts(*contact_lists, **kwargs):
"""Get the contacts from one or many contact list(s)
kwargs can have an 'operator' option ('and' or 'or')
so we make union or intersection of lists
default is 'or'


- ``: all lists user can see.
Lists shared to user are distinguished with owner's name.
- ``: all lists user can view, without distinction,
- ``: all lists user can edit,
- ``: all lists created by user,
- ``: all lists user can edit + list creation option
- ``: vocabulary of all previous vocabularies.

Integration with

If you have installed,
if you have enabled contact selection on your faceted navigation
you can batch select contacts and add them to lists

You have a new widget "contacts list", wich display your lists.
It filters your results on the contents of the lists you have selected.

Compatible with eea.facetednav > 10

Use ContactListSourceBinder

When you write a schema,
you can filter choices of a ContactChoice (or ContactList) field on the contacts of one or many lists: ::

birthday_guests = ContactList(
title=u"Birthday guests",
contact_lists_query={'Subject': 'Friends'}),

This works like ContactSourceBinder from, but it also gets a
countact_lists_query parameter, wich is a catalog query dictionnary. Contacts displayed by formwidget
query are filtered on the union or intersection (depending on contact_lists_operator) of the lists we get using this query.


This add-on is tested using Travis CI. The current status of the add-on is :

.. image::


- Thomas Desvenain,

2.0 (2019-04-24)

- Made it compatible with eea.facetednavigation >= 10.0. Branch 1.x is compatible with eea.facetednavigation < 10.0

1.3 (2018-11-13)

- '' vocabulary is sorted by title when creators are different.
+ few fixes on list order

1.2 (2017-01-17)

- Test eea widget.

- API: Added a source binder that allows developers
to restrict ContactChoice fields on contents of contact lists.

- get_contacts with 'and' operator was broken.

- Minor optimizations and PEP8.

- API: deprecate update_list function and create extend_list instead,
which is less ambiguous.

- Fix get_contacts API for empty list

1.1 (2016-09-23)

- More robust unit tests.

- Add get_lists_for_contact method to get all lists that contain contact.

- Fix relations.

- Put 'Create a new list' on top of the select widget.

- Fix update_list API for empty list

- Fix permissions in API

1.0 (2014-06-16)

- Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for, version 2.0
Filename, size File type Python version Upload date Hashes
Filename, size (31.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page