fix: om_account_budget additional 19.0 compatibility fixes

- Fix account.analytic.group → account.analytic.plan (renamed in 19.0)
- Remove states attribute from field definitions (deprecated in 19.0)
- Fix menu references: account_management_menu → account_account_menu,
  menu_finance_entries_management → menu_finance_entries
- Remove group expand from search view (invalid in 19.0)
- Remove res_config_settings xpath for non-existent account_budget div

🤖 assisted by claude
This commit is contained in:
Ernad Husremovic 2026-03-09 18:16:50 +01:00
parent 5e769f4b39
commit 1719960a8b
3 changed files with 11 additions and 21 deletions

View file

@ -42,10 +42,10 @@ class CrossoveredBudget(models.Model):
_description = "Budget"
_inherit = ['mail.thread']
name = fields.Char('Budget Name', required=True, states={'done': [('readonly', True)]})
name = fields.Char('Budget Name', required=True)
user_id = fields.Many2one('res.users', 'Responsible', default=lambda self: self.env.user)
date_from = fields.Date('Start Date', required=True, states={'done': [('readonly', True)]})
date_to = fields.Date('End Date', required=True, states={'done': [('readonly', True)]})
date_from = fields.Date('Start Date', required=True)
date_to = fields.Date('End Date', required=True)
state = fields.Selection([
('draft', 'Draft'),
('cancel', 'Cancelled'),
@ -54,7 +54,7 @@ class CrossoveredBudget(models.Model):
('done', 'Done')
], 'Status', default='draft', index=True, required=True, readonly=True, copy=False, tracking=True)
crossovered_budget_line = fields.One2many('crossovered.budget.lines', 'crossovered_budget_id', 'Budget Lines',
states={'done': [('readonly', True)]}, copy=True)
copy=True)
company_id = fields.Many2one('res.company', 'Company', required=True, default=lambda self: self.env.company)
def action_budget_confirm(self):
@ -80,7 +80,7 @@ class CrossoveredBudgetLines(models.Model):
name = fields.Char(compute='_compute_line_name')
crossovered_budget_id = fields.Many2one('crossovered.budget', 'Budget', ondelete='cascade', index=True, required=True)
analytic_account_id = fields.Many2one('account.analytic.account', 'Analytic Account')
analytic_plan_id = fields.Many2one('account.analytic.group', 'Analytic Plan', related='analytic_account_id.plan_id', readonly=True)
analytic_plan_id = fields.Many2one('account.analytic.plan', 'Analytic Plan', related='analytic_account_id.plan_id', readonly=True)
general_budget_id = fields.Many2one('account.budget.post', 'Budgetary Position')
date_from = fields.Date('Start Date', required=True)
date_to = fields.Date('End Date', required=True)

View file

@ -33,7 +33,7 @@
<menuitem id="menu_budget_post_form"
action="open_budget_post_form"
parent="account.account_management_menu"
parent="account.account_account_menu"
sequence="5"/>
<record id="view_budget_post_form" model="ir.ui.view">
@ -247,7 +247,7 @@
</record>
<menuitem id="menu_act_crossovered_budget_view"
parent="account.menu_finance_entries_management"
parent="account.menu_finance_entries"
name="Budgets"
action="act_crossovered_budget_view"
sequence="60"
@ -262,10 +262,9 @@
<field name="crossovered_budget_id"/>
<filter name="filter_not_cancelled" string="Not Cancelled"
domain="[('crossovered_budget_state','!=','cancel')]"/>
<group expand="0" string="Group By">
<filter name="group_crossevered_budgdet_id" string="Budgets"
domain="[]" context="{'group_by':'crossovered_budget_id'}"/>
</group>
<separator/>
<filter name="group_crossevered_budgdet_id" string="Budgets"
context="{'group_by':'crossovered_budget_id'}"/>
</search>
</field>
</record>

View file

@ -1,13 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.account.budget</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@id='account_budget']" position="replace"/>
</field>
</record>
<!-- account_budget div removed in 19.0, no settings override needed -->
</odoo>