Total Complexity | 3 |
Total Lines | 33 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | # -*- coding: utf-8 -*- |
||
2 | |||
3 | from bika.lims import api |
||
4 | from plone.indexer import indexer |
||
5 | from senaite.core.api import label as label_api |
||
6 | from senaite.core.interfaces import IHaveLabels |
||
7 | |||
8 | |||
9 | @indexer(IHaveLabels) |
||
10 | def labels(instance): |
||
11 | """Returns a list of labels for the given instance |
||
12 | """ |
||
13 | labels = label_api.get_obj_labels(instance) |
||
14 | return map(api.safe_unicode, labels) |
||
15 | |||
16 | |||
17 | @indexer(IHaveLabels) |
||
18 | def listing_searchable_text(instance): |
||
19 | """Retrieves most commonly searched values for fulltext search |
||
20 | |||
21 | :returns: string with search terms |
||
22 | """ |
||
23 | entries = set() |
||
24 | |||
25 | labels = label_api.get_obj_labels(instance) |
||
26 | if labels: |
||
27 | entries.update(set(labels)) |
||
28 | |||
29 | entries.add(instance.getId()) |
||
30 | entries.add(instance.Title()) |
||
31 | |||
32 | return u" ".join(map(api.safe_unicode, entries)) |
||
33 |