diff --git a/__manifest__.py b/__manifest__.py index 9701e17..3c8e015 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -14,6 +14,7 @@ 'views/hr_expense_payment_wizard_views.xml', 'views/hr_expense_kiosk_templates.xml', 'views/res_config_settings_views.xml', + 'views/account_move_views.xml', ], 'assets': { 'hr_expense_account_split.assets_public_kiosk': [ diff --git a/models/account_move.py b/models/account_move.py index d10e78b..97cdd93 100644 --- a/models/account_move.py +++ b/models/account_move.py @@ -1,8 +1,19 @@ -from odoo import models, api +from odoo import models, fields, api class AccountMove(models.Model): _inherit = 'account.move' + is_expense_payment = fields.Boolean( + string="Is Expense Payment", + compute="_compute_is_expense_payment", + store=True, + ) + + @api.depends('payment_id.expense_sheet_id') + def _compute_is_expense_payment(self): + for move in self: + move.is_expense_payment = bool(move.payment_id and move.payment_id.expense_sheet_id) + def _get_hr_expense_base_class(self): """ Returns the hr_expense class in the MRO to jump over it. """ mro = type(self).mro() diff --git a/views/account_move_views.xml b/views/account_move_views.xml new file mode 100644 index 0000000..f7af696 --- /dev/null +++ b/views/account_move_views.xml @@ -0,0 +1,17 @@ + + + + + account.move.form.inherit.expense.payment + account.move + + + + move_type != 'entry' or state != 'posted' or payment_state == 'reversed' or is_expense_payment + + + + + + +