feat(configurator): per-part description version model + part load/save helpers

fp.part.description.version: immutable per-part snapshots with version_no/
is_latest maintained in create(), titled "<SO#> · <date>". fp.part.catalog
gains description_version_ids + _fp_resolve_line_descriptions (load latest,
fallback to default_specification_text) and _fp_save_description_version
(dedup + sync default). ACL mirrors fp.sale.description.template.

Tests deferred to entech (local Docker unavailable this session).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-29 19:55:14 -04:00
parent 9b18f77e06
commit 2ed3dcee58
7 changed files with 215 additions and 1 deletions

View File

@@ -44,3 +44,6 @@ access_fp_part_material_estimator,fp.part.material.estimator,model_fp_part_mater
access_fp_part_material_manager,fp.part.material.manager,model_fp_part_material,fusion_plating.group_fp_manager,1,1,1,1
access_fp_so_job_sort_user,fp.so.job.sort.user,model_fp_so_job_sort,base.group_user,1,1,1,0
access_fp_so_job_sort_manager,fp.so.job.sort.manager,model_fp_so_job_sort,fusion_plating.group_fp_manager,1,1,1,1
access_fp_part_description_version_user,fp.part.description.version.user,model_fp_part_description_version,base.group_user,1,0,0,0
access_fp_part_description_version_estimator,fp.part.description.version.estimator,model_fp_part_description_version,fusion_plating.group_fp_sales_rep,1,1,1,0
access_fp_part_description_version_manager,fp.part.description.version.manager,model_fp_part_description_version,fusion_plating.group_fp_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
44 access_fp_part_material_manager fp.part.material.manager model_fp_part_material fusion_plating.group_fp_manager 1 1 1 1
45 access_fp_so_job_sort_user fp.so.job.sort.user model_fp_so_job_sort base.group_user 1 1 1 0
46 access_fp_so_job_sort_manager fp.so.job.sort.manager model_fp_so_job_sort fusion_plating.group_fp_manager 1 1 1 1
47 access_fp_part_description_version_user fp.part.description.version.user model_fp_part_description_version base.group_user 1 0 0 0
48 access_fp_part_description_version_estimator fp.part.description.version.estimator model_fp_part_description_version fusion_plating.group_fp_sales_rep 1 1 1 0
49 access_fp_part_description_version_manager fp.part.description.version.manager model_fp_part_description_version fusion_plating.group_fp_manager 1 1 1 1