96ecf7a9e11c3487a6564d333c97af259de42283
Problem: the rebuilt CoC rendered mostly empty because accreditation logos had to be uploaded manually via Settings first, and no signature existed — looked unprofessional next to the Steelhead reference. Fix: - Seeder now auto-generates clean text-based accreditation badges with PIL (Nadcap blue, AS9100D/ISO 9001 blue, CGP red) sized to match the reference layout. Client can swap in real trademarked logos via Settings → Fusion Plating → Accreditation Logos at any time. - Seeder creates a demo "Kris Pathinather" user, sets them as the certificate owner on res.company, and renders a scripted-looking signature image that matches the printed name on the cert. - Seeder uploads a generated "Amphenol Canada Corp." badge to Amphenol's res.partner.image_1920 so that customer's CoCs include their logo on the top-right corner (mirrors how the reference shows it). - coc_body template: guard hr.employee.signature access with a field- exists check (the field is provided by an optional module not installed on every Odoo). - CoC uses web.html_container directly instead of wrapping in web.basic_layout — the outer wrapper was injecting top padding that pushed the title ~25% down the page. Now starts cleanly at the top. - Tightened CoC CSS: removed unused label classes, added @page margin directive, fixed vertical-align on header cells so logos and company contact stay middle-aligned regardless of row height. - Invoice PDF PAID stamp now also triggers on payment_state = 'in_payment', so historical demo invoices look paid without needing full bank reconciliation. Verified: renders a 152KB PDF with 5 embedded images, signer name matches signature, all accreditation badges visible. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Odoo 19 custom modules
Languages
Python
55.9%
HTML
26.1%
JavaScript
14.9%
SCSS
1.8%
CSS
0.8%
Other
0.4%