Passed
Push — master ( 043018...55c541 )
by Ramon
03:52
created

bika.lims.catalog.indexers.bikasetup   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 7
dl 0
loc 37
rs 10
c 0
b 0
f 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A sampletype_uids() 0 10 1
1
# -*- coding: utf-8 -*-
2
#
3
# This file is part of SENAITE.CORE.
4
#
5
# SENAITE.CORE is free software: you can redistribute it and/or modify it under
6
# the terms of the GNU General Public License as published by the Free Software
7
# Foundation, version 2.
8
#
9
# This program is distributed in the hope that it will be useful, but WITHOUT
10
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
# details.
13
#
14
# You should have received a copy of the GNU General Public License along with
15
# this program; if not, write to the Free Software Foundation, Inc., 51
16
# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
#
18
# Copyright 2018-2019 by it's authors.
19
# Some rights reserved, see README and LICENSE.
20
21
from plone.indexer import indexer
22
23
from bika.lims.interfaces import IBikaSetupCatalog
24
from bika.lims.interfaces import ISampleTypeAwareMixin
25
26
27
@indexer(ISampleTypeAwareMixin, IBikaSetupCatalog)
28
def sampletype_uids(instance):
29
    """Returns the list of SampleType UIDs the instance is assigned to
30
31
    This is a KeywordIndex, so it will be indexed as a list, even if only one
32
    SampleType can be assigned to the instance. Moreover, if the instance has no
33
    SampleType assigned, it returns a tuple with a None value. This allows
34
    searches for `MissingValue` entries too.
35
    """
36
    return instance.getSampleTypeUID() or (None, )
37