diff --git a/addons/base_module_quality/__openerp__.py b/addons/base_module_quality/__openerp__.py
index af258685629..02d09e0919d 100644
--- a/addons/base_module_quality/__openerp__.py
+++ b/addons/base_module_quality/__openerp__.py
@@ -42,7 +42,7 @@ using it, otherwise it may crash.
'website': 'http://www.openerp.com',
'depends': ['base'],
'init_xml': [],
- 'update_xml': ['base_module_quality_wizard.xml', 'base_module_quality_view.xml', 'security/ir.model.access.csv'],
+ 'update_xml': ['wizard/module_quality_check_view.xml', 'wizard/quality_save_report_view.xml', 'base_module_quality_view.xml', 'security/ir.model.access.csv'],
'demo_xml': [],
'installable': True,
'active': False,
diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py
index d7ac2f77700..bbe20bc0b4f 100644
--- a/addons/base_module_quality/base_module_quality.py
+++ b/addons/base_module_quality/base_module_quality.py
@@ -296,7 +296,7 @@ class module_quality_detail(osv.osv):
'summary': fields.text('Summary'),
'detail': fields.text('Details'),
'message': fields.char('Message', size=64),
- 'state': fields.selection([('done','Done'),('skipped','Skipped'),], 'State', size=6, help='The test will be completed only if the module is installed or if the test may be processed on uninstalled module.'),
+ 'state': fields.selection([('done','Done'),('skipped','Skipped'),], 'State', size=24, help='The test will be completed only if the module is installed or if the test may be processed on uninstalled module.'),
}
module_quality_detail()
diff --git a/addons/base_module_quality/base_module_quality_view.xml b/addons/base_module_quality/base_module_quality_view.xml
index 6b56eb41a5d..21e84c27c43 100644
--- a/addons/base_module_quality/base_module_quality_view.xml
+++ b/addons/base_module_quality/base_module_quality_view.xml
@@ -44,7 +44,7 @@
-
+
diff --git a/addons/base_module_quality/base_module_quality_wizard.xml b/addons/base_module_quality/base_module_quality_wizard.xml
deleted file mode 100644
index fe5c7ef5aa0..00000000000
--- a/addons/base_module_quality/base_module_quality_wizard.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/addons/base_module_quality/wizard/module_quality_check.py b/addons/base_module_quality/wizard/module_quality_check.py
index 9e836ec9d0e..8b6f1157a29 100644
--- a/addons/base_module_quality/wizard/module_quality_check.py
+++ b/addons/base_module_quality/wizard/module_quality_check.py
@@ -19,28 +19,25 @@
#
##############################################################################
-import os
-
-import wizard
from tools.translate import _
-import pooler
from osv import osv, fields
-class quality_check(wizard.interface):
+class quality_check(osv.osv_memory):
+ _name = "quality.check"
+ _description = "Module Quality Check"
- def _create_quality_check(self, cr, uid, data, context=None):
- pool = pooler.get_pool(cr.dbname)
- obj_quality = pool.get('module.quality.check')
- objs = []
- for id in data['ids']:
- module_data = pool.get('ir.module.module').browse(cr, uid, id)
- data = obj_quality.check_quality(cr, uid, module_data.name, module_data.state)
- obj = obj_quality.create(cr, uid, data, context)
- objs.append(obj)
- return objs
+ def _create_quality_check(self, cr, uid, ids, context=None):
+ obj_quality = self.pool.get('module.quality.check')
+ objs_ids = []
+ module_id = context.get('active_id', False)
+ module_data = self.pool.get('ir.module.module').browse(cr, uid, module_id, context=context)
+ data = obj_quality.check_quality(cr, uid, module_data.name, module_data.state)
+ obj = obj_quality.create(cr, uid, data, context=context)
+ objs_ids.append(obj)
+ return objs_ids
- def _open_quality_check(self, cr, uid, data, context):
- obj_ids = self._create_quality_check(cr, uid, data, context)
+ def open_quality_check(self, cr, uid, ids, context=None):
+ obj_ids = self._create_quality_check(cr, uid, ids, context=context)
return {
'domain': "[('id','in', ["+','.join(map(str,obj_ids))+"])]",
'name': _('Quality Check'),
@@ -49,14 +46,7 @@ class quality_check(wizard.interface):
'res_model': 'module.quality.check',
'type': 'ir.actions.act_window'
}
-
- states = {
- 'init' : {
- 'actions' : [],
- 'result': {'type':'action', 'action':_open_quality_check, 'state':'end'}
- }
- }
-
-quality_check("create_quality_check_wiz")
+
+quality_check()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/base_module_quality/wizard/module_quality_check_view.xml b/addons/base_module_quality/wizard/module_quality_check_view.xml
new file mode 100644
index 00000000000..d5ce83d9612
--- /dev/null
+++ b/addons/base_module_quality/wizard/module_quality_check_view.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ view_base_module_quality_form
+ quality.check
+ form
+
+
+
+
+
+
+
+
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 _
+from osv import osv, fields
-form_rep = '''
-
'''
+class quality_save_report(osv.osv_memory):
+ _name = "save.report"
+ _description = "Save Report of Quality"
-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 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'}
-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')]}
- },
+ _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
diff --git a/addons/base_module_quality/wizard/quality_save_report_view.xml b/addons/base_module_quality/wizard/quality_save_report_view.xml
new file mode 100644
index 00000000000..89593b68742
--- /dev/null
+++ b/addons/base_module_quality/wizard/quality_save_report_view.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ view_quality_save_report
+ save.report
+ form
+
+
+
+
+
+
+ Standard Entries
+ save.report
+ form
+ tree,form
+ new
+
+
+
+
+