Repository
OCA/connector-lims · module folder · Try on Runboat
Module version
1.0.0
Category
Uncategorized
Folder size
0.17 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/connector-lims
Last tracking update
2026-07-14 13:56:18
Authors
Odoo Community Association (OCA), Creu Blanca, Dixmit
Maintainers
Odoo Community Association (OCA), Creu Blanca, Dixmit
Committers
Enric Tobella, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module allows to manage a Laboratory from an odoo instance.

It implements a simple LIMS for your company.

Code Analysis

Views touched (16)
XML IDNameModelTypeStatus
lims.lims_sample_report_template lims.lims_sample_report_template ir.ui.view qweb New
lims_analysis_form_view lims.analysis.form (in lims) lims.analysis form New
lims_analysis_list_base_view lims.analysis.list (in lims) lims.analysis list New
lims_analysis_list_creation_view lims.analysis.list (in lims) lims.analysis list Inherits lims_analysis_list_base_view
lims_analysis_list_view lims.analysis.list (in lims) lims.analysis list Inherits lims_analysis_list_base_view
lims_analysis_search_view lims.analysis.search (in lims) lims.analysis search New
lims_analyte_form_view lims.analyte form New
lims_analyte_search_view lims.analyte search New
lims_analyte_tree_view lims.analyte list New
lims_sample_form_view lims.sample.form (in lims) lims.sample form New
lims_sample_list_view lims.sample.list (in lims) lims.sample list New
lims_sample_search_view lims.sample.search (in lims) lims.sample search New
lims_sample_type_form_view lims.sample.type.form (in lims) lims.sample.type form New
lims_sample_type_list_view lims.sample.type.list (in lims) lims.sample.type list New
lims_sample_type_search_view lims.sample.type.search (in lims) lims.sample.type search New
res_config_settings_view_form res.config.settings.view.form.inherit.account res.config.settings form Inherits base.res_config_settings_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (19)
  • analyst_id Many2one → res.users
    readonly=True args: 'res.users'
  • analyte_id Many2one → lims.analyte
    readonly=True args: 'lims.analyte'
  • can_verify Boolean
    compute='_compute_can_verify'
  • capture_date Datetime
    readonly=True
  • company_id Many2one → res.company
    related='sample_id.company_id' store=True args: 'res.company'
  • display_type Selection
    default='analyte' args: [('analyte', 'Analyte'), ('line_section', 'Section'), ('line_subsection', 'Subsection'), ('line_note', 'Note')]
  • due_date Datetime
    readonly=True
  • identifier Char
    default='/' readonly=True required=True
  • name Char
    compute='_compute_name' readonly=True required=True store=True
  • progress Float
    compute='_compute_progress' store=True
  • sample_id Many2one → lims.sample
    required=True args: 'lims.sample'
  • sequence Integer
    default=10
  • state Selection
    default='registered' readonly=True required=True args: [('registered', 'Registered'), ('to_analyze', 'To Analyze'), ('to_be_verified', 'To be verified'), ('verified', 'Verified'), ('rejected', 'Rejected')]
  • submitted_date Datetime
  • uom_id Many2one → uom.uom
    compute='_compute_uom_id' readonly=True store=True args: 'uom.uom'
  • value Json
    compute='_compute_value' readonly=True store=True
  • value_state Selection
    compute='_compute_value_state' store=True args: [('valid', 'Valid'), ('min', 'Minimum'), ('max', 'Maximum'), ('min_warning', 'Minimum Warning'), ('max_warning', 'Maximum Warning')]
  • verification_date Datetime
    readonly=True
  • verified_by Many2one → res.users
    readonly=True args: 'res.users'
Public methods (6)
  • analyze_action(self)
  • create(self, mvals)
    @api.model_create_multi
  • final_states(self)
  • reject_action(self)
  • retract_action(self)
  • verify_action(self)

New fields (10)
  • active Boolean
    default=True
  • autoverify Boolean
    help='Whether the analysis can be verified by the user if he is a verifier.'
  • code Char
    required=True
  • description Html
    translate=True
  • name Char
    required=True translate=True
  • option_ids One2many → lims.analyte.option
    inverse_name='analyte_id' args: 'lims.analyte.option'
  • precision_digits Integer
    default=2 help='Number of decimals to consider when comparing numeric results with\n specifications. Ignored for other result types.'
  • result_type Selection
    default='float' required=True args: [('float', 'Numeric'), ('char', 'String'), ('text', 'Text'), ('boolean', 'Boolean'), ('selection', 'Selection'), ('multiselection', 'Multi-selection'), ('multiselection-check', 'Multi-selection with checks'), ('date', 'Date'), ('datetime', 'Datetime')]
  • specification_ids One2many → lims.analyte.specs
    inverse_name='analyte_id' args: 'lims.analyte.specs'
  • uom_id Many2one → uom.uom
    args: 'uom.uom'
Public methods (0)

No public methods.

New fields (3)
  • analyte_id Many2one → lims.analyte
    required=True args: 'lims.analyte'
  • sequence Integer
    default=10 required=True
  • value Char
    required=True
Public methods (0)

No public methods.

New fields (8)
  • analyte_id Many2one → lims.analyte
    required=True args: 'lims.analyte'
  • max_operator Selection
    default='gt' args: OPERATORS
  • max_value Float
  • max_warning_value Float
  • min_operator Selection
    default='lt' args: OPERATORS
  • min_value Float
  • min_warning_value Float
  • sample_type_id Many2one → lims.sample.type
    required=True args: 'lims.sample.type'
Public methods (0)

No public methods.

New fields (13)
  • analysis_ids One2many → lims.analysis
    inverse_name='sample_id' args: 'lims.analysis'
  • company_id Many2one → res.company
    default=<expr> tracking=True args: 'res.company'
  • external_identifier Char
  • identifier Char
    copy=False default='/' readonly=True required=True
  • interpretation Html
  • partner_id Many2one → res.partner
    tracking=True args: 'res.partner'
  • priority Selection
    default='3' required=True args: [('1', 'Highest'), ('2', 'High'), ('3', 'Normal'), ('4', 'Low'), ('5', 'Lowest')]
  • progress Float
    compute='_compute_progress' store=True
  • received_date Datetime
    readonly=True
  • sample_date Datetime
    default=fields.Datetime.now() readonly=True required=True tracking=True
  • sample_type_id Many2one → lims.sample.type
    required=True tracking=True args: 'lims.sample.type'
  • state Selection
    default='due' readonly=True required=True tracking=True args: [('registered', 'Registered'), ('scheduled_sampling', 'Scheduled Sampling'), ('due', 'Sample due'), ('received', 'Received'), ('to_be_verified', 'To be verified'), ('verified', 'Verified'), ('cancelled', 'Cancelled'), ('invalid', 'Invalid')]
  • verification_date Datetime
    readonly=True
Public methods (3)
  • create(self, mvals)
    @api.model_create_multi
  • get_analysis(self)
  • receive_sample_action(self)

New fields (4)
  • active Boolean
    default=True
  • description Text
  • hazardous Boolean
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (1)
  • lims_unforce_double_verification_manager Boolean
    config_parameter='lims.unforce_double_verification_manager' help='Allow managers to validate analyses without double verification' string='Unforce double verification for managers'
Public methods (0)

No public methods.