summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2012-02-13 12:28:23 +0100
committerThibault Delavallée <tde@openerp.com>2012-02-13 12:28:23 +0100
commit413e09e5fe0fcc45ebe6ec69ce3cacd21b7a2a9c (patch)
tree52a8fde8d311f8e474002d5fc3ace3c10276f9be
parent169534b38cb74f09ddfca84b10cf05b303f41294 (diff)
[FIX] Fixed wrong account_id not using property_account_receivable by default when using web-based POS front-end
bzr revid: tde@openerp.com-20120213112823-6mdf83hqiawoca27
-rw-r--r--addons/point_of_sale/point_of_sale.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index 0f188e584f0..19ce4b67026 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -55,9 +55,18 @@ class pos_order(osv.osv):
#_logger.info("orders: %r", orders)
list = []
for order in orders:
- list.append(self.create(cr, uid, order, context))
+ # set account_id using property_account_receivable if defined
+ property_obj = self.pool.get('ir.property')
+ account_def = property_obj.get(cr, uid, 'property_account_receivable', 'res.partner', context=context)
+ account_id = (account_def and account_def.id) or False
+ for statement_val in order['statement_ids']:
+ statement_val[2]['account_id'] = account_id or statement_val[2]['account_id']
+ # create pos order
+ order_id = self.create(cr, uid, order, context)
+ list.append(order_id)
+ # mark as paid
wf_service = netsvc.LocalService("workflow")
- wf_service.trg_validate(uid, 'pos.order', list[-1], 'paid', cr)
+ wf_service.trg_validate(uid, 'pos.order', order_id, 'paid', cr)
return list
def unlink(self, cr, uid, ids, context=None):