[IMP] load description from 'description.html' file in module directory

bzr revid: fva@openerp.com-20130325173625-ntb9z3bgcr85ozpl
This commit is contained in:
Frédéric van der Essen 2013-03-25 18:36:25 +01:00
parent 4083df915f
commit 18b74e942b
2 changed files with 33 additions and 17 deletions

View File

@ -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),

View File

@ -70,13 +70,15 @@
<field name="name">ir.module.module.form</field>
<field name="model">ir.module.module</field>
<field name="arch" type="xml">
<form create="0" edit="0" string="Module" version="7.0">
<form create="0" edit="0" string="Module" version="7.0" class='oe_styling_v8'>
<sheet>
<field name="icon_image" widget="image" class="oe_avatar oe_left"/>
<div class="oe_title">
<h1><field name="shortdesc"/></h1>
<h2 class="oe_fade"><field name="summary"/></h2>
<button name="button_immediate_install" states="uninstalled" string="Install" type="object" class="oe_highlight"/>
</div>
<div class='oe_right oe_button_box'>
<button name="button_immediate_install" states="uninstalled" string="Install" type="object" class="oe_highlight oe_big_purple"/>
<button name="button_immediate_upgrade" states="installed" string="Upgrade" type="object" class="oe_highlight"/>
<button name="button_immediate_uninstall" states="installed" string="Uninstall" type="object"
confirm="Do you confirm the uninstallation of this module? This will permanently erase all data currently stored by the module!"/>
@ -84,21 +86,23 @@
<button name="button_upgrade_cancel" states="to upgrade" string="Cancel Upgrade" type="object"/>
<button name="button_install_cancel" states="to install" string="Cancel Install" type="object"/>
</div>
<group>
<group>
<field name="author"/>
<field name="website" widget="url" attrs="{'invisible':[('website','=',False)]}"/>
<field name="category_id" widget="selection"/>
</group>
<group>
<field name="name"/>
<field name="license"/>
<field name="installed_version"/>
</group>
</group>
<notebook>
<page string="Description">
<field name="description_html"/>
<field name="description_html" class='oe_app_description oe_styling_v8'/>
</page>
<page string="Info">
<group>
<group>
<field name="author"/>
<field name="website" widget="url" attrs="{'invisible':[('website','=',False)]}"/>
<field name="category_id" widget="selection"/>
</group>
<group>
<field name="name"/>
<field name="license"/>
<field name="installed_version"/>
</group>
</group>
</page>
<page string="Technical Data" groups="base.group_no_one">
<group col="4">
@ -116,7 +120,7 @@
</tree>
</field>
</page>
<page string="Features" attrs="{'invisible':[('state','!=','installed')]}">
<page string="Installed Features" attrs="{'invisible':[('state','!=','installed')]}">
<label for="menus_by_module" string="Created Menus"/>
<field name="menus_by_module"/>
<label for="reports_by_module" string="Defined Reports"/>