Fix
This commit is contained in:
parent
b93d5cc1f0
commit
dbdde63905
22
sale.py
22
sale.py
|
@ -170,12 +170,14 @@ class Sale(metaclass=PoolMeta):
|
|||
return res
|
||||
|
||||
@classmethod
|
||||
def _set_line(cls, val):
|
||||
def _set_line(cls, val, context):
|
||||
del val['id']
|
||||
Product = Pool().get('product.product')
|
||||
val['type'] = 'line'
|
||||
product = Product(val['product'])
|
||||
unit_price = product.template.list_price
|
||||
with Transaction().set_context(context):
|
||||
unit_price = product.list_price
|
||||
# unit_price = product.template.list_price
|
||||
unit_price = unit_price.quantize(Decimal(str(10.0 ** -4)))
|
||||
val['unit_price'] = unit_price
|
||||
val['base_price'] = unit_price
|
||||
|
@ -207,6 +209,9 @@ class Sale(metaclass=PoolMeta):
|
|||
User = Pool().get('res.user')
|
||||
context = Transaction().context
|
||||
today = date.today()
|
||||
user_id = context.get('user')
|
||||
user = User(user_id)
|
||||
|
||||
action = 'create'
|
||||
if args['id'] > 0:
|
||||
action = 'edit'
|
||||
|
@ -215,27 +220,29 @@ class Sale(metaclass=PoolMeta):
|
|||
if context.get('shop'):
|
||||
shop = Shop(context['shop'])
|
||||
else:
|
||||
user_id = context.get('user')
|
||||
user = User(user_id)
|
||||
shop = user.shop
|
||||
context['price_list'] = shop.price_list
|
||||
for v in args['lines']:
|
||||
cls._set_line(v)
|
||||
cls._set_line(v, context)
|
||||
|
||||
party = shop.party
|
||||
to_create = {
|
||||
'shop': shop.id,
|
||||
'party': party.id,
|
||||
'invoice_type':'P',
|
||||
'table_assigned': args['table_assigned']['id'],
|
||||
'table_assigned': args['table_assigned']['id'] if args.get('table_asigned') else None,
|
||||
'shipment_address': party.addresses[0].id,
|
||||
'invoice_address': party.addresses[0].id,
|
||||
'company': shop.company.id,
|
||||
'sale_date': today,
|
||||
'shipment_date': today,
|
||||
'kind': 'to_table',
|
||||
'price_list': shop.price_list,
|
||||
'payment_term': shop.payment_term.id,
|
||||
'state': 'draft',
|
||||
'salesman': user.employee.id if user.employee else None,
|
||||
'order_status': 'commanded',
|
||||
'sale_device': user.sale_device.id,
|
||||
'lines': [('create', args['lines'])],
|
||||
}
|
||||
if args.get('description'):
|
||||
|
@ -255,7 +262,8 @@ class Sale(metaclass=PoolMeta):
|
|||
for v in args['lines']:
|
||||
line_id = v.get('id')
|
||||
if line_id < 0:
|
||||
to_add.append(cls._set_line(v))
|
||||
context['price_list'] = sale.shop.price_list
|
||||
to_add.append(cls._set_line(v, context))
|
||||
try:
|
||||
if to_add:
|
||||
to_write['lines'] = [('create', to_add)]
|
||||
|
|
Loading…
Reference in New Issue