diff options
Diffstat (limited to 'addons/base_module_quality/wizard/quality_save_report.py')
| -rw-r--r-- | addons/base_module_quality/wizard/quality_save_report.py | 55 |
1 files changed, 23 insertions, 32 deletions
diff --git a/addons/base_module_quality/wizard/quality_save_report.py b/addons/base_module_quality/wizard/quality_save_report.py index 7d03338e623..e4286e92237 100644 --- a/addons/base_module_quality/wizard/quality_save_report.py +++ b/addons/base_module_quality/wizard/quality_save_report.py @@ -22,40 +22,31 @@ import base64 import cStringIO -import wizard from osv import osv -import pooler from tools.translate import _ - -form_rep = '''<?xml version="1.0"?> -<form string="Standard entries"> - <field name="name"/> - <newline/> - <field name="module_file"/> -</form>''' - - -fields_rep = { - 'name': {'string': 'File name', 'type': 'char', 'required': True, 'help': 'Save report as .html format', 'size':64}, - 'module_file': {'string': 'Save report', 'type': 'binary', 'required': True}, -} - -def get_detail(self, cr, uid, datas, context=None): - data = pooler.get_pool(cr.dbname).get('module.quality.detail').browse(cr, uid, datas['id']) - if not data.detail: - raise wizard.except_wizard(_('Warning'), _('No report to save!')) - buf = cStringIO.StringIO(data.detail) - out = base64.encodestring(buf.getvalue()) - buf.close() - return {'module_file': out, 'name': data.name + '.html'} - -class save_report(wizard.interface): - states = { - 'init': { - 'actions': [get_detail], - 'result': {'type': 'form', 'arch': form_rep, 'fields':fields_rep, 'state': [('end','Cancel')]} - }, +from osv import osv, fields + +class quality_save_report(osv.osv_memory): + + _name = "save.report" + _description = "Save Report of Quality" + + def default_get(self, cr, uid, fields, context=None): + res = super(quality_save_report, self).default_get(cr, uid, fields, context=context) + active_ids = context.get('active_ids') + data = self.pool.get('module.quality.detail').browse(cr, uid, active_ids, context=context)[0] + if not data.detail: + raise osv.except_osv(_('Warning'), _('No report to save!')) + buf = cStringIO.StringIO(data.detail) + out = base64.encodestring(buf.getvalue()) + buf.close() + return {'module_file': out, 'name': data.name + '.html'} + + _columns = { + 'name': fields.char('File Name', required=True, size=32, help="Save report as .html format"), + 'module_file': fields.binary('Save report', required=True), } -save_report('quality_detail_save') + +quality_save_report() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file |
