details: https://code.tryton.org/tryton/commit/2e84ffa5c760
branch: default
user: Cédric Krier <[email protected]>
date: Fri Oct 30 15:49:54 2026 +0100
description:
Add model or groups to wizards to restrict execution
#15205
diffstat:
modules/account/account.xml | 9 +++++++++
modules/account/fiscalyear.xml | 5 +++++
modules/account/move.py | 12 ++++++++----
modules/account/move.xml | 6 ++++++
modules/account/move_template.xml | 4 ++++
modules/account_asset/asset.xml | 8 ++++++++
modules/account_budget/account.xml | 6 ++++--
modules/account_fr/account.xml | 4 ++++
modules/account_statement/statement.xml | 1 +
modules/account_stock_eu/account_stock_eu.xml | 1 +
modules/analytic_budget/analytic_account.xml | 1 +
modules/stock_package/stock.xml | 8 ++++++++
12 files changed, 59 insertions(+), 6 deletions(-)
diffs (259 lines):
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account/account.xml
--- a/modules/account/account.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account/account.xml Fri Oct 30 15:49:54 2026 +0100
@@ -325,6 +325,10 @@
<field name="name">Create Chart of Accounts from Template</field>
<field name="wiz_name">account.create_chart</field>
</record>
+ <record model="ir.action-res.group"
id="wizard_create_chart_group_account_admin">
+ <field name="action" ref="wizard_create_chart"/>
+ <field name="group" ref="group_account_admin"/>
+ </record>
<menuitem
parent="menu_templates"
action="wizard_create_chart"
@@ -351,6 +355,10 @@
<field name="name">Update Chart of Accounts from Template</field>
<field name="wiz_name">account.update_chart</field>
</record>
+ <record model="ir.action-res.group"
id="wizard_update_chart_group_account_admin">
+ <field name="action" ref="wizard_update_chart"/>
+ <field name="group" ref="group_account_admin"/>
+ </record>
<menuitem
parent="menu_templates"
action="wizard_update_chart"
@@ -692,6 +700,7 @@
<record model="ir.action.wizard"
id="act_general_ledger_account_party_open">
<field name="name">Open General Ledger Account Parties</field>
<field
name="wiz_name">account.general_ledger.account.party.open</field>
+ <field name="model">account.general_ledger.account.party</field>
</record>
<record model="ir.action.keyword"
id="act_general_ledger_account_party_open_keyword1">
<field name="keyword">tree_open</field>
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account/fiscalyear.xml
--- a/modules/account/fiscalyear.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account/fiscalyear.xml Fri Oct 30 15:49:54 2026 +0100
@@ -122,6 +122,7 @@
<record model="ir.action.wizard" id="act_create_periods">
<field name="name">Create Periods</field>
<field name="wiz_name">account.fiscalyear.create_periods</field>
+ <field name="model">account.fiscalyear</field>
</record>
<record model="ir.ui.view"
@@ -138,6 +139,10 @@
<field
name="wiz_name">account.fiscalyear.balance_non_deferral</field>
</record>
+ <record model="ir.action-res.group"
id="act_balance_non_deferral_group_account_admin">
+ <field name="action" ref="act_balance_non_deferral"/>
+ <field name="group" ref="group_account_admin"/>
+ </record>
<menuitem
parent="menu_processing"
action="act_balance_non_deferral"
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account/move.py
--- a/modules/account/move.py Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account/move.py Fri Oct 30 15:49:54 2026 +0100
@@ -2088,13 +2088,15 @@
@classmethod
def check_access(cls, models=None):
+ pool = Pool()
+ User = pool.get('res.user')
transaction = Transaction()
- if transaction.user:
+ if not User.is_administrator():
context = transaction.context
models = set() if models is None else models.copy()
models.update({'account.move.line', 'account.general_ledger.line'})
model = context.get('active_model')
- if model and model not in models:
+ if not model or model not in models:
raise AccessError(gettext(
'ir.msg_access_wizard_model_error',
wizard=cls.__name__,
@@ -2156,13 +2158,15 @@
@classmethod
def check_access(cls, models=None):
+ pool = Pool()
+ User = pool.get('res.user')
transaction = Transaction()
- if transaction.user:
+ if not User.is_administrator():
context = transaction.context
models = set() if models is None else models.copy()
models.update({'account.move.line', 'account.general_ledger.line'})
model = context.get('active_model')
- if model and model not in models:
+ if not model or model not in models:
raise AccessError(gettext(
'ir.msg_access_wizard_model_error',
wizard=cls.__name__,
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account/move.xml
--- a/modules/account/move.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account/move.xml Fri Oct 30 15:49:54 2026 +0100
@@ -352,6 +352,10 @@
<field name="wiz_name">account.reconcile</field>
<field name="window" eval="True"/>
</record>
+ <record model="ir.action-res.group" id="act_reconcile_group_account">
+ <field name="action" ref="act_reconcile"/>
+ <field name="group" ref="group_account"/>
+ </record>
<menuitem
parent="menu_processing"
action="act_reconcile"
@@ -373,6 +377,7 @@
<record model="ir.action.wizard" id="act_cancel_moves">
<field name="name">Cancel Moves</field>
<field name="wiz_name">account.move.cancel</field>
+ <field name="model">account.move</field>
</record>
<record model="ir.action.keyword" id="act_cancel_moves_keyword1">
<field name="keyword">form_action</field>
@@ -447,6 +452,7 @@
<record model="ir.action.wizard" id="act_group_lines_wizard">
<field name="name">Group Lines</field>
<field name="wiz_name">account.move.line.group</field>
+ <field name="model">account.move.line</field>
</record>
<record model="ir.action.keyword" id="act_group_lines_keyword1">
<field name="keyword">form_action</field>
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account/move_template.xml
--- a/modules/account/move_template.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account/move_template.xml Fri Oct 30 15:49:54 2026 +0100
@@ -123,6 +123,10 @@
<field name="name">Create Move from Template</field>
<field name="wiz_name">account.move.template.create</field>
</record>
+ <record model="ir.action-res.group"
id="act_move_template_create_group_account">
+ <field name="action" ref="act_move_template_create"/>
+ <field name="group" ref="group_account"/>
+ </record>
<menuitem
parent="menu_entries"
action="act_move_template_create"
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account_asset/asset.xml
--- a/modules/account_asset/asset.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account_asset/asset.xml Fri Oct 30 15:49:54 2026 +0100
@@ -201,6 +201,10 @@
<field name="name">Create Assets Moves</field>
<field name="wiz_name">account.asset.create_moves</field>
</record>
+ <record model="ir.action-res.group"
id="wizard_create_moves_group_account">
+ <field name="action" ref="wizard_create_moves"/>
+ <field name="group" ref="account.group_account"/>
+ </record>
<menuitem
parent="menu_asset"
sequence="20"
@@ -228,6 +232,10 @@
<field name="name">Print Depreciation Table</field>
<field
name="wiz_name">account.asset.print_depreciation_table</field>
</record>
+ <record model="ir.action-res.group"
id="wizard_print_depreciation_table_group_account">
+ <field name="action" ref="wizard_print_depreciation_table"/>
+ <field name="group" ref="account.group_account"/>
+ </record>
<menuitem
parent="account.menu_reporting"
action="wizard_print_depreciation_table"
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account_budget/account.xml
--- a/modules/account_budget/account.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account_budget/account.xml Fri Oct 30 15:49:54 2026 +0100
@@ -212,8 +212,9 @@
</record>
<record model="ir.action.wizard" id="wizard_budget_copy">
+ <field name="name">Copy Budget</field>
<field name="wiz_name">account.budget.copy</field>
- <field name="name">Copy Budget</field>
+ <field name="model">account.budget</field>
</record>
<record model="ir.ui.view" id="budget_copy_start_view_form">
@@ -223,8 +224,9 @@
</record>
<record model="ir.action.wizard"
id="wizard_budget_line_create_periods">
+ <field name="name">Create Periods</field>
<field name="wiz_name">account.budget.line.create_periods</field>
- <field name="name">Create Periods</field>
+ <field name="model">account.budget.line</field>
</record>
<record model="ir.ui.view" id="budget_create_periods_start_view_form">
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account_fr/account.xml
--- a/modules/account_fr/account.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account_fr/account.xml Fri Oct 30 15:49:54 2026 +0100
@@ -7,6 +7,10 @@
<field name="name">Generate FEC</field>
<field name="wiz_name">account.fr.fec</field>
</record>
+ <record model="ir.action-res.group" id="act_fec_group_admin">
+ <field name="action" ref="act_fec"/>
+ <field name="group" ref="account.group_account"/>
+ </record>
<menuitem
parent="account.menu_reporting"
action="act_fec"
diff -r 22897711abb0 -r 2e84ffa5c760 modules/account_statement/statement.xml
--- a/modules/account_statement/statement.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/account_statement/statement.xml Fri Oct 30 15:49:54 2026 +0100
@@ -386,6 +386,7 @@
<record model="ir.action.wizard" id="act_reconcile">
<field name="name">Reconcile Statements</field>
<field name="wiz_name">account.statement.reconcile</field>
+ <field name="model">account.statement</field>
</record>
<record model="ir.action.act_window" id="act_move_lines_form">
diff -r 22897711abb0 -r 2e84ffa5c760
modules/account_stock_eu/account_stock_eu.xml
--- a/modules/account_stock_eu/account_stock_eu.xml Thu Nov 05 16:02:45
2026 +0100
+++ b/modules/account_stock_eu/account_stock_eu.xml Fri Oct 30 15:49:54
2026 +0100
@@ -178,6 +178,7 @@
<record model="ir.action.wizard"
id="wizard_intrastat_declaration_export">
<field name="name">Export Intrastat Declaration</field>
<field
name="wiz_name">account.stock.eu.intrastat.declaration.export</field>
+ <field name="model">account.stock.eu.intrastat.declaration</field>
</record>
<record model="ir.ui.view"
id="intrastat_declaration_export_result_view_form">
diff -r 22897711abb0 -r 2e84ffa5c760
modules/analytic_budget/analytic_account.xml
--- a/modules/analytic_budget/analytic_account.xml Thu Nov 05 16:02:45
2026 +0100
+++ b/modules/analytic_budget/analytic_account.xml Fri Oct 30 15:49:54
2026 +0100
@@ -169,6 +169,7 @@
<record model="ir.action.wizard" id="wizard_budget_copy">
<field name="wiz_name">analytic_account.budget.copy</field>
<field name="name">Copy Budget</field>
+ <field name="model">analytic_account.budget</field>
</record>
<record model="ir.ui.view" id="budget_copy_start_view_form">
diff -r 22897711abb0 -r 2e84ffa5c760 modules/stock_package/stock.xml
--- a/modules/stock_package/stock.xml Thu Nov 05 16:02:45 2026 +0100
+++ b/modules/stock_package/stock.xml Fri Oct 30 15:49:54 2026 +0100
@@ -182,12 +182,20 @@
<field name="name">Pack Shipment</field>
<field name="wiz_name">stock.shipment.pack</field>
</record>
+ <record model="ir.action-res.group"
id="wizard_shipment_pack_group_stock">
+ <field name="action" ref="wizard_shipment_pack"/>
+ <field name="group" ref="stock.group_stock"/>
+ </record>
<record model="ir.action.wizard" id="wizard_package_pack">
<field name="name">Pack Package</field>
<field name="wiz_name">stock.package.pack</field>
<field name="model">stock.package</field>
</record>
+ <record model="ir.action-res.group"
id="wizard_package_pack_group_stock">
+ <field name="action" ref="wizard_package_pack"/>
+ <field name="group" ref="stock.group_stock"/>
+ </record>
<record model="ir.ui.view" id="package_pack_move_view_form">
<field name="model">stock.package.pack.move</field>