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:
@@ -3,7 +3,7 @@
|
|||||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||||
{
|
{
|
||||||
'name': 'Fusion Plating — Reports',
|
'name': 'Fusion Plating — Reports',
|
||||||
'version': '19.0.11.27.0',
|
'version': '19.0.11.28.0',
|
||||||
'category': 'Manufacturing/Plating',
|
'category': 'Manufacturing/Plating',
|
||||||
'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.',
|
'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.',
|
||||||
'depends': [
|
'depends': [
|
||||||
|
|||||||
@@ -36,10 +36,11 @@
|
|||||||
<style>
|
<style>
|
||||||
/* Float-based 3-column header (avoid HTML tables — the global
|
/* Float-based 3-column header (avoid HTML tables — the global
|
||||||
bordered-table cascade bleeds borders onto nested tables on
|
bordered-table cascade bleeds borders onto nested tables on
|
||||||
entech wkhtmltopdf; see CLAUDE.md). Bottom border separates
|
entech wkhtmltopdf; see CLAUDE.md). No bottom border —
|
||||||
header from body, replacing the old hr.heavy. */
|
matches the Sale Order header; spacing alone separates it
|
||||||
.fp-coc-header-row { overflow: hidden; margin-bottom: 10px;
|
from the body. */
|
||||||
padding-bottom: 6px; border-bottom: 2px solid #000; }
|
.fp-coc-header-row { overflow: hidden; margin-bottom: 14px;
|
||||||
|
padding-bottom: 6px; }
|
||||||
.fp-coc-header-left { float: left; width: 38%; }
|
.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-mid { float: left; width: 24%; text-align: center; padding-top: 4px; }
|
||||||
.fp-coc-header-right { float: right; width: 38%; text-align: center; }
|
.fp-coc-header-right { float: right; width: 38%; text-align: center; }
|
||||||
@@ -128,8 +129,6 @@
|
|||||||
needed to clear an Odoo header zone. */
|
needed to clear an Odoo header zone. */
|
||||||
.fp-coc { font-family: Arial, sans-serif; font-size: 9pt; color: #000;
|
.fp-coc { font-family: Arial, sans-serif; font-size: 9pt; color: #000;
|
||||||
padding-top: 0; }
|
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 { width: 100%; border-collapse: collapse; margin-bottom: 6px; }
|
||||||
.fp-coc table.bordered,
|
.fp-coc table.bordered,
|
||||||
.fp-coc table.bordered th,
|
.fp-coc table.bordered th,
|
||||||
@@ -139,7 +138,6 @@
|
|||||||
.fp-coc td { padding: 5px 8px; vertical-align: top; font-size: 8.5pt; }
|
.fp-coc td { padding: 5px 8px; vertical-align: top; font-size: 8.5pt; }
|
||||||
.fp-coc .text-center { text-align: center; }
|
.fp-coc .text-center { text-align: center; }
|
||||||
.fp-coc .text-end { text-align: right; }
|
.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 { 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 .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; }
|
.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
|
per client request 2026-05-28; the Nadcap logo now
|
||||||
lives in the header, mirroring the Sale Order. -->
|
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">
|
<table class="bordered">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width: 40%; vertical-align: top;">
|
<td style="width: 50%; vertical-align: top;">
|
||||||
<div>
|
<div>
|
||||||
<strong t-if="not is_fr">Customer Name: </strong>
|
<strong t-if="not is_fr">Customer Name: </strong>
|
||||||
<strong t-if="is_fr">Nom du client : </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>
|
<span t-if="doc.partner_id.zip"> <t t-esc="doc.partner_id.zip"/></span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</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"/>
|
<t t-set="contact" t-value="doc.contact_partner_id or doc.partner_id"/>
|
||||||
<div>
|
<div>
|
||||||
<strong t-if="not is_fr">Contact Name: </strong>
|
<strong t-if="not is_fr">Contact Name: </strong>
|
||||||
@@ -224,17 +224,9 @@
|
|||||||
<t t-esc="contact.phone or '-'"/>
|
<t t-esc="contact.phone or '-'"/>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</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>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<hr class="heavy"/>
|
|
||||||
|
|
||||||
<!-- Certification info table -->
|
<!-- Certification info table -->
|
||||||
<table class="bordered" style="margin-top: 8px;">
|
<table class="bordered" style="margin-top: 8px;">
|
||||||
<thead>
|
<thead>
|
||||||
|
|||||||
Reference in New Issue
Block a user