changes
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
# Part of the Fusion Plating product family.
|
||||
|
||||
from odoo import fields, models
|
||||
from odoo import api, fields, models
|
||||
|
||||
from ._fp_uom_selection import FP_UOM_SELECTION
|
||||
|
||||
|
||||
class FpBathParameter(models.Model):
|
||||
@@ -49,23 +51,37 @@ class FpBathParameter(models.Model):
|
||||
required=True,
|
||||
default='concentration',
|
||||
)
|
||||
uom = fields.Char(
|
||||
uom = fields.Selection(
|
||||
FP_UOM_SELECTION,
|
||||
string='Unit',
|
||||
help='Display unit (e.g. "g/L", "°C", "pH", "MTO").',
|
||||
help='Pick the unit this parameter is measured in. Drives the unit '
|
||||
'shown on every reading, target, and replenishment suggestion '
|
||||
'derived from this parameter.',
|
||||
)
|
||||
uom_display = fields.Char(
|
||||
string='Unit (display)',
|
||||
compute='_compute_uom_display',
|
||||
help='Resolved display string for the chosen unit '
|
||||
'(e.g. "g/L", "°C") — used by views that need plain text.',
|
||||
)
|
||||
target_min = fields.Float(
|
||||
string='Default Target Min',
|
||||
help='Default target minimum. Per-bath overrides are allowed.',
|
||||
help='Smallest acceptable reading, expressed in the unit selected '
|
||||
'above. Anything below this is flagged Out of Spec. '
|
||||
'Per-bath overrides allowed.',
|
||||
)
|
||||
target_max = fields.Float(
|
||||
string='Default Target Max',
|
||||
help='Default target maximum. Per-bath overrides are allowed.',
|
||||
help='Largest acceptable reading, expressed in the unit selected '
|
||||
'above. Anything above this is flagged Out of Spec. '
|
||||
'Per-bath overrides allowed.',
|
||||
)
|
||||
target_value = fields.Float(
|
||||
string='Default Setpoint / Optimum',
|
||||
help='The IDEAL operating value — what the heater/chiller controls '
|
||||
'toward, what dashboards compare against. Sits between '
|
||||
'target_min and target_max. Per-sensor override via '
|
||||
help='The IDEAL operating value, expressed in the unit selected '
|
||||
'above — what the heater/chiller controls toward, what '
|
||||
'dashboards compare against. Sits between Target Min and '
|
||||
'Target Max. Per-sensor override via '
|
||||
'fp.tank.sensor.target_value_override.',
|
||||
)
|
||||
warning_tolerance = fields.Float(
|
||||
@@ -86,6 +102,12 @@ class FpBathParameter(models.Model):
|
||||
default=True,
|
||||
)
|
||||
|
||||
@api.depends('uom')
|
||||
def _compute_uom_display(self):
|
||||
labels = dict(FP_UOM_SELECTION)
|
||||
for rec in self:
|
||||
rec.uom_display = labels.get(rec.uom, '') if rec.uom else ''
|
||||
|
||||
_sql_constraints = [
|
||||
(
|
||||
'fp_bath_parameter_code_uniq',
|
||||
|
||||
Reference in New Issue
Block a user