Email resend (replaces broken PDF download): - New AJAX action woodoo_send_invoice_email - Finds Odoo invoice email template via ir.model.data (cached 24h) with fallback search on mail.template by model - Calls mail.template.send_mail([template_id], invoice_id, force_send=True) via authenticated JSON-RPC — triggers Odoo to email the invoice - Inline success/error row appears below the invoice row, auto-hides 6s - Button shows "Enviando…" spinner state, resets on failure Table columns: - Remove "Saldo pendiente" column (was amount_residual) - Rename "Total" → "Importe" - min-width reduced to 700px now that there are 6 columns - Font size reduced to .8rem for denser display JS restructured so invoice email handler always runs (no early exit), calendar handler only runs when WooDooCalendar data is present. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
PHP
67.7%
JavaScript
24%
CSS
8.3%