diff --git a/account_journal_security/models/__init__.py b/account_journal_security/models/__init__.py index 6582912e4..bbf92367a 100644 --- a/account_journal_security/models/__init__.py +++ b/account_journal_security/models/__init__.py @@ -5,3 +5,4 @@ from . import res_users from . import account_move from . import account_journal +from . import account_payment diff --git a/account_journal_security/models/account_payment.py b/account_journal_security/models/account_payment.py new file mode 100644 index 000000000..4f9d1cdb9 --- /dev/null +++ b/account_journal_security/models/account_payment.py @@ -0,0 +1,16 @@ +from odoo import models, api + + +class AccountPayment(models.Model): + _inherit = 'account.payment' + + @api.depends('payment_type') + def _compute_available_journal_ids(self): + super()._compute_available_journal_ids() + available_journals = self.available_journal_ids + journals_admited_for_user = self.env.user.modification_journal_ids.ids + + for pay in self: + available_journals -= available_journals.filtered( + lambda x: x.modification_user_ids and x.id not in journals_admited_for_user) + pay.available_journal_ids = available_journals