feat(fusion_plating): kind.area_kind drives Shop Floor column routing
Add required area_kind Selection to fp.step.kind so each kind self-declares which plant-view column its steps belong in. Replaces the hardcoded _STEP_KIND_TO_AREA dict (removed in fp_job_step.py in the follow-up commit). - New `blast` kind for the Blasting column (sequence=35) - 26 existing kind records seeded with area_kind in XML - Pre-migrate 19.0.21.2.0 seeds existing rows BEFORE NOT NULL hits the schema; also activates derack/demask/gating that were deactivated in 19.0.20.6.0 but are needed for the full taxonomy - Step Kind form + list views surface area_kind (badge + chip) - Step Kind search adds Group By Shop Floor Column - Simple Editor kind picker shows "Masking — Masking column" suffix so authors see the routing at pick time - Add Hot Water Porosity Test (A-15) + Final Inspection / Packaging templates (used by 7+3 recipe nodes that previously had no library entry) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -484,8 +484,15 @@ class SimpleRecipeController(http.Controller):
|
||||
type='jsonrpc', auth='user')
|
||||
def kinds_list(self):
|
||||
"""Sub 14b — Step Kind dropdown options for the inline library
|
||||
form. User-extensible via /fp/simple_recipe/kinds/create."""
|
||||
form. User-extensible via /fp/simple_recipe/kinds/create.
|
||||
|
||||
2026-05-24 — payload now includes `area_kind` + a humanized
|
||||
`area_kind_label` so the Simple Editor picker can render
|
||||
"Masking — Masking column" and authors see which Shop Floor
|
||||
column they're routing the step to.
|
||||
"""
|
||||
Kind = request.env['fp.step.kind']
|
||||
area_labels = dict(Kind._fields['area_kind'].selection)
|
||||
return {
|
||||
'kinds': [
|
||||
{
|
||||
@@ -494,6 +501,8 @@ class SimpleRecipeController(http.Controller):
|
||||
'name': k.name or '',
|
||||
'icon': k.icon or '',
|
||||
'sequence': k.sequence,
|
||||
'area_kind': k.area_kind or '',
|
||||
'area_kind_label': area_labels.get(k.area_kind, ''),
|
||||
}
|
||||
for k in Kind.search(
|
||||
[('active', '=', True)], order='sequence, name',
|
||||
|
||||
Reference in New Issue
Block a user