Odoo18-Base/addons/l10n_in_edi_ewaybill/demo/account_demo.py

38 lines
1.6 KiB
Python
Raw Permalink Normal View History

2025-01-06 10:57:38 +07:00
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import logging
from odoo import api, models
_logger = logging.getLogger(__name__)
class AccountChartTemplate(models.AbstractModel):
_inherit = "account.chart.template"
def _post_load_demo_data(self, company=False):
if company and company.account_fiscal_country_id.code == 'IN':
self._update_l10n_in_demo_data(company)
return super()._post_load_demo_data(company)
@api.model
def _update_l10n_in_demo_data(self, company=False):
indian_companies = company or self.env['res.company'].search([('account_fiscal_country_id.code', '=', 'IN')])
for indian_company in indian_companies:
if indian_company.state_id:
invoices = [
'demo_invoice_b2b_1',
'demo_invoice_b2b_2',
'demo_invoice_b2cs',
'demo_invoice_b2cl',
'demo_invoice_nill',
]
for xml_id in invoices:
self.ref("account.%s_%s"%(indian_company.id, xml_id)).write({
'l10n_in_type_id': self.env.ref("l10n_in_edi_ewaybill.type_tax_invoice_sub_type_supply"),
'l10n_in_distance': 20,
'l10n_in_mode': '1',
'l10n_in_vehicle_no': 'GJ11OD1234',
'l10n_in_vehicle_type': 'R',
})
else:
_logger.error('Error while loading Indian-Ewaybill demo data in the company "%s".State is not set in the company.', indian_company.name)