diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 79bc59759ae..108d17bfd4b 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -218,6 +218,9 @@ class purchase_order(osv.osv): 'pricelist_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').browse(cr, uid, context['partner_id']).property_product_pricelist_purchase.id, '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 = "purchase.order" _description = "Purchase Order" _order = "name desc" diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 29cd5ea593a..2d6fc87a240 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -185,7 +185,7 @@ class sale_order(osv.osv): for line in self.pool.get('sale.order.line').browse(cr, uid, ids, context=context): result[line.order_id.id] = True return result.keys() - + _columns = { 'name': fields.char('Order Reference', size=64, required=True, readonly=True, states={'draft': [('readonly', False)]}, select=True), @@ -274,6 +274,9 @@ class sale_order(osv.osv): 'partner_order_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['contact'])['contact'], '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 !'), + ] _order = 'name desc' # Form filling