Files
Odoo-Modules/fusion_digitize/models/account_move.py
gsinghpal fc3c966484 changes
2026-03-13 12:38:28 -04:00

45 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
# Copyright 2026 Nexa Systems Inc.
# License OPL-1 (Odoo Proprietary License v1.0)
import logging
from odoo import api, models
_logger = logging.getLogger(__name__)
class AccountMove(models.Model):
_inherit = 'account.move'
@api.model
def _contact_iap_extract(self, pathinfo, params):
ICP = self.env['ir.config_parameter'].sudo()
service = self.env['fusion.digitize.service']
api_key = service._get_api_key()
if not api_key:
return super()._contact_iap_extract(pathinfo, params)
vendor_bills_enabled = ICP.get_param(
'fusion_digitize.enable_vendor_bills', 'True',
) == 'True'
customer_invoices_enabled = ICP.get_param(
'fusion_digitize.enable_customer_invoices', 'True',
) == 'True'
if not vendor_bills_enabled and not customer_invoices_enabled:
return super()._contact_iap_extract(pathinfo, params)
if pathinfo == 'parse':
_logger.info("Fusion Digitize: intercepting invoice parse request")
return service._handle_parse(params, 'invoice')
if pathinfo == 'get_result':
return service._handle_get_result(params)
if pathinfo == 'validate':
return {'status': 'success'}
return super()._contact_iap_extract(pathinfo, params)