chore: session housekeeping — tank UX, plating menu defaults, WO label
- fusion_plating: tank field labels (Code → Tank Number, Tank → Tank Name) + state-control header buttons (Mark Empty/Filled/In Use/Draining/ Maintenance/Out of Service) with chatter audit logging. - fusion_plating_configurator: Plating app default landing screen = Sale Orders, while keeping menu name as 'Plating'. - fusion_plating_jobs: SO smart-button label 'Plating Jobs' → 'WO'. Already deployed and verified on entech earlier in the session. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,12 +22,12 @@ class FpTank(models.Model):
|
||||
_order = 'facility_id, work_center_id, sequence, code'
|
||||
|
||||
name = fields.Char(
|
||||
string='Tank',
|
||||
string='Tank Name',
|
||||
required=True,
|
||||
tracking=True,
|
||||
)
|
||||
code = fields.Char(
|
||||
string='Code',
|
||||
string='Tank Number',
|
||||
required=True,
|
||||
tracking=True,
|
||||
help='Short unique tank identifier (e.g. "T-01", "EN-A1").',
|
||||
@@ -174,3 +174,30 @@ class FpTank(models.Model):
|
||||
if not vals.get('qr_code') and vals.get('code'):
|
||||
vals['qr_code'] = f"FP-TANK:{vals['code']}"
|
||||
return super().create(vals_list)
|
||||
|
||||
# ----- State transition actions ---------------------------------------
|
||||
def _set_state(self, new_state, message):
|
||||
for rec in self:
|
||||
old = dict(rec._fields['state'].selection).get(rec.state, rec.state)
|
||||
new = dict(rec._fields['state'].selection).get(new_state, new_state)
|
||||
rec.state = new_state
|
||||
rec.message_post(body=f"{message} ({old} → {new}) by {self.env.user.name}")
|
||||
return True
|
||||
|
||||
def action_set_empty(self):
|
||||
return self._set_state('empty', 'Tank marked Empty')
|
||||
|
||||
def action_set_filled(self):
|
||||
return self._set_state('filled', 'Tank marked Filled')
|
||||
|
||||
def action_set_in_use(self):
|
||||
return self._set_state('in_use', 'Tank marked In Use')
|
||||
|
||||
def action_set_draining(self):
|
||||
return self._set_state('draining', 'Tank marked Draining')
|
||||
|
||||
def action_set_maintenance(self):
|
||||
return self._set_state('maintenance', 'Tank marked for Maintenance')
|
||||
|
||||
def action_set_out_of_service(self):
|
||||
return self._set_state('out_of_service', 'Tank marked Out of Service')
|
||||
|
||||
Reference in New Issue
Block a user