Question

While we make quotations to customers, don't allow users to quote below the sales price of products. How can we achieve this? Please help me. Am using v7.. Thanks in advance

Was it helpful?

Solution

Call the function for the field price_unit in the view xml

<xpath expr="//field[@name='price_unit']" position="attributes">
   <attribute name="on_change">check_margin(product_id,price_unit)</attribute>
</xpath>

and in the class, define the function to process it.

def check_margin(self, cr, uid, ids, product_id, unit_price, context=None):
  res = {}
  warning = {}
  sale_price = None
  if product_id:
     sale_price = self.pool.get('product.product').browse(cr, uid,product_id).list_price
  if unit_price is None:
     pass
  elif unit_price < sale_price:
     warning = {  
       'title': _("Warning"),  
       'message': _('Unit price given, is less than the sales price of the selected product. Please change (or contact your sales manager to change) the sales price of the selected product.'),  
               }
     res = {'value': {'price_unit':sale_price}}
  elif unit_price >= sale_price:
     res = {'value': {'price_unit':unit_price}}
     pass
  return {'value': res.get('value'), 'warning':warning}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top