38 lines
1.6 KiB
Python
38 lines
1.6 KiB
Python
|
# -*- 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)
|