| 1 |
##parameters=directory_id, default_field='id' |
|---|
| 2 |
""" |
|---|
| 3 |
Get the list of fields to be displayed in the search result list. |
|---|
| 4 |
|
|---|
| 5 |
Format is [{'id': 'sn', 'title': 'Name'}, ] title will be i18n. |
|---|
| 6 |
see getCustomDirectoryResultFields for more information |
|---|
| 7 |
""" |
|---|
| 8 |
fields = context.getCustomDirectoryResultFields(directory_id, default_field) |
|---|
| 9 |
|
|---|
| 10 |
dir = getattr(context.portal_directories, directory_id) |
|---|
| 11 |
id_field = getattr(dir, 'id_field', 'id') |
|---|
| 12 |
title_field = getattr(dir, 'title_field', 'title') |
|---|
| 13 |
|
|---|
| 14 |
if not fields: |
|---|
| 15 |
if directory_id == 'members': |
|---|
| 16 |
fields = [{'id': 'sn', 'title': 'label_last_name', 'sort': 'asc'}, |
|---|
| 17 |
{'id': 'givenName', 'title': 'label_first_name'}, |
|---|
| 18 |
{'id': 'email', 'title': 'label_email'}, |
|---|
| 19 |
{'id': id_field, 'title': 'label_id'}, |
|---|
| 20 |
] |
|---|
| 21 |
elif directory_id == 'groups': |
|---|
| 22 |
fields = [{'id': id_field, 'title': 'label_group', 'sort': 'asc'},] |
|---|
| 23 |
elif directory_id == 'roles': |
|---|
| 24 |
fields = [{'id': id_field, 'title': 'label_roles', 'sort': 'asc'},] |
|---|
| 25 |
|
|---|
| 26 |
if not fields: |
|---|
| 27 |
fields = [{'id': id_field, 'title': 'Id'}, |
|---|
| 28 |
{'id': title_field, 'title': 'Title', 'sort': 'asc'}] |
|---|
| 29 |
|
|---|
| 30 |
return fields |
|---|