Add company and rule in bank

This commit is contained in:
Raimon Esteve 2017-05-26 12:54:36 +02:00
parent 8085f32c05
commit 05efc6e161
8 changed files with 74 additions and 5 deletions

View File

@ -3,12 +3,15 @@
# the full copyright notices and license terms.
from trytond.pool import Pool
from . import activity
from . import bank
from . import carrier
from . import party
def register():
Pool.register(
activity.Activity,
bank.Bank,
bank.BankAccount,
carrier.Carrier,
party.Party,
party.Address,

View File

@ -13,7 +13,7 @@ class Activity:
'get_company', searcher='search_company_field')
def get_company(self, name):
if self.party:
if self.party and self.party.company:
return self.party.company.id
@classmethod

View File

@ -15,4 +15,4 @@ this repository contains the full copyright notices and license terms. -->
<field name="rule_group" ref="rule_group_activity_activity"/>
</record>
</data>
</tryton>
</tryton>

36
bank.py Normal file
View File

@ -0,0 +1,36 @@
# The COPYRIGHT file at the top level of this repository contains the full
# copyright notices and license terms.
from trytond.model import fields
from trytond.pool import PoolMeta
__all__ = ['Bank', 'BankAccount']
class Bank:
__name__ = "bank"
__metaclass__ = PoolMeta
company = fields.Function(fields.Many2One('company.company', 'Company'),
'get_company', searcher='search_company_field')
def get_company(self, name):
if self.party and self.party.company:
return self.party.company.id
@classmethod
def search_company_field(cls, name, clause):
return [('party.company',) + tuple(clause[1:])]
class BankAccount:
__name__ = 'bank.account'
__metaclass__ = PoolMeta
company = fields.Function(fields.Many2One('company.company', 'Company'),
'get_company', searcher='search_company_field')
def get_company(self, name):
if self.bank and self.bank.party.company:
return self.bank.party.company.id
@classmethod
def search_company_field(cls, name, clause):
return [('bank.party.company',) + tuple(clause[1:])]

29
bank.xml Normal file
View File

@ -0,0 +1,29 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data depends="bank">
<!-- bank -->
<record model="ir.rule.group" id="rule_group_bank">
<field name="model" search="[('model', '=', 'bank')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_bank1">
<field name="domain"
eval="['OR', ('company', 'in', Eval('user', {}).get('companies', [])), ('company', '=', None)]"
pyson="1"/>
<field name="rule_group" ref="rule_group_bank"/>
</record>
<record model="ir.rule.group" id="rule_group_bank_account">
<field name="model" search="[('model', '=', 'bank.account')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_bank_account1">
<field name="domain"
eval="['OR', ('company', 'in', Eval('user', {}).get('companies', [])), ('company', '=', None)]"
pyson="1"/>
<field name="rule_group" ref="rule_group_bank_account"/>
</record>
</data>
</tryton>

View File

@ -13,7 +13,7 @@ class Carrier:
'get_company', searcher='search_company_field')
def get_company(self, name):
if self.party:
if self.party and self.party.company:
return self.party.company.id
@classmethod

View File

@ -15,4 +15,4 @@ this repository contains the full copyright notices and license terms. -->
<field name="rule_group" ref="rule_group_carrier"/>
</record>
</data>
</tryton>
</tryton>

View File

@ -4,7 +4,8 @@ depends:
ir
company
extras_depend:
activity
activit
bank
carrier
xml:
activity.xml