from zope.interface import implements from Products.Archetypes import atapi from Products.Archetypes.public import BaseContent from bika.lims.interfaces import IMultifile from bika.lims.content.bikaschema import BikaSchema from bika.lims import bikaMessageFactory as _ from bika.lims import config schema = BikaSchema.copy() + atapi.Schema( ( atapi.StringField( "DocumentID", required=1, validators=("uniquefieldvalidator",), widget=atapi.StringWidget(label=_("Document ID")), ), atapi.FileField( "File", required=1, widget=atapi.FileWidget(label=_("Document"), description=_("File upload ")) ), atapi.StringField("DocumentVersion", widget=atapi.StringWidget(label=_("Document Version"))), atapi.StringField( "DocumentLocation", widget=atapi.StringWidget( label=_("Document Location"), description=_("Location where the document set is shelved") ), ), atapi.StringField( "DocumentType", required=1, widget=atapi.StringWidget(
), ), ), ComputedField( "SampleTypeTitle", expression="context.getSampleType() and context.getSampleType().Title() or ''", widget=ComputedWidget(visible=False), ), ComputedField( "SampleTypeUID", expression="context.getSampleType() and context.getSampleType().UID() or ''", widget=ComputedWidget(visible=False), ), ) ) + BikaSchema.copy() + Schema( ( RecordsField( "ResultsRange", schemata=PMF("Reference Results"), required=1, type="analysisspec", subfields=("keyword", "min", "max", "error"), required_subfields=("keyword", "min", "max", "error"), subfield_labels={ "keyword": _("Analysis Service"), "min": _("Min"), "max": _("Max"), "error": _("% Error"), },
from Products.Archetypes.public import FileWidget from Products.Archetypes.public import LinesField from Products.Archetypes.public import MultiSelectionWidget from Products.Archetypes.public import Schema from Products.Archetypes.public import SelectionWidget from Products.Archetypes.public import StringField from Products.Archetypes.public import StringWidget from Products.Archetypes.public import TextAreaWidget from Products.Archetypes.public import TextField from Products.Archetypes.public import registerType from Products.Archetypes.utils import DisplayList from Products.CMFCore.utils import getToolByName from zope.interface import implements schema = BikaSchema.copy() + Schema(( # Method ID should be unique, specified on MethodSchemaModifier StringField( "MethodID", searchable=1, required=0, validators=("uniquefieldvalidator",), widget=StringWidget( visible={"view": "visible", "edit": "visible"}, label=_("Method ID"), description=_("Define an identifier code for the method. " "It must be unique."), ), ),
ComputedField( 'SampleTypeTitle', expression="context.getSampleType().Title() if context.getSampleType() else ''", widget=ComputedWidget( visible=False, ), ), ComputedField( 'SampleTypeUID', expression="context.getSampleType().UID() if context.getSampleType() else ''", widget=ComputedWidget( visible=False, ), ), )) + BikaSchema.copy() + Schema(( RecordsField( 'ResultsRange', # schemata = 'Specifications', required=1, type='resultsrange', subfields=( 'keyword', 'min', 'max', 'error', 'hidemin', 'hidemax', 'rangecomment' ),
# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # Copyright 2018-2020 by it's authors. # Some rights reserved, see README and LICENSE. from AccessControl import ClassSecurityInfo from bika.lims import bikaMessageFactory as _b from bika.health import bikaMessageFactory as _ from bika.lims.browser.widgets import RecordsWidget from bika.lims.content.bikaschema import BikaSchema from bika.health.config import PROJECTNAME from Products.Archetypes.public import * from Products.ATExtensions.ateapi import RecordsField from zope.interface import implements schema = BikaSchema.copy() + Schema((RecordsField( 'AetiologicAgentSubtypes', type='aetiologicagentsubtypes', subfields=('Subtype', 'SubtypeRemarks'), subfield_labels={ 'Subtype': _('Subtype'), 'SubtypeRemarks': _('Remarks') }, subfield_sizes={ 'Subtype': 10, 'SubtypeRemarks': 25 }, widget=RecordsWidget( label='Subtypes', description=_("A list of aetiologic agent subtypes."), visible=True,
from AccessControl import ClassSecurityInfo from Products.Archetypes.public import * from Products.CMFCore.permissions import View, ModifyPortalContent from bika.lims import bikaMessageFactory as _ from bika.lims.utils import t from bika.lims.config import PROJECTNAME from bika.lims.content.bikaschema import BikaSchema from bika.lims.interfaces import IManufacturer from zope.interface import implements schema = BikaSchema.copy() schema['description'].schemata = 'default' schema['description'].widget.visible = True class Manufacturer(BaseContent): implements(IManufacturer) security = ClassSecurityInfo() displayContentsTab = False schema = schema _at_rename_after_creation = True def _renameAfterCreation(self, check_auto_id=False): from bika.lims.idserver import renameAfterCreation renameAfterCreation(self) registerType(Manufacturer, PROJECTNAME)
from bika.lims.browser.widgets import RecordsWidget # bika.lims imports from bika.lims import api from bika.lims import logger from bika.lims.utils import t from bika.lims.utils import to_utf8 from bika.lims.config import PROJECTNAME from bika.lims.exportimport import instruments from bika.lims.interfaces import IInstrument, IDeactivable from bika.lims.config import QCANALYSIS_TYPES from bika.lims.content.bikaschema import BikaSchema from bika.lims.content.bikaschema import BikaFolderSchema from bika.lims import bikaMessageFactory as _ schema = BikaFolderSchema.copy() + BikaSchema.copy() + Schema(( ReferenceField( 'InstrumentType', vocabulary='getInstrumentTypes', allowed_types=('InstrumentType', ), relationship='InstrumentInstrumentType', required=1, widget=SelectionWidget(format='select', label=_("Instrument type"), visible={ 'view': 'invisible', 'edit': 'visible' }), ), ReferenceField( 'Manufacturer',
from bika.lims import bikaMessageFactory as _ from bika.lims.utils import t from bika.lims.browser.fields import HistoryAwareReferenceField from bika.lims.browser.widgets import DateTimeWidget from bika.lims.browser.widgets import RecordsWidget from bika.lims.config import PROJECTNAME from bika.lims.content.bikaschema import BikaSchema, BikaFolderSchema from bika.lims.interfaces import IInstrument from bika.lims.utils import to_utf8 from plone.app.folder.folder import ATFolder from zope.interface import implements from datetime import date from DateTime import DateTime from bika.lims.config import QCANALYSIS_TYPES schema = BikaFolderSchema.copy() + BikaSchema.copy() + Schema(( ReferenceField('InstrumentType', vocabulary='getInstrumentTypes', allowed_types=('InstrumentType',), relationship='InstrumentInstrumentType', required=1, widget=SelectionWidget( format='select', label=_("Instrument type"), ), ), ReferenceField('Manufacturer', vocabulary='getManufacturers', allowed_types=('Manufacturer',),
# This file is part of Bika LIMS # # Copyright 2011-2017 by it's authors. # Some rights reserved. See LICENSE.txt, AUTHORS.txt. from AccessControl import ClassSecurityInfo from bika.lims import bikaMessageFactory as _ from bika.lims.utils import t from bika.lims.config import PROJECTNAME from bika.lims.interfaces import ISubGroup from bika.lims.content.bikaschema import BikaSchema from bika.lims.fields import * from Products.Archetypes.public import * from zope.interface import implements schema = BikaSchema.copy() + Schema((ExtStringField( 'SortKey', widget=StringWidget( label=_("Sort Key"), description=_("Subgroups are sorted with this key in group views"))), )) schema['description'].widget.visible = True schema['description'].schemata = 'default' class SubGroup(BaseContent): implements(ISubGroup) security = ClassSecurityInfo() displayContentsTab = False schema = schema
from AccessControl import ClassSecurityInfo from bika.lims.content.bikaschema import BikaSchema from bika.lims.fields import * from bika.wine.config import PROJECTNAME from bika.wine.interfaces import IRegion from Products.Archetypes.public import * from zope.interface import implements schema = BikaSchema.copy() + Schema((ComputedField( 'Name', expression="context.aq_parent.Title() + ' - ' + context.Title()", widget=ComputedWidget(visible=False), ), )) schema['description'].widget.visible = True schema['description'].schemata = 'default' class Region(BaseContent): implements(IRegion) security = ClassSecurityInfo() displayContentsTab = False schema = schema _at_rename_after_creation = True def _renameAfterCreation(self, check_auto_id=False): from bika.lims.idserver import renameAfterCreation renameAfterCreation(self) def sortable_title(self): return self.getName()
label=_("Sample Type"), ), ), ComputedField( 'SampleTypeTitle', expression= "context.getSampleType().Title() if context.getSampleType() else ''", widget=ComputedWidget(visible=False, ), ), ComputedField( 'SampleTypeUID', expression= "context.getSampleType().UID() if context.getSampleType() else ''", widget=ComputedWidget(visible=False, ), ), )) + BikaSchema.copy() + Schema(( RecordsField( 'ResultsRange', # schemata = 'Specifications', required=1, type='resultsrange', subfields=('keyword', 'min', 'max', 'warn_min', 'warn_max', 'hidemin', 'hidemax', 'rangecomment'), required_subfields=('keyword', 'min', 'max'), subfield_validators={ 'min': 'analysisspecs_validator', 'max': 'analysisspecs_validator', }, subfield_labels={ 'keyword': _('Analysis Service'), 'min': _('Min'),
from AccessControl import ClassSecurityInfo from Products.Archetypes.public import * from Products.CMFCore.utils import getToolByName from Products.CMFPlone.utils import safe_unicode from zope.interface import implements from bika.lims.content.bikaschema import BikaSchema from baobab.lims.browser.storage import getStorageTypes from baobab.lims.interfaces import IStoragePosition from baobab.lims.config import PROJECTNAME from baobab.lims import bikaMessageFactory as _ Hierarchy = ComputedField('Hierarchy', expression="here.getHierarchy()") schema = BikaSchema.copy() + Schema((Hierarchy, )) schema['title'].widget.label = _('Address') schema['description'].widget.visible = True class StoragePosition(BaseContent): implements(IStoragePosition) security = ClassSecurityInfo() displayContentsTab = False schema = schema def Title(self): return safe_unicode(self.getField('title').get(self)).encode('utf-8') def getHierarchy(self, structure=False, separator='.', fieldname='id'): hierarchy = []
), ), ComputedField('SampleTypeTitle', expression = "context.getSampleType().Title() if context.getSampleType() else ''", widget = ComputedWidget( visible = False, ), ), ComputedField('SampleTypeUID', expression = "context.getSampleType().UID() if context.getSampleType() else ''", widget = ComputedWidget( visible = False, ), ), )) + \ BikaSchema.copy() + \ Schema(( RecordsField('ResultsRange', # schemata = 'Specifications', required = 1, type = 'resultsrange', subfields = ('keyword', 'min', 'max', 'error', 'hidemin', 'hidemax', 'rangecomment'), required_subfields = ('keyword', 'error'), subfield_validators = {'min':'analysisspecs_validator', 'max':'analysisspecs_validator', 'error':'analysisspecs_validator',}, subfield_labels = {'keyword': _('Analysis Service'), 'min': _('Min'), 'max': _('Max'), 'error': _('% Error'),
from AccessControl import ClassSecurityInfo from Products.ATExtensions.ateapi import RecordWidget from Products.Archetypes.public import * from bika.lims.config import PROJECTNAME from Products.CMFCore import permissions as CMFCorePermissions from Products.CMFCore.utils import getToolByName from Products.CMFPlone.utils import safe_unicode from bika.lims.content.bikaschema import BikaSchema, BikaFolderSchema from archetypes.referencebrowserwidget import ReferenceBrowserWidget from plone.app.folder.folder import ATFolder from bika.lims.browser.fields import AddressField from bika.lims.browser.widgets import AddressWidget from bika.lims import PMF, bikaMessageFactory as _ schema = BikaFolderSchema.copy() + BikaSchema.copy() + ManagedSchema(( StringField('Name', required = 1, searchable = True, validators = ('uniquefieldvalidator',), widget = StringWidget( label=_("Name"), ), ), StringField('TaxNumber', widget = StringWidget( label=_("VAT number"), ), ), StringField('Phone', widget = StringWidget(
# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # Copyright 2018-2020 by it's authors. # Some rights reserved, see README and LICENSE. from zope.interface import implements from Products.Archetypes import atapi from Products.Archetypes.public import BaseContent from bika.lims.content.bikaschema import BikaSchema from Products.Archetypes.references import HoldingReference from bika.lims import bikaMessageFactory as _ from bika.lims import config from DateTime import DateTime from Products.CMFCore.utils import getToolByName schema = BikaSchema.copy() + atapi.Schema(( # Results File that system wanted to import atapi.StringField('ImportedFile', default=''), atapi.ReferenceField( 'Instrument', allowed_types=('Instrument', ), referenceClass=HoldingReference, relationship='InstrumentImportLogs', ), atapi.StringField('Interface', default=''), atapi.StringField('Results', default=''), atapi.DateTimeField('LogTime', default=DateTime()), )) schema['title'].widget.visible = False
from AccessControl import ClassSecurityInfo from Products.Archetypes.public import * from Products.CMFCore.permissions import View, ModifyPortalContent from bika.lims.content.bikaschema import BikaSchema from bika.lims.config import I18N_DOMAIN, PROJECTNAME from bika.lims import bikaMessageFactory as _ schema = BikaSchema.copy() schema['description'].schemata = 'default' schema['description'].widget.visible = True class ReferenceManufacturer(BaseContent): security = ClassSecurityInfo() schema = schema registerType(ReferenceManufacturer, PROJECTNAME)
from AccessControl import ClassSecurityInfo from Products.ATExtensions.ateapi import RecordWidget from Products.Archetypes.public import * from bika.lims.config import PROJECTNAME from Products.CMFCore import permissions as CMFCorePermissions from Products.CMFCore.utils import getToolByName from Products.CMFPlone.utils import safe_unicode from bika.lims.content.bikaschema import BikaSchema, BikaFolderSchema from archetypes.referencebrowserwidget import ReferenceBrowserWidget from plone.app.folder.folder import ATFolder from bika.lims.browser.fields import AddressField from bika.lims.browser.widgets import AddressWidget from bika.lims import PMF, bikaMessageFactory as _ schema = BikaFolderSchema.copy() + BikaSchema.copy() + ManagedSchema(( StringField( 'Name', required=1, searchable=True, validators=('uniquefieldvalidator', ), widget=StringWidget(label=_("Name"), ), ), StringField( 'TaxNumber', widget=StringWidget(label=_("VAT number"), ), ), StringField( 'Phone', widget=StringWidget(label=_("Phone"), ), ),
from Products.CMFCore.utils import getToolByName from Products.CMFPlone.utils import safe_unicode from bika.lims.browser import BrowserView from bika.lims.content.bikaschema import BikaSchema from bika.lims.config import PROJECTNAME from bika.lims.browser.fields import CoordinateField from bika.lims.browser.widgets import CoordinateWidget from bika.lims.browser.fields import DurationField from bika.lims.browser.widgets import DurationWidget from bika.lims import PMF, bikaMessageFactory as _ from zope.interface import implements import json import plone import sys schema = BikaSchema.copy() + Schema(( StringField('SiteTitle', widget=StringWidget( label = _("Site Title"), description = _("Title of the site"), ), ), StringField('SiteCode', widget=StringWidget( label = _("Site Code"), description = _("Code for the site"), ), ), StringField('SiteDescription', widget=StringWidget( label = _("Site Description"),
}, )) remarks = StringField( 'FreeText', widget=TextAreaWidget( label=_("Remarks"), description= _("Explanation about disease or symptom in case of unknown disease or insufficient information" ), cols=30, rows=20, ), ) schema = BikaSchema.copy() + Schema((version, code, remarks)) schema['title'].widget.visible = {'view': 'visible', 'edit': 'visible'} schema['title'].widget.label = "Disease Ontology" schema[ 'title'].widget.description = "Name of ontology used fro disease. Can be several values e.g. ICD, SNOMED" schema['description'].widget.visible = {'view': 'visible', 'edit': 'visible'} schema['description'].widget.description = "Description from the selected Disease Ontology Code " \ "e.g. Malignant neoplasm of prostate" class DiseaseOntology(BaseContent): security = ClassSecurityInfo() implements(IDiseaseOntology, IConstrainTypes) displayContentsTab = False schema = schema _at_rename_after_creation = True