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>

Reply via email to