feat(silo): part registration dialog for unresolved BOM components #75
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 3 — Part Registration Dialog for Unresolved BOM Components
Ref:
docs/BOM_MERGE.mdPhase 3 & Section 6, issue #68Depends on: #73 (link extraction returns unresolved list)
Summary
When
resolve_part_numbers()returns unresolved components (linked documents without aSiloItemIdproperty), present a registration dialog so the user can create Silo items for them before they are included in the BOM.Requirements
Registration Dialog (
bom_sync.pyor newbom_register_dialog.py)BomEntry.doc_path)Registration Flow (per component)
_client.create_item(schema, category, description, projects)— same API asSilo_Newcommand"kindred-rd"(hardcoded, same asSilo_New)doc.Label)set_silo_properties()on the tracked object withSiloItemId,SiloPartNumber,SiloRevision_sync.save_to_canonical_path()Post-Registration
Silo_Commit, unresolved components are re-checked and prompted againExisting Code to Reuse
Silo_New.Activated()insilo_commands.py— category selection dialog, project tagging,create_item()callset_silo_properties()— setsSiloItemId,SiloPartNumber,SiloRevisionon FreeCAD objects_sync.save_to_canonical_path()— saves document to~/projects/cad/canonical location_client.get_schema()— fetches category list for schema selectionOut of Scope