From 869db20f34a2ce085e636f4f10c62b7d2dfa6d29 Mon Sep 17 00:00:00 2001 From: Guillem Barba Date: Wed, 27 Jul 2016 15:04:37 +0200 Subject: [PATCH] Add patch analytic_account.diff (analytic separated by company) --- analytic_account.diff | 119 ++++++++++++++++++++++++++++++++++++++++++ series | 2 + 2 files changed, 121 insertions(+) create mode 100644 analytic_account.diff diff --git a/analytic_account.diff b/analytic_account.diff new file mode 100644 index 0000000..0e5630d --- /dev/null +++ b/analytic_account.diff @@ -0,0 +1,119 @@ +# HG changeset patch +# User Sergi Almacellas Abellana +Add company domain + + +issue5104 + +review19141003 + +Index: trytond/trytond/modules/analytic_account/account.py +=================================================================== + +diff -r 86eaf56137aa account.py +--- a/trytond/trytond/modules/analytic_account/account.py Wed Dec 23 00:19:29 2015 +0100 ++++ b/trytond/trytond/modules/analytic_account/account.py Wed Jul 27 13:50:42 2016 +0200 +@@ -22,7 +22,7 @@ + name = fields.Char('Name', required=True, translate=True, select=True) + code = fields.Char('Code', select=True) + active = fields.Boolean('Active', select=True) +- company = fields.Many2One('company.company', 'Company') ++ company = fields.Many2One('company.company', 'Company', required=True) + currency = fields.Many2One('currency.currency', 'Currency', required=True) + currency_digits = fields.Function(fields.Integer('Currency Digits'), + 'on_change_with_currency_digits') +@@ -32,12 +32,16 @@ + ('normal', 'Normal'), + ], 'Type', required=True) + root = fields.Many2One('analytic_account.account', 'Root', select=True, +- domain=[('parent', '=', None)], ++ domain=[ ++ ('company', '=', Eval('company')), ++ ('parent', '=', None), ++ ('type', '=', 'root'), ++ ], + states={ + 'invisible': Eval('type') == 'root', + 'required': Eval('type') != 'root', + }, +- depends=['type']) ++ depends=['company', 'type']) + parent = fields.Many2One('analytic_account.account', 'Parent', select=True, + domain=[('parent', 'child_of', Eval('root'))], + states={ +@@ -312,6 +316,7 @@ + + root_accounts = cls.search([ + ('parent', '=', None), ++ ('company', '=', Transaction().context.get('company', -1)), + ]) + for account in root_accounts: + name = 'analytic_account_' + str(account.id) +@@ -328,7 +333,8 @@ + res[name]['relation'] = cls.__name__ + res[name]['domain'] = PYSONEncoder().encode([ + ('root', '=', account.id), +- ('type', '=', 'normal')]) ++ ('type', '=', 'normal'), ++ ('company', '=', account.company.id)]) + return res + + +diff -r 86eaf56137aa account.xml +--- a/trytond/trytond/modules/analytic_account/account.xml Wed Dec 23 00:19:29 2015 +0100 ++++ b/trytond/trytond/modules/analytic_account/account.xml Wed Jul 27 13:50:42 2016 +0200 +@@ -109,5 +109,14 @@ + form + open_chart_start_form + ++ ++ ++ ++ ++ ++ ++ [('company', '=', user.company.id if user.company else None)] ++ ++ + + +diff -r 86eaf56137aa line.py +--- a/trytond/trytond/modules/analytic_account/line.py Wed Dec 23 00:19:29 2015 +0100 ++++ b/trytond/trytond/modules/analytic_account/line.py Wed Jul 27 13:50:42 2016 +0200 +@@ -25,7 +25,7 @@ + currency_digits = fields.Function(fields.Integer('Currency Digits'), + 'on_change_with_currency_digits') + company = fields.Function(fields.Many2One('company.company', 'Company'), +- 'on_change_with_company') ++ 'on_change_with_company', searcher='search_company') + account = fields.Many2One('analytic_account.account', 'Account', + required=True, select=True, domain=[ + ('type', '!=', 'view'), +@@ -104,6 +104,10 @@ + if self.move_line: + return self.move_line.account.company.id + ++ @classmethod ++ def search_company(cls, name, clause): ++ return [('move_line.account.company',) + tuple(clause[1:])] ++ + @staticmethod + def query_get(table): + ''' +diff -r 86eaf56137aa line.xml +--- a/trytond/trytond/modules/analytic_account/line.xml Wed Dec 23 00:19:29 2015 +0100 ++++ b/trytond/trytond/modules/analytic_account/line.xml Wed Jul 27 13:50:42 2016 +0200 +@@ -67,5 +67,13 @@ + move_line_form + + ++ ++ ++ ++ ++ ++ [('company', '=', user.company.id if user.company else None)] ++ ++ + + diff --git a/series b/series index 5956813..467b293 100644 --- a/series +++ b/series @@ -43,6 +43,8 @@ issue6951002_20001.diff stock_supply_production-performance-improvement.diff stock_supply-provisioning-location.diff +# companyia obligatoria a l'analitica +analytic_account.diff top.diff issue15211002-sale-confirmed-to-done.diff