~florian-dacosta/ocb-addons/7.0_purchase_line_partner_fix

Viewing all changes in revision 9471.

  • Committer: trp-bzr-bot
  • Author(s): Olivier Dony
  • Date: 2013-09-06 16:14:22 UTC
  • mfrom: (8671.1.747 7.0)
  • Revision ID: odo@openerp.com-20130906161422-atsfop0khnfp8sqy
[MERGE] product: support string values for context `pricelist` key when computing prices
      
      As of v7 search views will replace the value of any `self`
      literal in a @context attribute by the name of the
      record, whereas it used to be its ID.
      This means that the `Pricelist` filter used to display
      the product list with a specific pricelist would not
      work anymore.
      
      The fix requires a rather hackish name_search()
      override for product.pricelist because the display
      name of pricelists includes their currency, while
      that could be a valid name for a pricelist too.
      
      To avoid side-effects the name_search() override
      only picks up the special case used by the
      product.product._product_price() method when it
      tries to apply the context pricelist, that is
      with operator explicitly set to `=` and no extra
      domain `args`.

      Also avoid useless warning in log by disabling the actual
      filtering for the dummy pricelist_id field, whose
      only purpose is to alter the context.

      Finally, add a default _order for pricelists that is
      a bit more intuitive than the default sort by `id`.
      An explicit _order was required for the application of
      the `limit` in pure SQL, and using `name` seems slightly
      better than `id`.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: