Files
Odoo-Modules/fusion_plating/fusion_plating_receiving/security/ir.model.access.csv
gsinghpal d531faad12 feat(fusion_plating): box-level tracking (fp.box) + thermal job-sticker redesign
Box registry: new fp.box model (fusion_plating_receiving), one record per
received box, auto-created when a receiving is marked Counted (idempotent
_fp_sync_boxes — grows/shrinks with box_count_in, never touches an advanced
box). Status received -> racked -> in_process -> packed -> shipped, per-box
scannable QR (/fp/box/<id> controller). Backfill migration for receivings
counted before tracking shipped. Boxes list/kanban/form + receiving smart
button.

Job stickers redesigned (thermal label, 6x4 in / 152x102mm, mm layout @
paperformat dpi=96 so mm maps 1:1 in wkhtmltopdf — see rule 14):
- Internal Job Sticker = Layout A, ONE per job (shop notes from
  x_fc_internal_description, job QR).
- External Job Sticker = Layout B, ONE per fp.box (BOX n/N, per-box QR,
  factory company logo, customer-facing notes). Dynamic MASK badge
  (x_fc_masking_enabled) + BAKE block (x_fc_bake_instructions), length-tiered
  notes font. Display logic in fp.job._fp_sticker_data().

Also retains the SO/WO box-sticker MemoryError fix in report_fp_wo_sticker.xml
(per-box loop sourced from fp.receiving.box_count_in + 100-label safety cap).

Verified live on entech: 111 boxes backfilled (31 receivings), External renders
one page per box, Internal one per job, scan endpoint 303->login.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 13:21:54 -04:00

4.0 KiB

1idnamemodel_id:idgroup_id:idperm_readperm_writeperm_createperm_unlink
2access_fp_receiving_operatorfp.receiving.operatormodel_fp_receivingfusion_plating.group_fp_technician1110
3access_fp_receiving_receiverfp.receiving.receivermodel_fp_receivingfusion_plating.group_fp_shop_manager_v21110
4access_fp_receiving_managerfp.receiving.managermodel_fp_receivingfusion_plating.group_fp_manager1111
5access_fp_receiving_line_operatorfp.receiving.line.operatormodel_fp_receiving_linefusion_plating.group_fp_technician1110
6access_fp_receiving_line_receiverfp.receiving.line.receivermodel_fp_receiving_linefusion_plating.group_fp_shop_manager_v21110
7access_fp_receiving_line_managerfp.receiving.line.managermodel_fp_receiving_linefusion_plating.group_fp_manager1111
8access_fp_receiving_damage_operatorfp.receiving.damage.operatormodel_fp_receiving_damagefusion_plating.group_fp_technician1110
9access_fp_receiving_damage_receiverfp.receiving.damage.receivermodel_fp_receiving_damagefusion_plating.group_fp_shop_manager_v21110
10access_fp_receiving_damage_managerfp.receiving.damage.managermodel_fp_receiving_damagefusion_plating.group_fp_manager1111
11access_fp_racking_inspection_operatorfp.racking.inspection.operatormodel_fp_racking_inspectionfusion_plating.group_fp_technician1110
12access_fp_racking_inspection_supervisorfp.racking.inspection.supervisormodel_fp_racking_inspectionfusion_plating.group_fp_shop_manager_v21110
13access_fp_racking_inspection_managerfp.racking.inspection.managermodel_fp_racking_inspectionfusion_plating.group_fp_manager1111
14access_fp_racking_inspection_line_operatorfp.racking.inspection.line.operatormodel_fp_racking_inspection_linefusion_plating.group_fp_technician1111
15access_fp_racking_inspection_line_supervisorfp.racking.inspection.line.supervisormodel_fp_racking_inspection_linefusion_plating.group_fp_shop_manager_v21111
16access_fp_racking_inspection_line_managerfp.racking.inspection.line.managermodel_fp_racking_inspection_linefusion_plating.group_fp_manager1111
17access_fp_label_manual_wizard_operatorfp.label.manual.wizard.operatormodel_fp_label_manual_wizardfusion_plating.group_fp_technician1111
18access_fp_label_generate_wizard_operatorfp.label.generate.wizard.operatormodel_fp_label_generate_wizardfusion_plating.group_fp_technician1111
19access_fp_outbound_package_operatorfp.outbound.package.operatormodel_fp_outbound_packagefusion_plating.group_fp_technician1111
20access_fp_label_manual_wizard_receiverfp.label.manual.wizard.receivermodel_fp_label_manual_wizardfusion_plating.group_fp_shop_manager_v21111
21access_fp_label_manual_wizard_supervisorfp.label.manual.wizard.supervisormodel_fp_label_manual_wizardfusion_plating.group_fp_shop_manager_v21111
22access_fp_label_manual_wizard_managerfp.label.manual.wizard.managermodel_fp_label_manual_wizardfusion_plating.group_fp_manager1111
23access_fp_label_generate_wizard_receiverfp.label.generate.wizard.receivermodel_fp_label_generate_wizardfusion_plating.group_fp_shop_manager_v21111
24access_fp_label_generate_wizard_supervisorfp.label.generate.wizard.supervisormodel_fp_label_generate_wizardfusion_plating.group_fp_shop_manager_v21111
25access_fp_label_generate_wizard_managerfp.label.generate.wizard.managermodel_fp_label_generate_wizardfusion_plating.group_fp_manager1111
26access_fp_outbound_package_receiverfp.outbound.package.receivermodel_fp_outbound_packagefusion_plating.group_fp_shop_manager_v21111
27access_fp_outbound_package_supervisorfp.outbound.package.supervisormodel_fp_outbound_packagefusion_plating.group_fp_shop_manager_v21111
28access_fp_outbound_package_managerfp.outbound.package.managermodel_fp_outbound_packagefusion_plating.group_fp_manager1111
29access_fp_box_operatorfp.box.operatormodel_fp_boxfusion_plating.group_fp_technician1110
30access_fp_box_supervisorfp.box.supervisormodel_fp_boxfusion_plating.group_fp_shop_manager_v21110
31access_fp_box_managerfp.box.managermodel_fp_boxfusion_plating.group_fp_manager1111