From To
This commit is contained in:
@@ -1000,28 +1000,51 @@ class Sale(metaclass=PoolMeta):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def _check_lines_delivery_period_values(cls, values):
|
def _check_lines_delivery_period_values(cls, values):
|
||||||
line_commands = values.get('lines') or []
|
line_commands = values.get('lines') or []
|
||||||
|
logger.info(
|
||||||
|
"SALE_PARENT_LINES_PERIOD_CHECK values=%s commands=%s ",
|
||||||
|
values,
|
||||||
|
line_commands,
|
||||||
|
)
|
||||||
if not line_commands:
|
if not line_commands:
|
||||||
return
|
return
|
||||||
Line = Pool().get('sale.line')
|
Line = Pool().get('sale.line')
|
||||||
for command in line_commands:
|
for command in line_commands:
|
||||||
action = command[0]
|
action = command[0]
|
||||||
|
logger.info("SALE_PARENT_LINES_COMMAND action=%s command=%s",
|
||||||
|
action, command)
|
||||||
if action == 'create':
|
if action == 'create':
|
||||||
for line_values in command[1]:
|
for line_values in command[1]:
|
||||||
|
logger.info(
|
||||||
|
"SALE_PARENT_LINES_CREATE_VALUES values=%s",
|
||||||
|
line_values,
|
||||||
|
)
|
||||||
Line._check_delivery_period_values([Line()], line_values)
|
Line._check_delivery_period_values([Line()], line_values)
|
||||||
elif action == 'write':
|
elif action == 'write':
|
||||||
actions = iter(command[1:])
|
actions = iter(command[1:])
|
||||||
for line_ids, line_values in zip(actions, actions):
|
for line_ids, line_values in zip(actions, actions):
|
||||||
|
logger.info(
|
||||||
|
"SALE_PARENT_LINES_WRITE_VALUES ids=%s values=%s",
|
||||||
|
line_ids,
|
||||||
|
line_values,
|
||||||
|
)
|
||||||
lines = Line.browse(line_ids)
|
lines = Line.browse(line_ids)
|
||||||
Line._check_delivery_period_values(lines, line_values)
|
Line._check_delivery_period_values(lines, line_values)
|
||||||
elif action == 'add':
|
elif action == 'add':
|
||||||
|
logger.info("SALE_PARENT_LINES_ADD ids=%s", command[1])
|
||||||
lines = Line.browse(command[1])
|
lines = Line.browse(command[1])
|
||||||
Line._check_delivery_period_values(lines)
|
Line._check_delivery_period_values(lines)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def write(cls, *args):
|
def write(cls, *args):
|
||||||
|
logger.info("SALE_PARENT_WRITE_START args=%s", args)
|
||||||
actions = iter(args)
|
actions = iter(args)
|
||||||
args = []
|
args = []
|
||||||
for sales, values in zip(actions, actions):
|
for sales, values in zip(actions, actions):
|
||||||
|
logger.info(
|
||||||
|
"SALE_PARENT_WRITE_GROUP sales=%s values=%s",
|
||||||
|
[getattr(sale, 'id', None) for sale in sales],
|
||||||
|
values,
|
||||||
|
)
|
||||||
cls._check_lines_delivery_period_values(values)
|
cls._check_lines_delivery_period_values(values)
|
||||||
args.extend((sales, values))
|
args.extend((sales, values))
|
||||||
super().write(*args)
|
super().write(*args)
|
||||||
@@ -1776,6 +1799,12 @@ class SaleLine(metaclass=PoolMeta):
|
|||||||
Pnl = Pool().get('valuation.valuation')
|
Pnl = Pool().get('valuation.valuation')
|
||||||
super(SaleLine, cls).validate(salelines)
|
super(SaleLine, cls).validate(salelines)
|
||||||
for line in salelines:
|
for line in salelines:
|
||||||
|
logger.info(
|
||||||
|
"SALE_LINE_VALIDATE_PERIOD line=%s from=%s to=%s",
|
||||||
|
getattr(line, 'id', None),
|
||||||
|
getattr(line, 'from_del', None),
|
||||||
|
getattr(line, 'to_del', None),
|
||||||
|
)
|
||||||
if cls._has_invalid_delivery_period(line):
|
if cls._has_invalid_delivery_period(line):
|
||||||
raise UserError(
|
raise UserError(
|
||||||
"Delivery period From date must be before To date.")
|
"Delivery period From date must be before To date.")
|
||||||
|
|||||||
Reference in New Issue
Block a user