[fix] problem in o2m
[odoo/odoo.git] / addons / auction / report / artists_lots.py
1 # -*- coding: utf-8 -*-
2 ##############################################################################
3 #    
4 #    OpenERP, Open Source Management Solution
5 #    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
6 #
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.
11 #
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.
16 #
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/>.     
19 #
20 ##############################################################################
21
22 from report.interface import report_int
23 import netsvc
24 import openerp.pooler
25
26 class report_artistlot(report_int):
27     def __init__(self, name):
28         report_int.__init__(self, name)
29
30     def create(self, cr, uid, ids, datas, context):
31         pool = pooler.get_pool(cr.dbname)
32         lots = pool.get('auction.lots').read(cr, uid, ids, ['artist_id'])
33         artists = []
34         for lot in lots:
35             if lot['artist_id'] and lot['artist_id'] not in artists:
36                 artists.append(lot['artist_id'][0])
37
38         if not len(artists):
39             raise 'UserError', 'Objects '
40
41         datas['ids'] = artists
42
43         self._obj_report = netsvc.LocalService('report.report.auction.artists')
44         return self._obj_report.create(cr, uid, artists, datas, context)
45
46     def result(self):
47         return self._obj_report.result()
48
49 report_artistlot('report.auction.artists_lots')
50 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
51