parent
29b414891d
commit
93c83f8d48
|
@ -6,6 +6,7 @@ from . import activity
|
||||||
from . import bank
|
from . import bank
|
||||||
from . import employee
|
from . import employee
|
||||||
from . import carrier
|
from . import carrier
|
||||||
|
from . import galatea
|
||||||
from . import party
|
from . import party
|
||||||
from . import user
|
from . import user
|
||||||
|
|
||||||
|
@ -32,3 +33,7 @@ def register():
|
||||||
carrier.Carrier,
|
carrier.Carrier,
|
||||||
depends=['carrier'],
|
depends=['carrier'],
|
||||||
module='party_company', type_='model')
|
module='party_company', type_='model')
|
||||||
|
Pool.register(
|
||||||
|
galatea.GalateaUser,
|
||||||
|
depends=['galatea'],
|
||||||
|
module='party_company', type_='model')
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
# The COPYRIGHT file at the top level of this repository contains the full
|
||||||
|
# copyright notices and license terms.
|
||||||
|
from trytond.pool import Pool, PoolMeta
|
||||||
|
from trytond.transaction import Transaction
|
||||||
|
from trytond.model import fields
|
||||||
|
from trytond.pyson import Eval
|
||||||
|
|
||||||
|
__all__ = ['GalateaUser']
|
||||||
|
|
||||||
|
|
||||||
|
class GalateaUser(metaclass=PoolMeta):
|
||||||
|
__name__ = 'galatea.user'
|
||||||
|
companies = fields.Function(fields.One2Many(
|
||||||
|
'company.company', None, 'Companies'), 'on_change_with_companies')
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def __setup__(cls):
|
||||||
|
super(GalateaUser, cls).__setup__()
|
||||||
|
cls.websites.domain += [('company', 'in', Eval('companies'))]
|
||||||
|
cls.websites.depends += ['companies']
|
||||||
|
|
||||||
|
@fields.depends('party')
|
||||||
|
def on_change_with_companies(self, name=None):
|
||||||
|
User = Pool().get('res.user')
|
||||||
|
|
||||||
|
if self.party and self.party.companies:
|
||||||
|
return [c.id for c in self.party.companies]
|
||||||
|
else:
|
||||||
|
user = User(Transaction().user)
|
||||||
|
return [c.id for c in user.companies]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def default_websites():
|
||||||
|
# overwrite default_websites from galatea module because add websites
|
||||||
|
# by company
|
||||||
|
pool = Pool()
|
||||||
|
Website = pool.get('galatea.website')
|
||||||
|
User = pool.get('res.user')
|
||||||
|
|
||||||
|
user = User(Transaction().user)
|
||||||
|
return [p.id for p in Website.search([
|
||||||
|
('registration', '=', True),
|
||||||
|
('company', '=', user.company)
|
||||||
|
])]
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?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="galatea">
|
||||||
|
<!-- rule -->
|
||||||
|
<record model="ir.rule.group" id="rule_group_galatea_user">
|
||||||
|
<field name="name">User in company</field>
|
||||||
|
<field name="model" search="[('model', '=', 'galatea.user')]"/>
|
||||||
|
<field name="global_p" eval="True"/>
|
||||||
|
</record>
|
||||||
|
<record model="ir.rule" id="rule_galatea_user">
|
||||||
|
<field name="domain"
|
||||||
|
eval="[('websites.company', '=', Eval('user', {}).get('company', None))]"
|
||||||
|
pyson="1"/>
|
||||||
|
<field name="rule_group" ref="rule_group_galatea_user"/>
|
||||||
|
</record>
|
||||||
|
</data>
|
||||||
|
</tryton>
|
|
@ -10,6 +10,7 @@ extras_depend:
|
||||||
bank
|
bank
|
||||||
carrier
|
carrier
|
||||||
commission
|
commission
|
||||||
|
galatea
|
||||||
sale_shop
|
sale_shop
|
||||||
stock
|
stock
|
||||||
xml:
|
xml:
|
||||||
|
@ -18,6 +19,7 @@ xml:
|
||||||
carrier.xml
|
carrier.xml
|
||||||
commission.xml
|
commission.xml
|
||||||
employee.xml
|
employee.xml
|
||||||
|
galatea.xml
|
||||||
party.xml
|
party.xml
|
||||||
shop.xml
|
shop.xml
|
||||||
messages.xml
|
messages.xml
|
||||||
|
|
Loading…
Reference in New Issue