From 6be21ac5d30e29da6044a0c3f66d49562f31cbc6 Mon Sep 17 00:00:00 2001 From: "sgo@tinyerp.com" <> Date: Thu, 31 Jan 2013 11:56:13 +0530 Subject: [PATCH] [IMP]add onchange of warehouse to change company related to warehouse and improve some code bzr revid: sgo@tinyerp.com-20130131062613-tmlgvdrculc2udu1 --- addons/point_of_sale/point_of_sale.py | 4 ++-- addons/point_of_sale/report/pos_order_report.py | 2 +- addons/sale_stock/sale_stock.py | 10 +++++++++- addons/sale_stock/sale_stock_view.xml | 6 ++++++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 4bfef6ce707..d95b64d5c84 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -51,7 +51,7 @@ class pos_config(osv.osv): 'journal_ids' : fields.many2many('account.journal', 'pos_config_journal_rel', 'pos_config_id', 'journal_id', 'Available Payment Methods', domain="[('journal_user', '=', True )]",), - 'warehouse_id' : fields.many2one('stock.warehouse', 'Location', + 'warehouse_id' : fields.many2one('stock.warehouse', 'Warehouse', required=True), 'journal_id' : fields.many2one('account.journal', 'Sale Journal', domain=[('type', '=', 'sale')], @@ -575,7 +575,7 @@ class pos_order(osv.osv): _columns = { 'name': fields.char('Order Ref', size=64, required=True, readonly=True), 'company_id':fields.many2one('res.company', 'Company', required=True, readonly=True), - 'warehouse_id': fields.related('session_id', 'config_id', 'warehouse_id', relation='stock.warehouse', type='many2one', string='Location', store=True, readonly=True), + 'warehouse_id': fields.related('session_id', 'config_id', 'warehouse_id', relation='stock.warehouse', type='many2one', string='Warehouse', store=True, readonly=True), 'date_order': fields.datetime('Order Date', readonly=True, select=True), 'user_id': fields.many2one('res.users', 'Salesman', help="Person who uses the the cash register. It can be a reliever, a student or an interim employee."), 'amount_tax': fields.function(_amount_all, string='Taxes', digits_compute=dp.get_precision('Point Of Sale'), multi='all'), diff --git a/addons/point_of_sale/report/pos_order_report.py b/addons/point_of_sale/report/pos_order_report.py index 41bb1a4e754..243107d4657 100644 --- a/addons/point_of_sale/report/pos_order_report.py +++ b/addons/point_of_sale/report/pos_order_report.py @@ -41,7 +41,7 @@ class pos_order_report(osv.osv): 'price_total':fields.float('Total Price', readonly=True), 'total_discount':fields.float('Total Discount', readonly=True), 'average_price': fields.float('Average Price', readonly=True,group_operator="avg"), - 'warehouse_id':fields.many2one('stock.warehouse', 'Location', readonly=True), + 'warehouse_id':fields.many2one('stock.warehouse', 'Warehouse', readonly=True), 'company_id':fields.many2one('res.company', 'Company', readonly=True), 'nbr':fields.integer('# of Lines', readonly=True), 'product_qty':fields.integer('# of Qty', readonly=True), diff --git a/addons/sale_stock/sale_stock.py b/addons/sale_stock/sale_stock.py index c2a52b8de7e..682c0e435df 100644 --- a/addons/sale_stock/sale_stock.py +++ b/addons/sale_stock/sale_stock.py @@ -139,7 +139,7 @@ class sale_order(osv.osv): 'picking_ids': fields.one2many('stock.picking.out', 'sale_id', 'Related Picking', readonly=True, help="This is a list of delivery orders that has been generated for this sales order."), 'shipped': fields.boolean('Delivered', readonly=True, help="It indicates that the sales order has been delivered. This field is updated only after the scheduler(s) have been launched."), 'picked_rate': fields.function(_picked_rate, string='Picked', type='float'), - 'warehouse_id': fields.many2one('stock.warehouse', 'Location'), + 'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse'), 'invoice_quantity': fields.selection([('order', 'Ordered Quantities'), ('procurement', 'Shipped Quantities')], 'Invoice on', help="The sales order will automatically create the invoice proposition (draft invoice).\ You have to choose if you want your invoice based on ordered ", required=True, readonly=True, states={'draft': [('readonly', False)]}), @@ -162,6 +162,14 @@ class sale_order(osv.osv): raise osv.except_osv(_('Invalid Action!'), _('In order to delete a confirmed sales order, you must cancel it.\nTo do so, you must first cancel related picking for delivery orders.')) return osv.osv.unlink(self, cr, uid, unlink_ids, context=context) + + def onchange_warehouse_id(self, cr, uid, ids, warehouse_id, context=None): + val = {} + if warehouse_id: + warehouse = self.pool.get('stock.warehouse').browse(cr, uid, warehouse_id, context=context) + if warehouse.company_id.id: + val['company_id'] = warehouse.company_id.id + return {'value': val} def action_view_delivery(self, cr, uid, ids, context=None): ''' diff --git a/addons/sale_stock/sale_stock_view.xml b/addons/sale_stock/sale_stock_view.xml index 349af88ceb1..4edde821729 100644 --- a/addons/sale_stock/sale_stock_view.xml +++ b/addons/sale_stock/sale_stock_view.xml @@ -23,6 +23,12 @@ + + + + + +