bugfix
[odoo/odoo.git] / addons / auction / report / seller_address.py
1 # -*- encoding: utf-8 -*-
2 ##############################################################################
3 #
4 # Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved.
5 #                    Fabien Pinckaers <fp@tiny.Be>
6 #
7 # WARNING: This program as such is intended to be used by professional
8 # programmers who take the whole responsability of assessing all potential
9 # consequences resulting from its eventual inadequacies and bugs
10 # End users who are looking for a ready-to-use solution with commercial
11 # garantees and support are strongly adviced to contract a Free Software
12 # Service Company
13 #
14 # This program is Free Software; you can redistribute it and/or
15 # modify it under the terms of the GNU General Public License
16 # as published by the Free Software Foundation; either version 2
17 # of the License, or (at your option) any later version.
18 #
19 # This program is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22 # GNU General Public License for more details.
23 #
24 # You should have received a copy of the GNU General Public License
25 # along with this program; if not, write to the Free Software
26 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
27 #
28 ##############################################################################
29
30 from report.interface import report_int
31 import netsvc
32
33 class auction_seller(report_int):
34     def __init__(self, name):
35         report_int.__init__(self, name)
36
37     def create(self,cr, uid, ids, datas, context):
38         service = netsvc.LocalService("object_proxy")
39         lots = service.execute(cr.dbname,uid, 'auction.lots', 'read', ids, ['bord_vnd_id'])
40
41         bords = {}
42         for l in lots:
43             if l['bord_vnd_id']:
44                 bords[l['bord_vnd_id'][0]]=True
45         new_ids = bords.keys()
46
47         parts = {}
48         partners = service.execute(cr.dbname,uid, 'auction.deposit', 'read', new_ids, ['partner_id'])
49         for l in partners:
50             if l['partner_id']:
51                 parts[l['partner_id'][0]]=True
52         new_ids = parts.keys()
53         if not len(new_ids):
54             raise 'UserError', 'No seller !'
55
56         datas['ids'] = new_ids
57
58         self._obj_invoice = netsvc.LocalService('report.res.partner.address')
59         return self._obj_invoice.create(cr,uid, new_ids, datas, context)
60
61     def result(self):
62         return self._obj_invoice.result()
63
64 auction_seller('report.auction.seller_labels')
65 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
66