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"