Fill default accounts when creating chart
issue10602 review359871002
This commit is contained in:
@@ -7,11 +7,13 @@ from . import account
|
||||
|
||||
def register():
|
||||
Pool.register(
|
||||
account.AccountTemplate,
|
||||
account.TaxTemplate,
|
||||
account.TaxRuleTemplate,
|
||||
account.FrFECStart,
|
||||
account.FrFECResult,
|
||||
module='account_fr', type_='model')
|
||||
Pool.register(
|
||||
account.CreateChart,
|
||||
account.FrFEC,
|
||||
module='account_fr', type_='wizard')
|
||||
|
||||
+46
@@ -20,6 +20,36 @@ OPENING_NAME = config.get(
|
||||
OPENING_NUMBER = config.get('account_fr', 'fec_opening_number', default="0")
|
||||
|
||||
|
||||
class AccountTemplate(metaclass=PoolMeta):
|
||||
__name__ = 'account.account.template'
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module_name):
|
||||
cursor = Transaction().connection.cursor()
|
||||
model_data = Table('ir_model_data')
|
||||
|
||||
# Migration from 6.0: rename ids
|
||||
if module_name == 'account_fr':
|
||||
for old_id, new_id in (
|
||||
('fr_pcg_pay', '4011'),
|
||||
('fr_pcg_recv', '4111'),
|
||||
('fr_pcg_cash', '512'),
|
||||
('fr_pcg_expense', '607'),
|
||||
):
|
||||
cursor.execute(*model_data.select(model_data.id,
|
||||
where=(model_data.fs_id == new_id)
|
||||
& (model_data.module == module_name)))
|
||||
if cursor.fetchone():
|
||||
continue
|
||||
cursor.execute(*model_data.update(
|
||||
columns=[model_data.fs_id],
|
||||
values=[new_id],
|
||||
where=(model_data.fs_id == old_id)
|
||||
& (model_data.module == module_name)))
|
||||
|
||||
super().__register__(module_name)
|
||||
|
||||
|
||||
class TaxTemplate(metaclass=PoolMeta):
|
||||
__name__ = 'account.tax.template'
|
||||
|
||||
@@ -56,6 +86,22 @@ class TaxTemplate(metaclass=PoolMeta):
|
||||
super(TaxTemplate, cls).__register__(module_name)
|
||||
|
||||
|
||||
class CreateChart(metaclass=PoolMeta):
|
||||
__name__ = 'account.create_chart'
|
||||
|
||||
def default_properties(self, fields):
|
||||
pool = Pool()
|
||||
ModelData = pool.get('ir.model.data')
|
||||
defaults = super().default_properties(fields)
|
||||
template_id = ModelData.get_id('account_fr.root')
|
||||
if self.account.account_template.id == template_id:
|
||||
defaults['account_receivable'] = self.get_account(
|
||||
'account_fr.4111')
|
||||
defaults['account_payable'] = self.get_account(
|
||||
'account_fr.4011')
|
||||
return defaults
|
||||
|
||||
|
||||
class TaxRuleTemplate(metaclass=PoolMeta):
|
||||
__name__ = 'account.tax.rule.template'
|
||||
|
||||
|
||||
+8
-8
@@ -4688,7 +4688,7 @@
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="400"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="fr_pcg_pay">
|
||||
<record model="account.account.template" id="4011">
|
||||
<field name="name">Fournisseurs - Achats de biens et prestations de services</field>
|
||||
<field name="code">4011</field>
|
||||
<field name="type" ref="dettes_fournisseurs_comptes_rattaches"/>
|
||||
@@ -4852,7 +4852,7 @@
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="410"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="fr_pcg_recv">
|
||||
<record model="account.account.template" id="4111">
|
||||
<field name="name">Clients - Ventes de biens ou de prestations de services</field>
|
||||
<field name="code">4111</field>
|
||||
<field name="type" ref="creances_clients"/>
|
||||
@@ -5881,7 +5881,7 @@
|
||||
<field name="type" ref="disponibilites"/>
|
||||
<field name="parent" ref="511"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="fr_pcg_cash">
|
||||
<record model="account.account.template" id="512">
|
||||
<field name="name">Banques</field>
|
||||
<field name="code">512</field>
|
||||
<field name="type" ref="emprunts_dettes_etablissements_credit"/>
|
||||
@@ -5894,14 +5894,14 @@
|
||||
<field name="code">5121</field>
|
||||
<field name="type" ref="emprunts_dettes_etablissements_credit"/>
|
||||
<field name="debit_type" ref="disponibilites"/>
|
||||
<field name="parent" ref="fr_pcg_cash"/>
|
||||
<field name="parent" ref="512"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="5124">
|
||||
<field name="name">Comptes en devises</field>
|
||||
<field name="code">5124</field>
|
||||
<field name="type" ref="emprunts_dettes_etablissements_credit"/>
|
||||
<field name="debit_type" ref="disponibilites"/>
|
||||
<field name="parent" ref="fr_pcg_cash"/>
|
||||
<field name="parent" ref="512"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="514">
|
||||
<field name="name">Chèques postaux</field>
|
||||
@@ -6257,7 +6257,7 @@
|
||||
<field name="type" ref="autres_achats"/>
|
||||
<field name="parent" ref="606"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="fr_pcg_expense">
|
||||
<record model="account.account.template" id="607">
|
||||
<field name="name">Achats de marchandises</field>
|
||||
<field name="code">607</field>
|
||||
<field name="type" ref="achat_marchandises"/>
|
||||
@@ -6268,13 +6268,13 @@
|
||||
<field name="name">Marchandise (ou groupe) A</field>
|
||||
<field name="code">6071</field>
|
||||
<field name="type" ref="achat_marchandises"/>
|
||||
<field name="parent" ref="fr_pcg_expense"/>
|
||||
<field name="parent" ref="607"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="6072">
|
||||
<field name="name">Marchandise (ou groupe) B</field>
|
||||
<field name="code">6072</field>
|
||||
<field name="type" ref="achat_marchandises"/>
|
||||
<field name="parent" ref="fr_pcg_expense"/>
|
||||
<field name="parent" ref="607"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="608">
|
||||
<field name="name">Frais accessoires incorporés aux achats</field>
|
||||
|
||||
@@ -4,13 +4,22 @@ import doctest
|
||||
import unittest
|
||||
import trytond.tests.test_tryton
|
||||
from trytond.tests.test_tryton import (
|
||||
ModuleTestCase, doctest_teardown, doctest_checker)
|
||||
ModuleTestCase, doctest_teardown, doctest_checker, with_transaction)
|
||||
|
||||
from trytond.modules.company.tests import create_company, set_company
|
||||
from trytond.modules.account.tests import create_chart
|
||||
|
||||
|
||||
class AccountFRTestCase(ModuleTestCase):
|
||||
'Test Account FR module'
|
||||
module = 'account_fr'
|
||||
|
||||
@with_transaction()
|
||||
def test_create_chart(self):
|
||||
company = create_company()
|
||||
with set_company(company):
|
||||
create_chart(company, chart=self.module + '.root')
|
||||
|
||||
|
||||
def suite():
|
||||
suite = trytond.tests.test_tryton.suite()
|
||||
|
||||
Reference in New Issue
Block a user