summaryrefslogtreecommitdiff
path: root/addons/base_module_quality/wizard/quality_save_report.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/base_module_quality/wizard/quality_save_report.py')
-rw-r--r--addons/base_module_quality/wizard/quality_save_report.py55
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