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>

Reply via email to