Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
13661 Vistas

Hi,

I try to extend res.company model in order to allow upload of a PNG image, and integrate it in generated report as header.

Here is my code, but I get an blank header, and can't figure out why.


My views for company configuration :

<record model="ir.ui.view" id="cap_company">

<field name="name">cap_company_form</field>

<field name="model">res.company</field>

<field name="inherit_id" ref="base.view_company_form" />

<field name="arch" type="xml">

<xpath expr="//page[@string='Report Configuration']/group" position="before">

<group string="Configuration Header">

<field name="document_header_png" />

</group>

</xpath>

</field>

</record>


My layout extension :

<template id="report_header_custom" inherit_id="report.external_layout_header">

<xpath expr="//div[@class='header']/div[@class='row']/div[@class='col-xs-3']" position="replace">

<div class="col-xs-3">

<img t-if="company.document_header_png" t-att-src="'data:image/png;base64,%s' % company.document_header_png" style="max-height: 45px;"/>

</div>

</xpath>

</template>


My model :

class company(osv.osv):

_inherit = 'res.company'

_columns = {

'document_header_png': fields.binary("Header PNG",),

}


And I double checkd my __openerp__.py which effectively have :


"depends": ["base", "report",],

"data": ['reports/external_layouts.xml','views/company.xml'


Thank you for your help     

Avatar
Descartar
Mejor respuesta

Have you tried by simply putting the image file in static folder and giving its path. Please check whether it works. If yes, we can correct this. Also I don't think you need alter views for company configuration. Just need to inherit and override the report_layout_header like you did. You want to have the change in all reports? anyway first you just try by simply putting the image in static folder. Also check your "wkhtmltopdf" versions are correct. I have did overriding the report headers with images and worked.

Eg:


<template id="report_header_custom" inherit_id="report.external_layout_header">

<xpath expr="//div[@class='header']/div[@class='row']/div[@class='col-xs-3']" position="replace">

<div class="col-xs-3">

<img src='/your_module/static/img/header.png' style="max-height: 45px;"/>

</div>

</xpath>

</template>

Avatar
Descartar
Autor

Thanks, I finally achieve to do it following your recomendations

Publicaciones relacionadas Respuestas Vistas Actividad
8
jun 16
22829
1
abr 25
612
2
mar 25
735
4
nov 24
6384
1
mar 24
1360