feat(fusion_plating_shopfloor): station roster + idle override + tablet config defaults (P6.1.6)
Adds two fields to fusion.plating.shopfloor.station: - x_fc_authorised_user_ids (Many2many → res.users): restricts the tablet lock-screen tile grid to a specific roster per station. Empty = all operator-group users shown. - x_fc_idle_lock_minutes (Integer, nullable): per-station override for the auto-lock idle threshold; null = use system parameter. Plus data/fp_tablet_config_data.xml registers four ir.config_parameter defaults (noupdate=1 — manager can override via Settings → Technical → Parameters): fp.shopfloor.tablet_idle_lock_minutes = 5 fp.shopfloor.tablet_pin_fail_threshold = 5 fp.shopfloor.tablet_pin_fail_lockout_minutes = 5 fp.shopfloor.tablet_warn_seconds_before_lock = 30 Form view surfaces both new fields in a dedicated 'Tablet PIN Gate' group. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -45,6 +45,7 @@ Copyright (c) 2026 Nexa Systems Inc. All rights reserved.
|
||||
'security/ir.model.access.csv',
|
||||
'data/fp_sequence_data.xml',
|
||||
'data/fp_cron_data.xml',
|
||||
'data/fp_tablet_config_data.xml',
|
||||
'views/fp_shopfloor_station_views.xml',
|
||||
'views/fp_bake_oven_views.xml',
|
||||
'views/fp_bake_window_views.xml',
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2026 Nexa Systems Inc.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
|
||||
Phase 6 tablet PIN gate — default knobs.
|
||||
All overridable via Settings → Technical → Parameters → System Parameters.
|
||||
-->
|
||||
<odoo noupdate="1">
|
||||
|
||||
<record id="ir_config_param_tablet_idle_lock_minutes" model="ir.config_parameter">
|
||||
<field name="key">fp.shopfloor.tablet_idle_lock_minutes</field>
|
||||
<field name="value">5</field>
|
||||
</record>
|
||||
|
||||
<record id="ir_config_param_tablet_pin_fail_threshold" model="ir.config_parameter">
|
||||
<field name="key">fp.shopfloor.tablet_pin_fail_threshold</field>
|
||||
<field name="value">5</field>
|
||||
</record>
|
||||
|
||||
<record id="ir_config_param_tablet_pin_fail_lockout_minutes" model="ir.config_parameter">
|
||||
<field name="key">fp.shopfloor.tablet_pin_fail_lockout_minutes</field>
|
||||
<field name="value">5</field>
|
||||
</record>
|
||||
|
||||
<record id="ir_config_param_tablet_warn_seconds_before_lock" model="ir.config_parameter">
|
||||
<field name="key">fp.shopfloor.tablet_warn_seconds_before_lock</field>
|
||||
<field name="value">30</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -73,6 +73,26 @@ class FpShopfloorStation(models.Model):
|
||||
string='Notes',
|
||||
)
|
||||
|
||||
# Phase 6 tablet PIN gate — per-station roster + idle override.
|
||||
x_fc_authorised_user_ids = fields.Many2many(
|
||||
'res.users',
|
||||
relation='fp_shopfloor_station_authorised_user_rel',
|
||||
column1='station_id',
|
||||
column2='user_id',
|
||||
string='Authorised Operators',
|
||||
help='If set, the tablet lock screen only shows tiles for these '
|
||||
'users. Empty = all operator-group users are shown. Use to '
|
||||
'restrict a tablet at a specialised station (e.g. EN Plating) '
|
||||
'to techs trained on that station.',
|
||||
)
|
||||
x_fc_idle_lock_minutes = fields.Integer(
|
||||
string='Idle Lock (minutes)',
|
||||
help='Per-station override for the auto-lock idle threshold. '
|
||||
'Leave blank to use the global default '
|
||||
'(ir.config_parameter fp.shopfloor.tablet_idle_lock_minutes, '
|
||||
'default 5).',
|
||||
)
|
||||
|
||||
_sql_constraints = [
|
||||
(
|
||||
'fp_shopfloor_station_code_uniq',
|
||||
|
||||
@@ -49,6 +49,13 @@
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Tablet PIN Gate (Phase 6)">
|
||||
<field name="x_fc_authorised_user_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'no_create': True}"/>
|
||||
<field name="x_fc_idle_lock_minutes"
|
||||
placeholder="default 5 (system parameter)"/>
|
||||
</group>
|
||||
<separator string="Notes"/>
|
||||
<field name="notes"/>
|
||||
</sheet>
|
||||
|
||||
Reference in New Issue
Block a user