changeset de4d807e71db in modules/stock:5.0 details: https://hg.tryton.org/modules/stock?cmd=changeset&node=de4d807e71db description: Do not check access when checking for period closed
issue11861 review431871003 (grafted from 4c66434fc3c739c80840165bfb4cfc48c5932e7b) diffstat: move.py | 31 ++++++++++++++++--------------- 1 files changed, 16 insertions(+), 15 deletions(-) diffs (41 lines): diff -r d5f16d683630 -r de4d807e71db move.py --- a/move.py Fri Apr 15 23:19:17 2022 +0200 +++ b/move.py Sat Nov 05 10:08:31 2022 +0100 @@ -469,21 +469,22 @@ @classmethod def check_period_closed(cls, moves): Period = Pool().get('stock.period') - for company, moves in groupby(moves, lambda m: m.company): - periods = Period.search([ - ('state', '=', 'closed'), - ('company', '=', company.id), - ], order=[('date', 'DESC')], limit=1) - if periods: - period, = periods - for move in moves: - date = (move.effective_date if move.effective_date - else move.planned_date) - if date and date <= period.date: - cls.raise_user_error('period_closed', { - 'move': move.rec_name, - 'period': period.rec_name, - }) + with Transaction().set_context(_check_access=False): + for company, moves in groupby(moves, lambda m: m.company): + periods = Period.search([ + ('state', '=', 'closed'), + ('company', '=', company.id), + ], order=[('date', 'DESC')], limit=1) + if periods: + period, = periods + for move in moves: + date = (move.effective_date if move.effective_date + else move.planned_date) + if date and date <= period.date: + cls.raise_user_error('period_closed', { + 'move': move.rec_name, + 'period': period.rec_name, + }) def get_rec_name(self, name): return ("%s%s %s"