Passed
Pull Request — 2.x (#1864)
by Ramon
05:13
created

senaite.core.z3cform.widgets.uidreference   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 20
dl 0
loc 31
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A UIDReferenceWidget.update() 0 3 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A UIDReferenceWidgetFactory() 0 6 1
1
# -*- coding: utf-8 -*-
2
3
from senaite.core.interfaces import ISenaiteFormLayer
4
from senaite.core.schema.interfaces import IUIDReferenceField
5
from senaite.core.z3cform.interfaces import IUIDReferenceWidget
6
from z3c.form.browser import widget
7
from z3c.form.browser.textlines import TextLinesWidget
8
from z3c.form.interfaces import IFieldWidget
9
from z3c.form.widget import FieldWidget
10
from zope.component import adapter
11
from zope.interface import implementer
12
13
14
@implementer(IUIDReferenceWidget)
15
class UIDReferenceWidget(TextLinesWidget):
16
    """Senaite UID reference widget
17
    """
18
    klass = u"uidreference-widget"
19
20
    def update(self):
21
        super(UIDReferenceWidget, self).update()
22
        widget.addFieldClass(self)
23
24
25
@adapter(IUIDReferenceField, ISenaiteFormLayer)
26
@implementer(IFieldWidget)
27
def UIDReferenceWidgetFactory(field, request):
28
    """Widget factory for UIDReferenceField
29
    """
30
    return FieldWidget(field, UIDReferenceWidget(request))
31