changeset 027952e4943e in modules/sale_price_list:default
details:
https://hg.tryton.org/modules/sale_price_list?cmd=changeset&node=027952e4943e
description:
Add field access on referential document
issue10269
review332861003
diffstat:
party.py | 12 ++++++++++++
party.xml | 24 ++++++++++++++++++++++++
2 files changed, 36 insertions(+), 0 deletions(-)
diffs (62 lines):
diff -r bfe9f61c856d -r 027952e4943e party.py
--- a/party.py Mon Sep 13 23:29:57 2021 +0200
+++ b/party.py Mon Oct 11 15:35:46 2021 +0200
@@ -5,6 +5,7 @@
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 @@
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"
diff -r bfe9f61c856d -r 027952e4943e party.xml
--- a/party.xml Mon Sep 13 23:29:57 2021 +0200
+++ b/party.xml Mon Oct 11 15:35:46 2021 +0200
@@ -10,5 +10,29 @@
<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>