On Saturday, 17 January 2015 18:23:01 UTC-8, Mark Hayden wrote:
>
>
> On 17 Jan 2015 18:05, "NotZippy" <[email protected] <javascript:>> wrote:
> >
> > Hi
> >
> > This topic was touched in a very long thread here 
> https://groups.google.com/forum/#!msg/tryton/MgFedysKKFQ/20jh4pAXgMIJ 
> specifically the message from Cédric Krier 
> >
> > I don't think list price should be moved to variant but more the 
> > possibility to add an extra per variant. And this is very, very easy to 
> > do now because the design was thought for that. 
> >
> > How might this be implemented, so that existing modules respect this ? 
> From what I can see the sales module calls Product.get_sale_price, which 
> pulls the price from product.list_price, how can that be changed or 
> intercepted ?
>
> It seems the most logical place would be to make a module to override 
> Product.get_sale_price.  The sale price can be altered from the 
> product.list_price  for various reasons, and that is probably where it is 
> best done perhaps? It could be done in sales  but you might want a sale 
> prices outside the context of a sale, for example when generating product 
> pages of an online store.
>
>
> Appreciate your response I think the direction I want to go is to modify 
the list_price returned by the product. From what I see I can specify a 
product has this attribute by defining the following 

class Product:
    __name__ = "product.product"
    list_price = fields.Function(fields.Numeric('List Price',
        digits=(16, 4)), 'get_product_list_price')

    @classmethod
    def get_product_list_price(product, pool,trytonid):
        print "Get product {0} second {1} third {2}".format(product, 
pool,trytonid)
        return 666


Now at this point I want to check the product attributes (module) to see if 
an attribute for the list_price is defined for the product, if not then 
return the product templates list price.

This is about the extent of my knowledge, am I going in the right direction 
here ? Is there an example of this elsewhere or is it easy enough for 
someone to write some pseudo code ?

thanks
Nz

Reply via email to