diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py
index 5dcb1693c67..fe473cb90dd 100644
--- a/openerp/addons/base/module/module.py
+++ b/openerp/addons/base/module/module.py
@@ -149,6 +149,18 @@ class module(osv.osv):
'module %s', name, exc_info=True)
return info
+ def _get_desc_from_file(self, cr, uid, ids, field_name=None, arg=None, context=None):
+ res = dict.fromkeys(ids, '')
+ for module in self.browse(cr, uid, ids, context=context):
+ path = addons.get_module_resource(module.name, 'description.html')
+ if path:
+ desc_file = tools.file_open(path, 'rb')
+ try:
+ res[module.id] = desc_file.read()
+ finally:
+ desc_file.close()
+ return res
+
def _get_desc(self, cr, uid, ids, field_name=None, arg=None, context=None):
res = dict.fromkeys(ids, '')
for module in self.browse(cr, uid, ids, context=context):
@@ -247,7 +259,7 @@ class module(osv.osv):
'shortdesc': fields.char('Module Name', size=64, readonly=True, translate=True),
'summary': fields.char('Summary', size=64, readonly=True, translate=True),
'description': fields.text("Description", readonly=True, translate=True),
- 'description_html': fields.function(_get_desc, string='Description HTML', type='html', method=True, readonly=True),
+ 'description_html': fields.function(_get_desc_from_file, string='Description HTML', type='html', method=True, readonly=True),
'author': fields.char("Author", size=128, readonly=True),
'maintainer': fields.char('Maintainer', size=128, readonly=True),
'contributors': fields.text('Contributors', readonly=True),
diff --git a/openerp/addons/base/module/module_view.xml b/openerp/addons/base/module/module_view.xml
index 3923c9de3bd..9c4ca714c6f 100644
--- a/openerp/addons/base/module/module_view.xml
+++ b/openerp/addons/base/module/module_view.xml
@@ -70,13 +70,15 @@
ir.module.module.form
ir.module.module
-
-
+