from openerp.tools.translate import _ from fields.string_field import StringField from fields.text_field import TextField from fields.file_field import FileField from fields.date_time_field import DateTimeField from fields.reference_field import ReferenceField from fields.boolean_field import BooleanField from fields.widget.widget import StringWidget, TextAreaWidget, DateTimeWidget, BooleanWidget, FileWidget from openerp import fields, models, api from base_olims_model import BaseOLiMSModel from messagealert import write_message schema = (StringField('Certificate Code', required=1, widget = StringWidget( label=_("Certificate Code"), ), ), fields.Many2one(string='Instrument', comodel_name='olims.instrument', required = False, ), # Set the Certificate as Internal # When selected, the 'Agency' field is hidden BooleanField('Internal', default=False, widget=BooleanWidget( label=_("Internal Certificate"), description=_("Select if is an in-house calibration certificate")
from dependencies.dependency import safe_unicode from lims import bikaMessageFactory as _ from openerp import fields, models from fields.string_field import StringField from fields.text_field import TextField from fields.widget.widget import TextAreaWidget, StringWidget from models.base_olims_model import BaseOLiMSModel schema = ( 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"), ), ), StringField( 'Fax', widget=StringWidget(label=_("Fax"), ), ), StringField('EmailAddress', schemata='Address',
from dependencies.dependency import safe_unicode from lims import bikaMessageFactory as _ from openerp import fields, models from fields.string_field import StringField from fields.widget.widget import StringWidget from models.base_olims_model import BaseOLiMSModel # ~~~~~~~~~~ Irrelevant code for Odoo ~~~~~~~~~~~ # schema = BikaFolderSchema.copy() + BikaSchema.copy() + ManagedSchema( schema = ( 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"), ), ), StringField( 'Fax', widget=StringWidget(label=_("Fax"), ), ), StringField('EmailAddress', schemata='Address',
from fields.boolean_field import BooleanField from fields.date_time_field import DateTimeField from fields.file_field import FileField from fields.reference_field import ReferenceField from fields.widget.widget import StringWidget, TextAreaWidget, BooleanWidget, FileWidget, DateTimeWidget import logging _logger = logging.getLogger(__name__) #schema = BikaFolderSchema.copy() + BikaSchema.copy() + Schema(( schema = ( StringField('name', required=1, widget=StringWidget( label=_('Title'), description=_('Title is required.'), ), ), TextField('Description', widget=TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), fields.Many2one(string='InstrumentType', comodel_name='olims.instrument_type', required=True, # vocabulary='getInstrumentTypes', # allowed_types=('InstrumentType',),
# ~~~~~ Useful code that need to be converted in Odoo style ~~~~~~ # schema = BikaSchema.copy() + Schema( schema = (StringField('name', required=1, ), TextField('Description', widget = TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), StringField('ProfileKey', widget = StringWidget( label = _("Profile Keyword"), description = _("The profile's keyword is used to uniquely identify " + \ "it in import files. It has to be unique, and it may " + \ "not be the same as any Calculation Interim field ID."), ), ), # ~~~~~~~ To be implemented ~~~~~~~ # ReferenceField('Service', # schemata = 'Analyses', # required = 1, # multiValued = 1, # allowed_types = ('AnalysisService',), # relationship = 'AnalysisProfileAnalysisService', # widget = AnalysisProfileAnalysesWidget( # label = _("Profile Analyses"), # description = _("The analyses included in this profile, grouped per category"), # ) # ),
from fields.text_field import TextField from fields.widget.widget import TextAreaWidget, StringWidget # ~~~~~~~~~~ Irrelevant code for Odoo ~~~~~~~~~~~ # schema = BikaSchema.copy() + Schema(( schema = ( StringField( 'name', required=1, ), TextField( 'Description', widget=TextAreaWidget( description=('Used in item listings and search results.'), )), StringField('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(models.Model, BaseOLiMSModel): #(BaseContent): _name = 'olims.subgroup' SubGroup.initialze(schema) # ~~~~~~~~~~ Irrelevant code for Odoo ~~~~~~~~~~~ # implements(ISubGroup) # security = ClassSecurityInfo() # displayContentsTab = False
from openerp.tools.translate import _ from fields.string_field import StringField from fields.file_field import FileField from fields.widget.widget import StringWidget from openerp import fields, models from base_olims_model import BaseOLiMSModel schema = ( StringField('DocumentID', required=1, validators=('uniquefieldvalidator',), widget = StringWidget( label=_("Document ID"), ) ), FileField('File', required=1, ), StringField('DocumentVersion', widget = StringWidget( label=_("Document Version"), ) ), StringField('DocumentLocation', widget = StringWidget( label=_("Document Location"), description=_("Location where the document set is shelved"), ) ),
from fields.widget.widget import StringWidget, FileWidget from openerp import fields, models from models.base_olims_model import BaseOLiMSModel #schema = BikaSchema.copy() + Schema(( schema = ( FileField('ReportFile', widget = FileWidget( label=_("Report"), ), ), StringField('ReportType', widget = StringWidget( label=_("Report Type"), description=_("Report type"), ), ), fields.Many2one(string='Client', comodel_name='olims.client', # allowed_types = ('Client',), # relationship = 'ReportClient', # widget = ReferenceWidget( # label=_("Client"), # ), ), # ~~~~~~~ To be implemented ~~~~~~~ # ComputedField('ClientUID', # expression = 'here.getClient() and here.getClient().UID()',
description=_( "Date from which the instrument is under validation"), ), ), DateTimeField( 'DownTo', with_time=1, with_date=1, widget=DateTimeWidget( label=_("To"), description=_("Date until the instrument will not be available"), ), ), StringField('Validator', widget=StringWidget( label=_("Validator"), description=_("The analyst responsible of the validation"), )), TextField( 'Considerations', default_content_type='text/plain', allowed_content_types=('text/plain', ), default_output_type="text/plain", widget=TextAreaWidget( label=_("Considerations"), description=_("Remarks to take into account before validation"), ), ), TextField( 'WorkPerformed', default_content_type='text/plain', allowed_content_types=('text/plain', ),
from fields.widget.widget import StringWidget, BooleanWidget, DateTimeWidget, TextAreaWidget from openerp import fields, models from base_olims_model import BaseOLiMSModel import datetime REFERENCE_SAMPLE_STATES = ( ('current', 'Current'), ('expired', 'Expired'), ('disposed', 'Disposed'), ) #schema = BikaSchema.copy() + Schema(( schema = ( StringField( 'Title', required=1, widget=StringWidget(label=_("Title"), ), ), fields.Char(string="ID", compute="computeReferenceSampleId"), fields.Many2one( string='Reference Definition', comodel_name='olims.reference_definition', # schemata = 'Description', # allowed_types = ('ReferenceDefinition',), # relationship = 'ReferenceSampleReferenceDefinition', # referenceClass = HoldingReference, # vocabulary = "getReferenceDefinitions", # widget = ReferenceWidget( # checkbox_bound = 0, # label=_("Reference Definition"), # ), ),
from fields.string_field import StringField from fields.text_field import TextField from fields.boolean_field import BooleanField from fields.file_field import FileField from fields.widget.widget import StringWidget, TextAreaWidget, \ FileWidget, BooleanWidget, \ ReferenceWidget, MultiSelectionWidget # ~~~~~~~~~~ Irrelevant code for Odoo ~~~~~~~~~~~ # schema = BikaSchema.copy() + Schema( schema = ( StringField( 'name', required=True, widget=StringWidget( label=_('Title'), description=_('Title is required.'), ), ), TextField( 'Description', widget=TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), # Method ID should be unique, specified on MethodSchemaModifier StringField( 'MethodID', searchable=1, required=0, help='Define an identifier code for the method. It must be unique.',
), ), DateTimeField( 'DownTo', with_time=1, with_date=1, widget=DateTimeWidget( label=_("To"), description=_("Date until the instrument will not be available"), show_hm=True, ), ), StringField('Maintainer', widget=StringWidget( label=_("Maintainer"), description=_( "The analyst or agent responsible of the maintenance"), )), TextField( 'Considerations', default_content_type='text/plain', allowed_content_types=('text/plain', ), default_output_type="text/plain", widget=TextAreaWidget( label=_("Considerations"), description=_( "Remarks to take into account for maintenance process"), ), ), TextField( 'WorkPerformed',
from lims import bikaMessageFactory as _ from openerp import fields, models from fields.string_field import StringField from fields.text_field import TextField from fields.boolean_field import BooleanField from fields.widget.widget import TextAreaWidget, BooleanWidget, StringWidget from base_olims_model import BaseOLiMSModel #schema = BikaSchema.copy() + Schema(( schema = ( StringField( 'name', required=1, widget=StringWidget( label=_('Title'), description=_('Title is required.'), ), ), TextField( 'Description', widget=TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), # for Latitude, Label and description applied on view. fields.Char(string='Latitude_Degrees', required=True), fields.Char(string='Latitude_Minutes', required=True), fields.Char(string='Latitude_Seconds', required=True), fields.Char(string='Latitude_Bearing', required=True),
from lims.utils import t from dependencies.dependency import DisplayList from base_olims_model import BaseOLiMSModel from fields.string_field import StringField from fields.text_field import TextField from fields.boolean_field import BooleanField from fields.file_field import FileField from fields.widget.widget import StringWidget, TextAreaWidget, \ FileWidget, BooleanWidget, \ ReferenceWidget, MultiSelectionWidget schema = ( StringField('Method', required=True, widget=StringWidget( label=_('Title'), description=_('Title is required.'), ), ), TextField('Description', widget=TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), # Method ID should be unique, specified on MethodSchemaModifier StringField('MethodID', searchable=1, required=0, help='Define an identifier code for the method. It must be unique.', validators=('uniquefieldvalidator',), widget=StringWidget(
from lims import bikaMessageFactory as _ _logger = logging.getLogger(__name__) schema = ( StringField( 'CommercialID', searchable=0, required=1, schemata='Accounting', tumbakto='blabla', widget=StringWidget( visible={ 'view': 'visible', 'edit': 'visible' }, label=_('Commercial ID'), description=_( "The profile's commercial ID for accounting purposes."), ), ), StringField('MyTestField', searchable=1, required=0, schemata='Accounting', tumbakto='blabla'), StringField('NewField', searchable=1, required=1, schemata='Accounting', tumbakto='blabla'),
from dependencies.dependency import getToolByName from operator import itemgetter import json from openerp import fields, models from models.base_olims_model import BaseOLiMSModel from fields.string_field import StringField from fields.text_field import TextField from fields.boolean_field import BooleanField from fields.widget.widget import StringWidget, TextAreaWidget, \ BooleanWidget # ~~~~~~~~~~ Irrelevant code for Odoo ~~~~~~~~~~~ # schema = BikaSchema.copy() + Schema(( schema = (StringField('name', required=1, widget=StringWidget( label=_('Title'), description=_('Title is required.'), ), ), TextField('Description', widget=TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), fields.Many2one(string='ContainerType', required = False, comodel_name='olims.container_type', # vocabulary_display_path_bound = sys.maxint, # allowed_types = ('ContainerType',), # vocabulary = 'getContainerTypes', # relationship = 'ContainerContainerType',
# from lims.config import PROJECTNAME # from lims.content.bikaschema import BikaSchema from lims import bikaMessageFactory as _ from fields.string_field import StringField from fields.text_field import TextField from fields.date_time_field import DateTimeField from fields.widget.widget import StringWidget, TextAreaWidget, DateTimeWidget from openerp import fields, models from base_olims_model import BaseOLiMSModel #schema = BikaSchema.copy() + Schema(( schema = ( StringField('AssetNumber', required=1, widget=StringWidget(label=_("Asset Number"), )), # ReferenceField('Instrument', # allowed_types=('Instrument',), # relationship='InstrumentCalibrationInstrument', # widget=StringWidget( # visible=False, # ) # ), fields.Many2one( string='Instruments', comodel_name='olims.instrument', required=False, ), # ~~~~~~~ To be implemented ~~~~~~~
fields.Many2one( string='Service', comodel_name='olims.analysis_service', relation='analysisservice_analysisrequest', domain="[('PointOfCapture', '=', 'field'),('category', '=', Category)]" ), fields.Many2one( string='LabService', comodel_name='olims.analysis_service', relation='analysisservice_analysisrequest', domain="[('PointOfCapture', '=', 'lab'),('category', '=', Category)]"), StringField( 'CommercialID', compute='_ComputeFieldResults', widget=StringWidget( label=_("Commercial ID"), description=_( "The service's commercial ID for accounting purposes")), ), StringField( 'ProtocolID', compute='_ComputeFieldResults', widget=StringWidget( label=_("Protocol ID"), description=_("The service's analytical protocol ID")), ), fields.Many2one(string='analysis_request_id', comodel_name='olims.analysis_request', ondelete='cascade'), fields.Many2one(string='ar_service_lab_id', comodel_name='olims.analysis_request', ondelete='cascade'), StringField(string="Error"),
from lims import PMF, bikaMessageFactory as _ from lims.workflow import getCurrentState, StateFlow, InactiveState import json import sys #schema = Organisation.schema.copy() + atapi.Schema(( schema = ( 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"), ), ), StringField('Fax', widget = StringWidget( label=_("Fax"),
from lims import bikaMessageFactory as _ from fields.string_field import StringField from fields.fixed_point_field import FixedPointField from fields.text_field import TextField from fields.widget.widget import StringWidget, DecimalWidget, TextAreaWidget from openerp import fields, models from base_olims_model import BaseOLiMSModel #schema = BikaSchema.copy() + Schema(( schema = ( StringField( 'Title', required=1, widget=StringWidget( label=_('Title'), description=_('Title is required.'), ), ), TextField( 'Description', widget=TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), StringField('Volume', widget=StringWidget(label=_("Volume"), )), StringField('Unit', widget=StringWidget(label=_("Unit"), )), FixedPointField( 'VAT', default=14.00, default_method='getDefaultVAT',
# ~~~~~~~~~~ Irrelevant code for Odoo ~~~~~~~~~~~ # schema = BikaSchema.copy() + Schema( schema = ( # ~~~~~~~ To be implemented ~~~~~~~ # StringField('ImportOption', # widget = SelectionWidget( # label = _("Import Option"), # format='select', # ), # vocabulary = ARIMPORT_OPTIONS, # ), StringField('FileName', searchable = True, widget = StringWidget( label = _("Filename"), ), ), FileField('OriginalFile', searchable = True, widget = FileWidget( label = _("Original File"), visible={'edit': 'invisible', 'view': 'visible', 'add': 'invisible'}, ), ), StringField('ClientTitle', searchable = True, widget = StringWidget( label = _("Client Name"), ),
FileField('bigIcon', help='32x32 pixel icon used for the this priority in object views.', widget = FileWidget( label = _("Big Icon"), ), ), BooleanField('isDefault', widget=BooleanWidget( label = _("Default Priority?"), description = _("Check this box if this is the default priority"), ), ), StringField('ChangeNote', widget=StringWidget( label=_("Change Note"), description=_("Enter a comment that describes the changes you made") ), ), )#) # ~~~~~~~~~~ Irrelevant code for Odoo ~~~~~~~~~~~ # schema['description'].widget.visible = True class ARPriority(models.Model, BaseOLiMSModel):#(BaseContent): _name = 'olims.ar_priority' # ~~~~~~~~~~ Irrelevant code for Odoo ~~~~~~~~~~~ # security = ClassSecurityInfo() # schema = schema # displayContentsTab = False # implements(IARPriority) # _at_rename_after_creation = True
BooleanField('Hazardous', default = False, widget = BooleanWidget( label=_("Hazardous"), description=_("Samples of this type should be treated as hazardous"), ), ), fields.Many2one(string='Sample Matrix', comodel_name='olims.sample_matrix', required = False, ), StringField('Prefix', required = True, widget = StringWidget( label=_("Sample Type Prefix"), ), ), StringField('Minimum Volume', required = 1, widget = StringWidget( label=_("Minimum Volume"), description=_("The minimum sample volume required for analysis eg. '10 ml' or '1 kg'."), ), ), fields.Many2one(string='Default Container', comodel_name='olims.container_type', required = False, help="The default container type. New sample partitions " + \ "are automatically assigned a container of this " + \ "type, unless it has been specified in more details " + \
# widget = ComputedWidget( # visible = True, # ), # ), FileField( 'AttachmentFile', widget=FileWidget(label=_("Attachment"), ), ), fields.Many2one(string='AttachmentType', comodel_name='olims.attachment_type', required=False, help='Attachment Type'), StringField( 'AttachmentKeys', searchable=True, widget=StringWidget(label=_("Attachment Keys"), ), ), DateTimeField( 'DateLoaded', required=1, default_method='current_date', widget=DateTimeWidget(label=_("Date Loaded"), ), ), # ~~~~~~~ To be implemented ~~~~~~~ # ComputedField('ClientUID', # expression = 'here.aq_parent.UID()', # widget = ComputedWidget( # visible = False, # ), # ), )
from base_olims_model import BaseOLiMSModel from fields.string_field import StringField from fields.integer_field import IntegerField from fields.boolean_field import BooleanField from fields.file_field import FileField from fields.widget.widget import StringWidget, BooleanWidget, IntegerWidget, FileWidget from dependencies.dependency import safe_unicode from openerp.tools.translate import _ schema = ( 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"), ), ), StringField( 'Fax', widget=StringWidget(label=_("Fax"), ), ), StringField('Email Address', schemata='Address',
# ComputedField( # 'ClientUID', # expression='context.getAnalysis() and context.getAnalysis().aq_parent.portal_type=="AnalysisRequest" and context.getAnalysis().getClientUID()', # ), # ComputedField( # 'RequestID', # expression='context.getAnalysis() and context.getAnalysis().aq_parent.portal_type=="AnalysisRequest" and context.getAnalysis().getRequestID() or ""', # ), # ComputedField( # 'PointOfCapture', # expression='context.getAnalysis() and context.getAnalysis().getPointOfCapture()', # ), StringField( 'ReferenceAnalysesGroupID', widget=StringWidget( label=_("ReferenceAnalysesGroupID"), visible=False, ), ), # ~~~~~~~ To be implemented ~~~~~~~ # ComputedField( # 'Keyword', # expression="context.getAnalysis().getKeyword()", # ), ) class DuplicateAnalysis(models.Model, BaseOLiMSModel): #Analysis _name = 'olims.duplicate_analysis' # implements(IDuplicateAnalysis) # security = ClassSecurityInfo() # displayContentsTab = False
# from lims import bikaMessageFactory as _ # from lims.utils import t # from dependencies.dependency import implements from openerp import fields, models, api from fields.string_field import StringField from base_olims_model import BaseOLiMSModel from fields.widget.widget import StringWidget from lims import bikaMessageFactory as _ #schema = Person.schema.copy() schema = ( StringField('Salutation', widget = StringWidget( label = _("Salutation", "Title"), description=_("Greeting title eg. Mr, Mrs, Dr"), ), ), StringField('Firstname', required = 1, widget = StringWidget( label=_("Firstname"), ), ), StringField('Middleinitial', required = 0, widget = StringWidget( label=_("Middle initial"), ), ),
# visible=False, # ), # ), ) schema_order_line = ( TextField( 'Description', compute='_ComputeFieldsValues', widget=TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), StringField('Volume', compute='_ComputeFieldsValues', widget=StringWidget(label=_("Volume"), )), StringField( 'Unit', # store=True, compute='_ComputeFieldsValues', widget=StringWidget(label=_("Unit"), )), FixedPointField( 'VAT', compute='_ComputeFieldsValues', default=14.00, default_method='getDefaultVAT', widget=DecimalWidget( label=_("VAT %"), description=_("Enter percentage value eg. 14.0"), ), ),
Sample Round Template """ from openerp.tools.translate import _ from fields.text_field import TextField from fields.string_field import StringField from fields.integer_field import IntegerField from fields.widget.widget import TextAreaWidget, StringWidget from openerp import fields, models from base_olims_model import BaseOLiMSModel schema = ( StringField( 'Template', required=1, widget=StringWidget( label=_('Title'), description=_('Title is required.'), ), ), TextField( 'Description', widget=TextAreaWidget( label=_('Description'), description=_('Used in item listings and search results.'), ), ), fields.Many2one(string='Department', comodel_name='olims.department', help='The laboratory department', required=True, relation='srtemplate_department'), TextField(
# "the interim fields are displayed. If 'Apply wide' is enabled " # "the field ill be shown in a selection box on the top of the " # "worksheet, allowing to apply a specific value to all the " # "corresponding fields on the sheet."), # ) ), StringField( 'name', required=1, schemata='Description', ), StringField( 'Description', schemata='Description', widget=StringWidget( label=_('Description'), description=_("Used in item listings and search results."), ), ), StringField( 'Changenote', schemata='Description', widget=StringWidget( label=_('Change note'), description=_( "Enter a comment that describes the changes you made."), ), ), TextField( 'Formula', schemata='Calculation', validators=('formulavalidator', ),