From d286f601cb4c6c36c14f28acbc0b683e5acec448 Mon Sep 17 00:00:00 2001 From: "hda@tinyerp.com" <> Date: Thu, 25 Sep 2008 16:57:34 +0530 Subject: [PATCH] Added pricelists on product form bzr revid: hda@tinyerp.com-20080925112734-3cu3io9c1de22em0 --- addons/sale/__init__.py | 1 + addons/sale/__terp__.py | 1 + addons/sale/product.py | 84 ++++++++++++++++++++++++++++++++++++ addons/sale/product_view.xml | 33 ++++++++++++++ 4 files changed, 119 insertions(+) create mode 100644 addons/sale/product.py create mode 100644 addons/sale/product_view.xml diff --git a/addons/sale/__init__.py b/addons/sale/__init__.py index b3718c6b3d0..7b962130480 100644 --- a/addons/sale/__init__.py +++ b/addons/sale/__init__.py @@ -35,6 +35,7 @@ import sale import stock import partner +import product import wizard import report diff --git a/addons/sale/__terp__.py b/addons/sale/__terp__.py index d5bc58a98ae..f540f33ea4b 100644 --- a/addons/sale/__terp__.py +++ b/addons/sale/__terp__.py @@ -62,6 +62,7 @@ "sale_report.xml", "sale_wizard.xml", "stock_view.xml", + "product_view.xml", ], "active": False, "installable": True diff --git a/addons/sale/product.py b/addons/sale/product.py new file mode 100644 index 00000000000..5054aabeabf --- /dev/null +++ b/addons/sale/product.py @@ -0,0 +1,84 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# +# $Id$ +# +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +from osv import fields, osv +from tools import config + +class product_pricelist(osv.osv): + _inherit = "product.pricelist" + def _compute_price(self, cr, uid, ids, field_name, arg, context): + res = {} + for id in ids: + res[id]=0.0 + return res + _columns = { + 'price': fields.function(_compute_price, type='float', method=True, string='Price', digits=(16, int(config['price_accuracy']))), + } +product_pricelist() + +class product_product(osv.osv): + _name = 'product.product' + _inherit = 'product.product' + + def _pricelist_sale_ids(self, cr, uid, ids, name, arg, context=None): + result = {} + if not context: + context={} + pricelist_obj=self.pool.get('product.pricelist') + for product in self.browse(cr, uid, ids, context): + pricelist_ids=pricelist_obj.search(cr,uid,[('type','=','sale')], context=context) + result[product.id]=pricelist_ids + return result + + def _pricelist_purchase_ids(self, cr, uid, ids, name, arg, context=None): + result = {} + pricelist_obj=self.pool.get('product.pricelist') + for product in self.browse(cr, uid, ids, context): + pricelist_ids=pricelist_obj.search(cr,uid,[('type','=','purchase')]) + result[product.id]=pricelist_ids + return result + + _columns = { + 'pricelist_sale':fields.function( + _pricelist_sale_ids, + method=True, + relation='product.pricelist', + string='Sale Pricelists', + type="many2many"), + 'pricelist_purchase':fields.function( + _pricelist_purchase_ids, + method=True, + relation='product.pricelist', + string='Purchase Pricelists', + type="many2many"), + } + +product_product() diff --git a/addons/sale/product_view.xml b/addons/sale/product_view.xml new file mode 100644 index 00000000000..8282544c35e --- /dev/null +++ b/addons/sale/product_view.xml @@ -0,0 +1,33 @@ + + + + + + view.product.pricelists.function.form.inherit + product.product + form + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file