From 63e3886bc34a325fb1ee1b2eff334ed56a5ac485 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Wed, 9 Nov 2011 10:51:03 +0530 Subject: [PATCH] [FIX] sale : Constraint Error-Order Reference must be unique per company lp bug: https://launchpad.net/bugs/800100 fixed bzr revid: mdi@tinyerp.com-20111109052103-0skkpxbztxqasr05 --- addons/purchase/purchase.py | 2 +- addons/sale/sale.py | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 4c48d971d47..62f3b37dbcc 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -228,7 +228,7 @@ class purchase_order(osv.osv): 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'purchase.order', context=c), } _sql_constraints = [ - ('name_uniq', 'unique(name)', 'Order Reference must be unique !'), + ('name_uniq', 'unique(name,company_id)', 'Order Reference must be unique per Company!'), ] _name = "purchase.order" _description = "Purchase Order" diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 294a1c29c00..96fdd0617d3 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -110,7 +110,7 @@ class sale_order(osv.osv): for item in cr.dictfetchall(): if item['move_state'] == 'cancel': continue - + if item['picking_type'] == 'in':#this is a returned picking tmp[item['sale_order_id']]['total'] -= item['nbr'] or 0.0 # Deducting the return picking qty if item['procurement_state'] == 'done' or item['move_state'] == 'done': @@ -125,7 +125,7 @@ class sale_order(osv.osv): res[order.id] = 100.0 else: res[order.id] = tmp[order.id]['total'] and (100.0 * tmp[order.id]['picked'] / tmp[order.id]['total']) or 0.0 - return res + return res def _invoiced_rate(self, cursor, user, ids, name, arg, context=None): res = {} @@ -280,7 +280,7 @@ class sale_order(osv.osv): 'partner_shipping_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['delivery'])['delivery'], } _sql_constraints = [ - ('name_uniq', 'unique(name)', 'Order Reference must be unique !'), + ('name_uniq', 'unique(name,company_id)', 'Order Reference must be unique per Company!'), ] _order = 'name desc' @@ -898,7 +898,7 @@ class sale_order_line(osv.osv): return result[1] except Exception, ex: return False - + _name = 'sale.order.line' _description = 'Sales Order Line' _columns = { @@ -1266,7 +1266,7 @@ sale_order_line() class sale_config_picking_policy(osv.osv_memory): _name = 'sale.config.picking_policy' _inherit = 'res.config' - + _columns = { 'name': fields.char('Name', size=64), 'sale_orders': fields.boolean('Based on Sales Orders',), @@ -1307,7 +1307,7 @@ class sale_config_picking_policy(osv.osv_memory): if wizard.sale_orders: menu_id = data_obj.get_object(cr, uid, 'sale', 'menu_invoicing_sales_order_lines').id - menu_obj.write(cr, uid, menu_id, {'groups_id':[(4,group_id)]}) + menu_obj.write(cr, uid, menu_id, {'groups_id':[(4,group_id)]}) if wizard.deli_orders: menu_id = data_obj.get_object(cr, uid, 'sale', 'menu_action_picking_list_to_invoice').id @@ -1344,7 +1344,7 @@ class sale_config_picking_policy(osv.osv_memory): product_obj = self.pool.get('product.product') product_obj.write(cr, uid, prod_id, {'uom_id':wizard.time_unit.id, 'uom_po_id': wizard.time_unit.id}) - ir_values_obj.set(cr, uid, 'default', False, 'order_policy', ['sale.order'], wizard.order_policy) + ir_values_obj.set(cr, uid, 'default', False, 'order_policy', ['sale.order'], wizard.order_policy) if wizard.task_work and wizard.time_unit: company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id self.pool.get('res.company').write(cr, uid, [company_id], {