|
@@ -312,7 +312,7 @@ class PosSales(http.Controller):
|
|
|
'''
|
|
|
Create sale order from cart items values
|
|
|
'''
|
|
|
- def create_sale_from_cart(self, partner_id, cart_items, date_confirm, currency_id, pricelist_id, payment_term_id):
|
|
|
+ def create_sale_from_cart(self, partner_id, cart_items, date_confirm, currency_id, pricelist_id, payment_term_id = None,):
|
|
|
return request.env['sale.order'].create({
|
|
|
'partner_id': partner_id,
|
|
|
'order_line': [[0, False, {
|
|
@@ -321,18 +321,23 @@ class PosSales(http.Controller):
|
|
|
'price_unit': float(line.get('price'))
|
|
|
}] for line in cart_items],
|
|
|
'picking_policy': 'direct',
|
|
|
- 'state': 'manual',
|
|
|
'date_confirm': date_confirm,
|
|
|
'currency_id': currency_id,
|
|
|
'pricelist_id': pricelist_id,
|
|
|
- 'payment_term': payment_term_id
|
|
|
+ 'payment_term': payment_term_id,
|
|
|
+ 'state': 'draft',
|
|
|
})
|
|
|
|
|
|
'''
|
|
|
Confirm sale order
|
|
|
'''
|
|
|
def confirm_sale_order(self, sale_order_id):
|
|
|
- return request.env['sale.order'].browse(sale_order_id).action_button_confirm()
|
|
|
+ sale_order = request.env['sale.order'].browse(sale_order_id)
|
|
|
+ sale_order.write({
|
|
|
+ 'state': 'manual'
|
|
|
+ })
|
|
|
+
|
|
|
+ return sale_order.action_button_confirm()
|
|
|
|
|
|
'''
|
|
|
Create invoice from sale order
|
|
@@ -578,10 +583,16 @@ class PosSales(http.Controller):
|
|
|
pricelist = self.get_pricelist(currency_id)
|
|
|
self.make_info_log('[OK] Getting product pricelist')
|
|
|
|
|
|
- # Create sale orde
|
|
|
+ # Create sale order
|
|
|
sale_order = self.create_sale_from_cart(kw.get('customerId'), kw.get('items'), date_now, currency_id, pricelist.id, kw.get('paymentTermId'))
|
|
|
self.make_info_log('[OK] Creating sale order')
|
|
|
|
|
|
+ # Check if budget
|
|
|
+ if kw.get('mode', 'sale') != 'sale':
|
|
|
+ return {
|
|
|
+ 'process': True
|
|
|
+ }
|
|
|
+
|
|
|
# Confirm sale
|
|
|
self.confirm_sale_order(sale_order.id)
|
|
|
self.make_info_log('[OK] Confirm sale order')
|