point_of_sale/models/chart_template.py

25 lines
1.3 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
from odoo import models
class AccountChartTemplate(models.AbstractModel):
_inherit = 'account.chart.template'
def _load(self, template_code, company, install_demo):
"""Remove the payment methods that are created for the company and unset journals before installing the chart of accounts.
Keeping these existing pos.payment.method records and pos.config journals interferes with the installation of chart of accounts
because pos.payment.method model has fields linked to account.journal and account.account records that are
deleted during the loading of chart of accounts.
"""
reload_template = template_code == company.chart_template
if not reload_template:
self.env['pos.payment.method'].with_context(active_test=False).search(self.env['pos.payment.method']._check_company_domain(company)).unlink()
self.env["pos.config"].with_context(active_test=False).search(self.env['pos.config']._check_company_domain(company)).write({
'journal_id': False,
'invoice_journal_id': False,
})
result = super()._load(template_code, company, install_demo)
self.env['pos.config'].post_install_pos_localisation(companies=company)
return result