[FIX] base_module_quality: add import statment for _ and give size to name field...
[odoo/odoo.git] / addons / base_module_quality / wizard / quality_save_report.py
1 # -*- encoding: utf-8 -*-
2 ##############################################################################
3 #
4 #    OpenERP, Open Source Management Solution
5 #    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
6 #    $Id$
7 #
8 #    This program is free software: you can redistribute it and/or modify
9 #    it under the terms of the GNU General Public License as published by
10 #    the Free Software Foundation, either version 3 of the License, or
11 #    (at your option) any later version.
12 #
13 #    This program is distributed in the hope that it will be useful,
14 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 #    GNU General Public License for more details.
17 #
18 #    You should have received a copy of the GNU General Public License
19 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 #
21 ##############################################################################
22
23 import base64
24 import cStringIO
25
26 import wizard
27 from osv import osv
28 import pooler
29 from tools.translate import _
30
31 form_rep = '''<?xml version="1.0"?>
32 <form string="Standard entries">
33     <field name="name"/>
34     <newline/>
35     <field name="module_file"/>
36 </form>'''
37
38
39 fields_rep = {
40   'name': {'string': 'File name', 'type': 'char', 'required': True, 'help': 'Save report as .html format', 'size':64},
41   'module_file': {'string': 'Save report', 'type': 'binary', 'required': True},
42 }
43
44 def get_detail(self, cr, uid, datas, context={}):
45     data = pooler.get_pool(cr.dbname).get('module.quality.detail').browse(cr, uid, datas['id'])
46     if not data.detail:
47         raise wizard.except_wizard(_('Warning'), _('No report to save!'))
48     buf = cStringIO.StringIO(data.detail)
49     out = base64.encodestring(buf.getvalue())
50     buf.close()
51     return {'module_file': out, 'name': data.name + '.html'}
52
53 class save_report(wizard.interface):
54     states = {
55         'init': {
56             'actions': [get_detail],
57             'result': {'type': 'form', 'arch': form_rep, 'fields':fields_rep, 'state': [('end','Cancel')]}
58         },
59     }
60 save_report('quality_detail_save')
61
62 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: