import logging

from odoo import models, fields

_logger = logging.getLogger(__name__)


class AccountMove(models.Model):
    _inherit = 'account.move'

    woo_order_id = fields.Many2one('woo.order', string='WooCommerce Order')
    is_woo_invoice = fields.Boolean(compute='_compute_is_woo_invoice', string='Is WC Invoice')

    def _compute_is_woo_invoice(self):
        for move in self:
            move.is_woo_invoice = bool(move.woo_order_id)

    def action_post(self):
        """Override to auto-push invoice PDF to WooCommerce on posting."""
        res = super().action_post()
        for move in self:
            if move.woo_order_id and not move.woo_order_id.invoice_synced:
                try:
                    move.woo_order_id.action_push_invoice_pdf()
                    move.woo_order_id.invoice_synced = True
                except Exception as e:
                    _logger.error("Failed to push invoice PDF to WC: %s", e)
        return res
