fix(plating): clean up CoC layout — drop empty logo column + separating lines

- Customer block: remove the (usually empty) customer-logo third column;
  Address | Contact now split 50/50.
- Remove the heavy header bottom border (the Sale Order header has none) and
  the hr.heavy rule between the customer block and the cert info table.
- Drop now-dead CSS (.fp-coc h1, hr.heavy, .customer-logo). Bump reports to
  19.0.11.28.0.

Deployed + render-verified on entech (CoC-30065, 222KB PDF, no QWeb errors).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-28 21:25:32 -04:00
parent 307afbf3c0
commit 687decca28
2 changed files with 11 additions and 19 deletions

View File

@@ -3,7 +3,7 @@
# License OPL-1 (Odoo Proprietary License v1.0)
{
'name': 'Fusion Plating — Reports',
'version': '19.0.11.27.0',
'version': '19.0.11.28.0',
'category': 'Manufacturing/Plating',
'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.',
'depends': [

View File

@@ -36,10 +36,11 @@
<style>
/* Float-based 3-column header (avoid HTML tables — the global
bordered-table cascade bleeds borders onto nested tables on
entech wkhtmltopdf; see CLAUDE.md). Bottom border separates
header from body, replacing the old hr.heavy. */
.fp-coc-header-row { overflow: hidden; margin-bottom: 10px;
padding-bottom: 6px; border-bottom: 2px solid #000; }
entech wkhtmltopdf; see CLAUDE.md). No bottom border
matches the Sale Order header; spacing alone separates it
from the body. */
.fp-coc-header-row { overflow: hidden; margin-bottom: 14px;
padding-bottom: 6px; }
.fp-coc-header-left { float: left; width: 38%; }
.fp-coc-header-mid { float: left; width: 24%; text-align: center; padding-top: 4px; }
.fp-coc-header-right { float: right; width: 38%; text-align: center; }
@@ -128,8 +129,6 @@
needed to clear an Odoo header zone. */
.fp-coc { font-family: Arial, sans-serif; font-size: 9pt; color: #000;
padding-top: 0; }
.fp-coc h1 { text-align: center; font-size: 20pt; margin: 0 0 10px 0; font-weight: bold; }
.fp-coc hr.heavy { border: 0; border-top: 2px solid #000; margin: 6px 0; }
.fp-coc table { width: 100%; border-collapse: collapse; margin-bottom: 6px; }
.fp-coc table.bordered,
.fp-coc table.bordered th,
@@ -139,7 +138,6 @@
.fp-coc td { padding: 5px 8px; vertical-align: top; font-size: 8.5pt; }
.fp-coc .text-center { text-align: center; }
.fp-coc .text-end { text-align: right; }
.fp-coc .customer-logo { max-height: 1.8cm; max-width: 3.5cm; }
.fp-coc .cert-statement-box { border: 1px solid #000; padding: 10px; font-size: 8.5pt; }
.fp-coc .cert-statement-box h4 { margin: 0 0 6px 0; font-size: 9.5pt; font-weight: bold; }
.fp-coc .signature-img { max-height: 2.2cm; max-width: 7cm; }
@@ -186,10 +184,12 @@
per client request 2026-05-28; the Nadcap logo now
lives in the header, mirroring the Sale Order. -->
<!-- Customer block — 3 columns: address | contact | logo -->
<!-- Customer block — 2 columns: address | contact. The
customer-logo column was dropped 2026-05-28 (usually
empty; the company logo is now in the header). -->
<table class="bordered">
<tr>
<td style="width: 40%; vertical-align: top;">
<td style="width: 50%; vertical-align: top;">
<div>
<strong t-if="not is_fr">Customer Name: </strong>
<strong t-if="is_fr">Nom du client : </strong>
@@ -206,7 +206,7 @@
<span t-if="doc.partner_id.zip"> <t t-esc="doc.partner_id.zip"/></span>
</div>
</td>
<td style="width: 40%; vertical-align: top;">
<td style="width: 50%; vertical-align: top;">
<t t-set="contact" t-value="doc.contact_partner_id or doc.partner_id"/>
<div>
<strong t-if="not is_fr">Contact Name: </strong>
@@ -224,17 +224,9 @@
<t t-esc="contact.phone or '-'"/>
</div>
</td>
<td style="width: 20%; text-align: center; vertical-align: middle;">
<img t-if="doc.partner_id.image_1920"
class="customer-logo"
t-att-src="'data:image/png;base64,%s' % doc.partner_id.image_1920.decode()"
alt=""/>
</td>
</tr>
</table>
<hr class="heavy"/>
<!-- Certification info table -->
<table class="bordered" style="margin-top: 8px;">
<thead>