'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):
'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),
<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!"/>
<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">
</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"/>