1 # -*- coding: utf-8 -*-
2 ##############################################################################
4 # OpenERP, Open Source Management Solution
5 # Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU Affero General Public License as
9 # published by the Free Software Foundation, either version 3 of the
10 # License, or (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU Affero General Public License for more details.
17 # You should have received a copy of the GNU Affero General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 ##############################################################################
22 from osv import osv, fields
24 class pos_discount(osv.osv_memory):
25 _name = 'pos.discount'
26 _description = 'Add a Global Discount'
28 'discount': fields.float('Discount (%)', required=True, digits=(16,2)),
34 # def view_init(self, cr, uid, fields_list, context=None):
36 # Creates view dynamically and adding fields at runtime.
37 # @param self: The object pointer.
38 # @param cr: A database cursor
39 # @param uid: ID of the user currently logged in
40 # @param context: A standard dictionary
41 # @return: New arch of view with new columns.
45 # super(pos_discount, self).view_init(cr, uid, fields_list, context=context)
46 # record_id = context and context.get('active_id', False) or False
49 def apply_discount(self, cr, uid, ids, context=None):
51 To give the discount of product and check the.
53 @param self: The object pointer.
54 @param cr: A database cursor
55 @param uid: ID of the user currently logged in
56 @param context: A standard dictionary
59 order_ref = self.pool.get('pos.order')
60 order_line_ref = self.pool.get('pos.order.line')
63 this = self.browse(cr, uid, ids[0], context=context)
64 record_id = context and context.get('active_id', False)
65 if isinstance(record_id, (int, long)):
66 record_id = [record_id]
67 for order in order_ref.browse(cr, uid, record_id, context=context):
68 order_line_ref.write(cr, uid, [x.id for x in order.lines], {'discount':this.discount}, context=context)
73 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: