Total Complexity | 3 |
Total Lines | 21 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | # -*- coding: utf-8 -*- |
||
2 | |||
3 | from archetypes.schemaextender.field import ExtensionField |
||
4 | from bika.lims import api |
||
5 | from Products.Archetypes.Field import LinesField |
||
6 | from senaite.core.api import label as label_api |
||
7 | |||
8 | |||
9 | class ExtLabelField(ExtensionField, LinesField): |
||
10 | """Extended Field for Labels |
||
11 | """ |
||
12 | def get(self, instance, **kw): |
||
13 | labels = label_api.get_obj_labels(instance) |
||
14 | return labels |
||
15 | |||
16 | def set(self, instance, value, **kw): |
||
17 | if api.is_string(value): |
||
18 | value = filter(None, value.split("\r\n")) |
||
19 | labels = label_api.to_labels(value) |
||
20 | return label_api.set_obj_labels(instance, labels) |
||
21 |