minor fix
This commit is contained in:
parent
cad6f5f3ce
commit
92f1f5b76d
27
sale.py
27
sale.py
|
@ -31,12 +31,15 @@ class Sale(metaclass=PoolMeta):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def send_order(cls, args, ctx=None):
|
def send_order(cls, args, ctx=None):
|
||||||
|
Product = Pool().get('product.product')
|
||||||
Product = Pool().get('product.product')
|
Product = Pool().get('product.product')
|
||||||
print(' ARGS => ', args)
|
print(' ARGS => ', args)
|
||||||
if args['id'] <= 0:
|
if args['id'] <= 0:
|
||||||
res = cls.create_sale(args, ctx)
|
res = cls.create_sale(args, ctx)
|
||||||
return res
|
return res
|
||||||
else:
|
else:
|
||||||
|
Line = Pool().get('sale.line')
|
||||||
|
field_status_order = 'status_order' in Line._fields
|
||||||
records = cls.browse([args['id']])
|
records = cls.browse([args['id']])
|
||||||
lines_action = args.get('lines')
|
lines_action = args.get('lines')
|
||||||
for action, lines in lines_action:
|
for action, lines in lines_action:
|
||||||
|
@ -44,7 +47,7 @@ class Sale(metaclass=PoolMeta):
|
||||||
if action == 'create' and len(lines) > 0:
|
if action == 'create' and len(lines) > 0:
|
||||||
for line in lines:
|
for line in lines:
|
||||||
product = Product(line['product'])
|
product = Product(line['product'])
|
||||||
cls._add_values(product.template, line)
|
cls._add_values(product.template, line, field_status_order)
|
||||||
cls.write(records, args)
|
cls.write(records, args)
|
||||||
res = {
|
res = {
|
||||||
'record': {'id': args['id']},
|
'record': {'id': args['id']},
|
||||||
|
@ -54,8 +57,9 @@ class Sale(metaclass=PoolMeta):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _add_values(cls, template, line):
|
def _add_values(cls, template, line, field_status_order):
|
||||||
line['status_order'] = 'requested'
|
if field_status_order:
|
||||||
|
line['status_order'] = 'requested'
|
||||||
line['unit'] = template.default_uom.id
|
line['unit'] = template.default_uom.id
|
||||||
line['description'] = template.name
|
line['description'] = template.name
|
||||||
taxes = list(template.account_category.customer_taxes_used)
|
taxes = list(template.account_category.customer_taxes_used)
|
||||||
|
@ -64,10 +68,12 @@ class Sale(metaclass=PoolMeta):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create_sale(cls, args, ctx=None):
|
def create_sale(cls, args, ctx=None):
|
||||||
Shop = Pool().get('sale.shop')
|
pool = Pool()
|
||||||
Product = Pool().get('product.product')
|
Shop = pool.get('sale.shop')
|
||||||
Party = Pool().get('party.party')
|
Product = pool.get('product.product')
|
||||||
User = Pool().get('res.user')
|
Party = pool.get('party.party')
|
||||||
|
User = pool.get('res.user')
|
||||||
|
Line = pool.get('sale.line')
|
||||||
ctx = Transaction().context
|
ctx = Transaction().context
|
||||||
if ctx.get('shop'):
|
if ctx.get('shop'):
|
||||||
shop = Shop(ctx['shop'])
|
shop = Shop(ctx['shop'])
|
||||||
|
@ -78,6 +84,8 @@ class Sale(metaclass=PoolMeta):
|
||||||
user = User(user_id)
|
user = User(user_id)
|
||||||
shop = user.shop
|
shop = user.shop
|
||||||
|
|
||||||
|
field_status_order = 'status_order' in Line._fields
|
||||||
|
|
||||||
lines = args['lines']
|
lines = args['lines']
|
||||||
nested_values = None
|
nested_values = None
|
||||||
for line in lines:
|
for line in lines:
|
||||||
|
@ -95,7 +103,6 @@ class Sale(metaclass=PoolMeta):
|
||||||
if v.get('total_amount'):
|
if v.get('total_amount'):
|
||||||
del v['total_amount']
|
del v['total_amount']
|
||||||
v['type'] = 'line'
|
v['type'] = 'line'
|
||||||
v['status_order'] = 'requested'
|
|
||||||
v['unit_price'] = round(Decimal(v['unit_price']), 4)
|
v['unit_price'] = round(Decimal(v['unit_price']), 4)
|
||||||
product = Product(v['product'])
|
product = Product(v['product'])
|
||||||
|
|
||||||
|
@ -105,7 +112,7 @@ class Sale(metaclass=PoolMeta):
|
||||||
del v['discount']
|
del v['discount']
|
||||||
|
|
||||||
template = product.template
|
template = product.template
|
||||||
cls._add_values(template, v)
|
cls._add_values(template, v, field_status_order)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
price_list = args['price_list']['id']
|
price_list = args['price_list']['id']
|
||||||
|
@ -175,7 +182,7 @@ class Sale(metaclass=PoolMeta):
|
||||||
if hasattr(sale, 'order_status'):
|
if hasattr(sale, 'order_status'):
|
||||||
cls.write([sale], {'order_status': 'requested'})
|
cls.write([sale], {'order_status': 'requested'})
|
||||||
|
|
||||||
# cls.write([sale], {'state': 'quotation'})
|
cls.write([sale], {'state': 'quotation'})
|
||||||
cls.set_number([sale])
|
cls.set_number([sale])
|
||||||
sale.save()
|
sale.save()
|
||||||
record = args.copy()
|
record = args.copy()
|
||||||
|
|
Loading…
Reference in New Issue