From 23ca8aaa38713174a3d8380da4b090e8bb942b44 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Wed, 9 May 2012 17:12:21 +0200 Subject: [PATCH] [IMP] point_of_sale: Add the statement line with the right statement" [IMP] point_of_sale: Add a new iface boolean for the printing bzr revid: stw@openerp.com-20120509151221-hbkcpxp5vwck7x50 --- addons/point_of_sale/point_of_sale.py | 38 +++++++++++++-------- addons/point_of_sale/point_of_sale_view.xml | 8 ++--- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 8ebc81cf05c..c59aa86f5c9 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -80,6 +80,7 @@ class pos_config(osv.osv): 'iface_electronic_scale' : fields.boolean('Electronic Scale Interface'), 'iface_barscan' : fields.boolean('BarScan Interface'), 'iface_vkeyboard' : fields.boolean('Virtual KeyBoard Interface'), + 'iface_print_via_proxy' : fields.boolean('Print via Proxy'), 'state' : fields.selection(POS_CONFIG_STATE, 'State', required=True, @@ -664,22 +665,29 @@ class pos_order(osv.osv): raise osv.except_osv(_('Configuration Error !'), msg) context.pop('pos_session_id', False) - domain = [ - ('journal_id', '=', int(data['journal'])), - ('company_id', '=', curr_company), - ('user_id', '=', uid), - ('state', '=', 'open') - ] - statement_id = statement_obj.search(cr,uid, domain, context=context) - if len(statement_id) == 0: + + try: + journal_id = long(data['journal']) + except Exception: + journal_id = False + + statement_id = False + for statement in order.session_id.statement_ids: + if statement.journal_id.id == journal_id: + statement_id = statement.id + break + + if not statement_id: raise osv.except_osv(_('Error !'), _('You have to open at least one cashbox')) - if statement_id: - statement_id = statement_id[0] - args['statement_id'] = statement_id - args['pos_statement_id'] = order_id - args['journal_id'] = int(data['journal']) - args['type'] = 'customer' - args['ref'] = order.name + + args.update({ + 'statement_id' : statement_id, + 'pos_statement_id' : order_id, + 'journal_id' : journal_id, + 'type' : 'customer', + 'ref' : order.name, + }) + statement_line_obj.create(cr, uid, args, context=context) ids_new.append(statement_id) diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index 4d52f817d65..f47e143017e 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -787,6 +787,7 @@ + @@ -898,11 +899,9 @@ - - - + @@ -979,7 +978,8 @@ name="Orders" src_model="pos.session" res_model="pos.order" - domain="[('session_id', '=', active_id)]" /> + domain="[('session_id', '=', active_id)]" + context="{'search_default_session_id' : [active_id], 'default_session_id' : active_id }" /> pos.order.list.select