Passed
Push — 2.x ( 15b24b...cf7444 )
by Jordi
05:33
created

senaite.core.browser.modals   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 16
dl 0
loc 27
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A Modal.get_uids_from_request() 0 8 2
A Modal.__init__() 0 4 1
1
# -*- coding: utf-8 -*-
2
3
import collections
4
5
import six
6
from bika.lims import api
7
from Products.Five.browser import BrowserView
8
9
10
class Modal(BrowserView):
11
    """Base Class for Modals
12
    """
13
14
    def __init__(self, context, request):
15
        self.context = context
16
        self.request = request
17
        self.uids = self.get_uids_from_request()
18
19
    def get_uids_from_request(self):
20
        """Returns a list of uids from the request
21
        """
22
        uids = self.request.get("uids", "")
23
        if isinstance(uids, six.string_types):
24
            uids = uids.split(",")
25
        unique_uids = collections.OrderedDict().fromkeys(uids).keys()
26
        return filter(api.is_uid, unique_uids)
27