Add field access on referential document
issue10269 review332861003
This commit is contained in:
@@ -5,6 +5,7 @@ from trytond.model import ModelSQL, fields
|
||||
from trytond.pyson import Eval
|
||||
from trytond.pool import PoolMeta, Pool
|
||||
from trytond.tools.multivalue import migrate_property
|
||||
from trytond.transaction import Transaction
|
||||
from trytond.modules.company.model import (
|
||||
CompanyMultiValueMixin, CompanyValueMixin)
|
||||
|
||||
@@ -31,6 +32,17 @@ class Party(CompanyMultiValueMixin, metaclass=PoolMeta):
|
||||
price_list = config.get_multivalue('sale_price_list', **pattern)
|
||||
return price_list.id if price_list else None
|
||||
|
||||
@classmethod
|
||||
def copy(cls, parties, default=None):
|
||||
context = Transaction().context
|
||||
default = default.copy() if default else {}
|
||||
if context.get('_check_access'):
|
||||
fields = ['sale_price_lists', 'sale_price_list']
|
||||
default_values = cls.default_get(fields, with_rec_name=False)
|
||||
for fname in fields:
|
||||
default.setdefault(fname, default_values.get(fname))
|
||||
return super().copy(parties, default=default)
|
||||
|
||||
|
||||
class PartySalePriceList(ModelSQL, CompanyValueMixin):
|
||||
"Party Sale Price List"
|
||||
|
||||
@@ -10,5 +10,29 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<field name="name">party_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.field.access" id="access_party_sale_price_lists">
|
||||
<field name="field" search="[('model.model', '=', 'party.party'), ('name', '=', 'sale_price_lists')]"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.field.access" id="access_party_sale_price_lists_group_sale">
|
||||
<field name="field" search="[('model.model', '=', 'party.party'), ('name', '=', 'sale_price_lists')]"/>
|
||||
<field name="group" ref="sale.group_sale"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.field.access" id="access_party_sale_price_list">
|
||||
<field name="field" search="[('model.model', '=', 'party.party'), ('name', '=', 'sale_price_list')]"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.field.access" id="access_party_sale_price_list_group_sale">
|
||||
<field name="field" search="[('model.model', '=', 'party.party'), ('name', '=', 'sale_price_list')]"/>
|
||||
<field name="group" ref="sale.group_sale"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</tryton>
|
||||
|
||||
Reference in New Issue
Block a user