Files
Odoo-Modules/fusion-plating/fusion_plating_bridge_documents/README.md
gsinghpal be611876ad changes
2026-04-12 09:09:50 -04:00

65 lines
2.6 KiB
Markdown

# Fusion Plating — Documents Bridge (Enterprise)
Part of the Fusion Plating product family by Nexa Systems Inc.
## What this module does
When both `fusion_plating_quality` and Odoo Enterprise's `documents` module are
installed, this bridge **auto-installs** and wires the two together so that
every attachment dropped on a Fusion Plating quality record (NCR, CAPA, FAIR,
or Controlled Document) is automatically mirrored into a dedicated Documents
workspace with the right tag applied.
No manual file uploads, no duplicate copies to keep in sync — the bridge takes
care of it on `ir.attachment.create()`.
## What it creates
* **Workspace**: `Plating — Quality` (a `documents.document` with `type='folder'`)
* **Facet**: `Record Type` (a `documents.facet` scoped to the workspace)
* **Tags**: `NCR`, `CAPA`, `FAIR`, `Doc Control` under that facet
* **Smart button**: a `Documents` stat button on every NCR / CAPA / FAIR /
Controlled Document form view, opening the filtered Documents kanban for
that record
## How it works
1. A user attaches a file to an NCR (or any of the other supported records)
via the chatter or a wizard.
2. The bridge's `ir.attachment.create()` override inspects `res_model` and,
if it matches one of the supported quality models, creates a mirror
`documents.document` record:
* Placed inside the `Plating — Quality` workspace
* Tagged with the corresponding record type tag
* Linked back to the original `ir.attachment` via `attachment_id`
3. On the quality record form, the smart button reads a computed Many2many
(`x_fc_document_ids`) that searches `documents.document` by the underlying
attachment's `res_model` + `res_id` — no duplication, no storage overhead.
## Safety & robustness
* The bridge never blocks attachment creation. Any exception raised while
creating the mirror `documents.document` record is caught and logged — the
user's upload always succeeds.
* All references to the workspace folder and tags use
`env.ref(..., raise_if_not_found=False)`. If the data records are ever
removed or renamed, the bridge degrades gracefully (no mirror created,
logged warning).
* The bridge never modifies `fusion_plating`, `fusion_plating_quality`, or
the EE `documents` module. It is purely additive.
## Dependencies
* `fusion_plating_quality`
* `documents` (Odoo Enterprise)
## Auto-install
`auto_install = True` — the bridge installs automatically whenever both
dependencies are present in the same database, and stays dormant otherwise.
## Copyright
Copyright 2026 Nexa Systems Inc. All rights reserved.
Licensed under OPL-1 (Odoo Proprietary License v1.0).