diff --git a/fusion_plating/fusion_plating/__init__.py b/fusion_plating/fusion_plating/__init__.py index bd8e7014..e27b75b8 100644 --- a/fusion_plating/fusion_plating/__init__.py +++ b/fusion_plating/fusion_plating/__init__.py @@ -155,7 +155,7 @@ def _create_template_from_node(env, node, seen): tpl = env['fp.step.template'].create(vals) if kind: - tpl._seed_default_inputs() + tpl.action_seed_default_inputs() def _seed_minimal_library(env): @@ -180,7 +180,7 @@ def _seed_minimal_library(env): ] for name, kind in minimal: tpl = Tpl.create({'name': name, 'default_kind': kind}) - tpl._seed_default_inputs() + tpl.action_seed_default_inputs() _logger.info( 'Fusion Plating: seeded minimal step library (%s entries)', len(minimal), diff --git a/fusion_plating/fusion_plating/models/fp_step_template.py b/fusion_plating/fusion_plating/models/fp_step_template.py index a0d3a25c..25189410 100644 --- a/fusion_plating/fusion_plating/models/fp_step_template.py +++ b/fusion_plating/fusion_plating/models/fp_step_template.py @@ -198,9 +198,13 @@ class FpStepTemplate(models.Model): 'gating': [], } - def _seed_default_inputs(self): + def action_seed_default_inputs(self): """Seed input_template_ids based on default_kind. Idempotent — - only adds inputs whose names don't already exist on this template.""" + only adds inputs whose names don't already exist on this template. + + Public method (Odoo 19 requires non-underscore-prefixed names + for methods called from a view button). + """ Input = self.env['fp.step.template.input'] for tpl in self: if not tpl.default_kind: diff --git a/fusion_plating/fusion_plating/views/fp_step_template_views.xml b/fusion_plating/fusion_plating/views/fp_step_template_views.xml index edb3df5a..9af2dd93 100644 --- a/fusion_plating/fusion_plating/views/fp_step_template_views.xml +++ b/fusion_plating/fusion_plating/views/fp_step_template_views.xml @@ -30,7 +30,7 @@
-