add app sale_notification
This commit is contained in:
parent
01fa1ee946
commit
615635ebca
|
@ -15,5 +15,6 @@ def register():
|
||||||
sale.AppSaleCallCenter,
|
sale.AppSaleCallCenter,
|
||||||
sale.AppSelfServiceSale,
|
sale.AppSelfServiceSale,
|
||||||
sale.AppSaleTurn,
|
sale.AppSaleTurn,
|
||||||
|
sale.AppOrderNotification,
|
||||||
dash.DashApp,
|
dash.DashApp,
|
||||||
module='dash_sale', type_='model')
|
module='dash_sale', type_='model')
|
||||||
|
|
2
dash.py
2
dash.py
|
@ -17,6 +17,7 @@ class DashApp(metaclass=PoolMeta):
|
||||||
'dash.app.self_service_sale',
|
'dash.app.self_service_sale',
|
||||||
'dash.app.sale_call_center',
|
'dash.app.sale_call_center',
|
||||||
'dash.app.sale_turn',
|
'dash.app.sale_turn',
|
||||||
|
'dash.app.order_notification',
|
||||||
])
|
])
|
||||||
return origins
|
return origins
|
||||||
|
|
||||||
|
@ -31,5 +32,6 @@ class DashApp(metaclass=PoolMeta):
|
||||||
('self_service_sale', 'Self-Service Sale'),
|
('self_service_sale', 'Self-Service Sale'),
|
||||||
('sale_call_center', 'Sale Call Center'),
|
('sale_call_center', 'Sale Call Center'),
|
||||||
('sale_turn', 'Sale Turn'),
|
('sale_turn', 'Sale Turn'),
|
||||||
|
('order_notification', 'Order Notification'),
|
||||||
])
|
])
|
||||||
return options
|
return options
|
||||||
|
|
39
sale.py
39
sale.py
|
@ -350,19 +350,20 @@ class Sale(metaclass=PoolMeta):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def dash_create_order_call(cls, args, ctx=None):
|
def dash_create_order_call(cls, args):
|
||||||
Shop = Pool().get('sale.shop')
|
Shop = Pool().get('sale.shop')
|
||||||
Product = Pool().get('product.product')
|
Product = Pool().get('product.product')
|
||||||
Party = Pool().get('party.party')
|
Party = Pool().get('party.party')
|
||||||
User = Pool().get('res.user')
|
User = Pool().get('res.user')
|
||||||
ctx = Transaction().context
|
ctx = Transaction().context
|
||||||
if ctx.get('shop'):
|
# if ctx.get('shop'):
|
||||||
shop = Shop(ctx['shop'])
|
# shop = Shop(ctx['shop'])
|
||||||
else:
|
# else:
|
||||||
user_id = ctx.get('user')
|
# user_id = ctx.get('user')
|
||||||
user = User(user_id)
|
# shop = user.shop
|
||||||
shop = user.shop
|
|
||||||
|
|
||||||
|
user = User(ctx.get('user'))
|
||||||
|
shop = Shop(args['shop']['id'])
|
||||||
for v in args['lines']:
|
for v in args['lines']:
|
||||||
if v.get('id'):
|
if v.get('id'):
|
||||||
del v['id']
|
del v['id']
|
||||||
|
@ -373,7 +374,7 @@ 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'
|
||||||
product = Product(v['product'])
|
product = Product(v['product']['id'])
|
||||||
|
|
||||||
if v.get('discount') and v['discount'] != '':
|
if v.get('discount') and v['discount'] != '':
|
||||||
v['discount'] = Decimal(v['discount'])/100
|
v['discount'] = Decimal(v['discount'])/100
|
||||||
|
@ -383,12 +384,13 @@ class Sale(metaclass=PoolMeta):
|
||||||
v['unit_price'] = Decimal(str(v['unit_price']))
|
v['unit_price'] = Decimal(str(v['unit_price']))
|
||||||
v['unit'] = product.template.default_uom.id
|
v['unit'] = product.template.default_uom.id
|
||||||
v['description'] = product.name
|
v['description'] = product.name
|
||||||
|
v['product'] = v['product']['id']
|
||||||
taxes = list(product.account_category.customer_taxes_used)
|
taxes = list(product.account_category.customer_taxes_used)
|
||||||
taxes_ids = [t.id for t in taxes]
|
taxes_ids = [t.id for t in taxes]
|
||||||
v['taxes'] = [('add', taxes_ids)]
|
v['taxes'] = [('add', taxes_ids)]
|
||||||
|
|
||||||
price_list = args.get('price_list', None)
|
price_list = args.get('price_list', None)
|
||||||
party = Party(args['party'])
|
party = Party(args['party']['id'])
|
||||||
if args.get('shipment_address'):
|
if args.get('shipment_address'):
|
||||||
shipment_address_id = args.get('shipment_address')
|
shipment_address_id = args.get('shipment_address')
|
||||||
else:
|
else:
|
||||||
|
@ -404,11 +406,13 @@ class Sale(metaclass=PoolMeta):
|
||||||
|
|
||||||
description = args.get('description', '')
|
description = args.get('description', '')
|
||||||
comment = args.get('comment', '')
|
comment = args.get('comment', '')
|
||||||
|
delivery = args.get('delivery', '')
|
||||||
today = date.today()
|
today = date.today()
|
||||||
to_create = {
|
to_create = {
|
||||||
'consumer': args['consumer'],
|
'consumer': args['consumer']['id'],
|
||||||
'source': args['source'],
|
'source': args['source']['id'],
|
||||||
'kind': args['kind'],
|
'kind': args['kind'],
|
||||||
|
'delivery': delivery,
|
||||||
'shop': shop.id,
|
'shop': shop.id,
|
||||||
'salesman': user.employee,
|
'salesman': user.employee,
|
||||||
'invoice_type': 'P',
|
'invoice_type': 'P',
|
||||||
|
@ -421,17 +425,15 @@ class Sale(metaclass=PoolMeta):
|
||||||
'agent': agent_id,
|
'agent': agent_id,
|
||||||
'price_list': price_list,
|
'price_list': price_list,
|
||||||
'payment_term': shop.payment_term.id,
|
'payment_term': shop.payment_term.id,
|
||||||
'state': 'requested',
|
'state': 'draft',
|
||||||
|
'order_status': 'requested',
|
||||||
'description': description,
|
'description': description,
|
||||||
'comment': comment,
|
'comment': comment,
|
||||||
'lines': [('create', args['lines'])],
|
'lines': [('create', args['lines'])],
|
||||||
}
|
}
|
||||||
if args.get('consumer'):
|
if args.get('consumer'):
|
||||||
to_create['consumer'] = args['consumer']
|
to_create['consumer'] = args['consumer']['id']
|
||||||
sale, = cls.create([to_create])
|
sale, = cls.create([to_create])
|
||||||
for line in sale.lines:
|
|
||||||
if line.discount and line.discount > 0:
|
|
||||||
line.on_change_discount()
|
|
||||||
record = args.copy()
|
record = args.copy()
|
||||||
record.update({
|
record.update({
|
||||||
'id': sale.id,
|
'id': sale.id,
|
||||||
|
@ -883,3 +885,8 @@ class AppSaleCallCenter(DashAppBase):
|
||||||
class AppSaleTurn(DashAppBase):
|
class AppSaleTurn(DashAppBase):
|
||||||
'App Sale Turn'
|
'App Sale Turn'
|
||||||
__name__ = 'dash.app.sale_turn'
|
__name__ = 'dash.app.sale_turn'
|
||||||
|
|
||||||
|
|
||||||
|
class AppOrderNotification(DashAppBase):
|
||||||
|
'App Order Notification'
|
||||||
|
__name__ = 'dash.app.order_notification'
|
||||||
|
|
Loading…
Reference in New Issue