diff --git a/fusion_plating/fusion_plating/__manifest__.py b/fusion_plating/fusion_plating/__manifest__.py index 8fbb4775..e4a82818 100644 --- a/fusion_plating/fusion_plating/__manifest__.py +++ b/fusion_plating/fusion_plating/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Fusion Plating', - 'version': '19.0.10.2.0', + 'version': '19.0.10.3.0', 'category': 'Manufacturing/Plating', 'summary': 'Core plating / metal finishing ERP: facilities, processes, tanks, baths, jobs, operators.', 'description': """ diff --git a/fusion_plating/fusion_plating/models/res_company.py b/fusion_plating/fusion_plating/models/res_company.py index 3eab66f3..66e9fd14 100644 --- a/fusion_plating/fusion_plating/models/res_company.py +++ b/fusion_plating/fusion_plating/models/res_company.py @@ -173,3 +173,15 @@ class ResCompany(models.Model): 'recipe with preferred_editor=auto is selected. Per-recipe ' 'preferred_editor (tree/simple) overrides this.', ) + + # ===================================================================== + # Sub 12c+ — Default Certification Statement + # ===================================================================== + x_fc_default_cert_statement = fields.Text( + string='Default Cert Statement', + help='Boilerplate text printed in the Certificate of Conformance ' + '"Certification Statement" block. Per-customer override on ' + 'res.partner.x_fc_cert_statement takes precedence when set. ' + 'When BOTH are blank the report falls back to a hardcoded ' + 'AS9100/ISO 9001 statement.', + ) diff --git a/fusion_plating/fusion_plating_certificates/__manifest__.py b/fusion_plating/fusion_plating_certificates/__manifest__.py index 314906bc..91ce53da 100644 --- a/fusion_plating/fusion_plating_certificates/__manifest__.py +++ b/fusion_plating/fusion_plating_certificates/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Fusion Plating — Certificates', - 'version': '19.0.5.2.0', + 'version': '19.0.5.3.0', 'category': 'Manufacturing/Plating', 'summary': 'Certificate registry for CoC, thickness reports, and quality documents.', 'description': """ diff --git a/fusion_plating/fusion_plating_certificates/models/res_partner.py b/fusion_plating/fusion_plating_certificates/models/res_partner.py index 2693a4eb..b2fc7cd7 100644 --- a/fusion_plating/fusion_plating_certificates/models/res_partner.py +++ b/fusion_plating/fusion_plating_certificates/models/res_partner.py @@ -87,3 +87,14 @@ class ResPartner(models.Model): 'use: a primary account-manager contact who wants full ' 'visibility into everything the shop sends out.', ) + + # ---- Sub 12c+ — Per-customer cert statement override ---------------- + x_fc_cert_statement = fields.Text( + string='Cert Statement Override', + help='Override boilerplate text printed in the Certificate of ' + 'Conformance "Certification Statement" block. When blank, ' + 'falls back to the company default (res.company.' + 'x_fc_default_cert_statement) and finally to a hardcoded ' + 'AS9100/ISO 9001 boilerplate. Useful for aerospace customers ' + 'who require specific NIST or DFARS language.', + ) diff --git a/fusion_plating/fusion_plating_certificates/views/res_partner_views.xml b/fusion_plating/fusion_plating_certificates/views/res_partner_views.xml index 28560ef7..9cc011e7 100644 --- a/fusion_plating/fusion_plating_certificates/views/res_partner_views.xml +++ b/fusion_plating/fusion_plating_certificates/views/res_partner_views.xml @@ -32,6 +32,17 @@ + +

+ Boilerplate text printed in the "Certification Statement" + block on this customer's CoC. Leave blank to use the + company default, then a hardcoded AS9100/ISO 9001 + statement. +

+ + +
diff --git a/fusion_plating/fusion_plating_reports/__manifest__.py b/fusion_plating/fusion_plating_reports/__manifest__.py index 06177051..2f6ac4b2 100644 --- a/fusion_plating/fusion_plating_reports/__manifest__.py +++ b/fusion_plating/fusion_plating_reports/__manifest__.py @@ -3,7 +3,7 @@ # License OPL-1 (Odoo Proprietary License v1.0) { 'name': 'Fusion Plating — Reports', - 'version': '19.0.10.0.0', + 'version': '19.0.10.1.0', 'category': 'Manufacturing/Plating', 'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.', 'depends': [ @@ -33,6 +33,7 @@ # Quality + compliance reports 'report/report_coc.xml', 'report/report_coc_chronological.xml', + 'report/report_fp_rack_travel.xml', 'report/report_ncr.xml', 'report/report_capa.xml', 'report/report_bath_chemistry_log.xml', diff --git a/fusion_plating/fusion_plating_reports/report/report_coc_chronological.xml b/fusion_plating/fusion_plating_reports/report/report_coc_chronological.xml index bc40666a..7212946f 100644 --- a/fusion_plating/fusion_plating_reports/report/report_coc_chronological.xml +++ b/fusion_plating/fusion_plating_reports/report/report_coc_chronological.xml @@ -112,20 +112,45 @@ - - + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + - @@ -168,6 +200,11 @@ + + + + +
NameDescriptionDescription TargetActualActual Recorded By
@@ -144,7 +169,14 @@ + + + + + + [Attachment] + +
@@ -183,12 +220,8 @@ Ref. WO# -

- We certify that the parts listed above have been processed - in accordance with the specifications referenced and that - all required tests have been performed. Records on file at - our facility per AS9100 / ISO 9001 retention policy. -

+

diff --git a/fusion_plating/fusion_plating_reports/report/report_fp_rack_travel.xml b/fusion_plating/fusion_plating_reports/report/report_fp_rack_travel.xml new file mode 100644 index 00000000..7e7df954 --- /dev/null +++ b/fusion_plating/fusion_plating_reports/report/report_fp_rack_travel.xml @@ -0,0 +1,138 @@ + + + + + + FP Rack Travel — A5 landscape + A5 + Landscape + 8 + 8 + 8 + 8 + 5 + 90 + + + + Rack Travel Ticket + fusion.plating.rack + qweb-pdf + fusion_plating_reports.report_fp_rack_travel_template + fusion_plating_reports.report_fp_rack_travel_template + 'Rack-Travel-%s' % (object.name or '').replace('/', '-') + + report + + + + + + diff --git a/fusion_plating/fusion_plating_shopfloor/static/src/js/rack_parts_dialog.js b/fusion_plating/fusion_plating_shopfloor/static/src/js/rack_parts_dialog.js index 333c81c8..3646fee9 100644 --- a/fusion_plating/fusion_plating_shopfloor/static/src/js/rack_parts_dialog.js +++ b/fusion_plating/fusion_plating_shopfloor/static/src/js/rack_parts_dialog.js @@ -76,9 +76,10 @@ export class FpRackPartsDialog extends Component { } this.props.close(); if (printAfter) { - // Sub 12c report — until it ships, this returns 404. + // Sub 12c+ rack travel ticket + // (fusion_plating_reports.action_report_fp_rack_travel). window.open( - `/web/report/pdf/fp.rack.travel/${this.state.selectedRackId}`, + `/report/pdf/fusion_plating_reports.action_report_fp_rack_travel/${this.state.selectedRackId}`, "_blank", ); }