changeset 3555b5d8194c in modules/account:default
details: https://hg.tryton.org/modules/account?cmd=changeset&node=3555b5d8194c
description:
Add field access on referential document
issue10269
review332861003
diffstat:
CHANGELOG | 1 +
account.xml | 8 ++++++++
party.py | 14 ++++++++++++++
party.xml | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 82 insertions(+), 0 deletions(-)
diffs (125 lines):
diff -r 597c8212cb85 -r 3555b5d8194c CHANGELOG
--- a/CHANGELOG Sun Oct 03 13:50:33 2021 +0200
+++ b/CHANGELOG Mon Oct 11 15:35:46 2021 +0200
@@ -1,3 +1,4 @@
+* Add group to edit accounting of parties
* Rename lock buttons into lock_
* Add split lines wizard
* Validate that all inactive accounts have no balance when closing periods
diff -r 597c8212cb85 -r 3555b5d8194c account.xml
--- a/account.xml Sun Oct 03 13:50:33 2021 +0200
+++ b/account.xml Mon Oct 11 15:35:46 2021 +0200
@@ -6,6 +6,10 @@
<record model="res.group" id="group_account">
<field name="name">Account</field>
</record>
+ <record model="res.group" id="group_account_party">
+ <field name="name">Accounting Party</field>
+ <field name="parent" ref="group_account"/>
+ </record>
<record model="res.group" id="group_account_admin">
<field name="name">Account Administration</field>
<field name="parent" ref="group_account"/>
@@ -14,6 +18,10 @@
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_account"/>
</record>
+ <record model="res.user-res.group" id="user_admin_group_account_party">
+ <field name="user" ref="res.user_admin"/>
+ <field name="group" ref="group_account_party"/>
+ </record>
<record model="res.user-res.group" id="user_admin_group_account_admin">
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_account_admin"/>
diff -r 597c8212cb85 -r 3555b5d8194c party.py
--- a/party.py Sun Oct 03 13:50:33 2021 +0200
+++ b/party.py Mon Oct 11 15:35:46 2021 +0200
@@ -270,6 +270,20 @@
'visual', If(Eval('payable_today', 0) < 0, 'warning', '')),
]
+ @classmethod
+ def copy(cls, parties, default=None):
+ context = Transaction().context
+ default = default.copy() if default else {}
+ if context.get('_check_access'):
+ fields = [
+ 'accounts',
+ 'account_payable', 'account_receivable',
+ 'customer_tax_rule', 'supplier_tax_rule']
+ 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 PartyAccount(ModelSQL, CompanyValueMixin):
"Party Account"
diff -r 597c8212cb85 -r 3555b5d8194c party.xml
--- a/party.xml Sun Oct 03 13:50:33 2021 +0200
+++ b/party.xml Mon Oct 11 15:35:46 2021 +0200
@@ -15,5 +15,64 @@
<field name="name">party_form</field>
</record>
+ <record model="ir.model.field.access" id="access_party_accounts">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'accounts')]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ </record>
+ <record model="ir.model.field.access"
id="access_party_accounts_account_party">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'accounts')]"/>
+ <field name="group" ref="group_account_party"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ </record>
+
+ <record model="ir.model.field.access"
id="access_party_account_payable">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'account_payable')]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ </record>
+ <record model="ir.model.field.access"
id="access_party_account_payable_account_party">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'account_payable')]"/>
+ <field name="group" ref="group_account_party"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ </record>
+
+ <record model="ir.model.field.access"
id="access_party_account_receivable">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'account_receivable')]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ </record>
+ <record model="ir.model.field.access"
id="access_party_account_receivable_account_party">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'account_receivable')]"/>
+ <field name="group" ref="group_account_party"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ </record>
+
+ <record model="ir.model.field.access"
id="access_party_customer_tax_rule">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'customer_tax_rule')]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ </record>
+ <record model="ir.model.field.access"
id="access_party_customer_tax_rule_account_party">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'customer_tax_rule')]"/>
+ <field name="group" ref="group_account_party"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ </record>
+
+ <record model="ir.model.field.access"
id="access_party_supplier_tax_rule">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'supplier_tax_rule')]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ </record>
+ <record model="ir.model.field.access"
id="access_party_supplier_tax_rule_account_party">
+ <field name="field" search="[('model.model', '=', 'party.party'),
('name', '=', 'supplier_tax_rule')]"/>
+ <field name="group" ref="group_account_party"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ </record>
</data>
</tryton>