Hello,
I added a custom layout to my report but this is what I am getting:
Error:
Odoo Server Error
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 332, in _compiled_fn
return compiled(self, append, new, options, log)
File "", line 1, in template_river_report_alhaddar_layout_standard_1500
AttributeError: 'NoneType' object has no attribute 'id'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 2025, in report_download
response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/home/ubuntu/custom_modules/report_xlsx_helper/controllers/main.py", line 56, in report_routes
reportname, docids, converter, **data
File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/home/ubuntu/custom_modules/report_xlsx/controllers/main.py", line 49, in report_routes
reportname, docids, converter, **data
File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1963, in report_routes
pdf = report.with_context(context).render_qweb_pdf(docids, data=data)[0]
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions_report.py", line 734, in render_qweb_pdf
html = self.with_context(context).render_qweb_html(res_ids, data=data)[0]
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions_report.py", line 774, in render_qweb_html
return self.render_template(self.report_name, data), 'html'
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions_report.py", line 548, in render_template
return view_obj.render_template(template, values)
File "/home/ubuntu/custom_modules/app_odoo_customize/models/ir_ui_view.py", line 18, in render_template
return super(View, self).render_template(template, values=values, engine=engine)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1177, in render_template
return self.browse(self.get_view_id(template)).render(values, engine)
File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_ui_view.py", line 27, in render
return super(IrUiView, self).render(values=values, engine=engine, minimal_qcontext=minimal_qcontext)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1185, in render
return self.env[engine].render(self.id, qcontext)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 58, in render
result = super(IrQWeb, self).render(id_or_xml_id, values=values, **context)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 260, in render
self.compile(template, options)(self, body.append, values or {})
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 334, in _compiled_fn
raise e
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 332, in _compiled_fn
return compiled(self, append, new, options, log)
File "", line 1, in template_river_report_report_hr_statement_1474
File "", line 2, in body_call_content_1472
File "", line 3, in foreach_1471
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 339, in _compiled_fn
raise QWebException("Error to render compiling AST", e, path, node and etree.tostring(node[0], encoding='unicode'), name)
odoo.addons.base.models.qweb.QWebException: 'NoneType' object has no attribute 'id'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 332, in _compiled_fn
return compiled(self, append, new, options, log)
File "", line 1, in template_river_report_alhaddar_layout_standard_1500
AttributeError: 'NoneType' object has no attribute 'id'
Error to render compiling AST
AttributeError: 'NoneType' object has no attribute 'id'
Template: river_report.alhaddar_layout_standard
Path: /t/div[1]
Node:
- :
- Tel:
:
<template id="alhaddar_layout_standard">
<div t-att-style="report_header_style" t-attf-class="header o_company_#{company.id}_layout">
<div class="row">
<div class="col-3 mb4">
<img alt="Logo" style="max-height: 45px;" t-att-src="image_data_uri(company.logo)" t-if="company.logo"/>
</div>
<div class="col-9 text-right" style="margin-top:22px;" name="moto" t-field="company.report_header"/>
</div>
<div class="row zero_min_height" t-if="company.logo or company.report_header">
<div class="col-12">
<div style="border-bottom: 1px solid black;"/>
</div>
</div>
<div class="row">
<div class="col-5 offset-1" name="company_address">
<ul class="list-unstyled">
<strong><li t-if="company.name"><span t-field="company.name"/></li></strong>
<li t-if="company.vat"><t t-esc="company.country_id.vat_label or 'Tax ID'"/>: <span t-field="company.vat"/></li>
<li t-if="company.phone">Tel: <span t-field="company.phone"/></li>
<li t-if="company.email"><span t-field="company.email"/></li>
<li t-if="company.website"><span t-field="company.website"/></li>
</ul>
</div>
<div class="col-6" style="float:right">
<!--<address t-field="doc.partner_id" t-options="{"widget": "contact", "fields": ["address", "name"], "no_marker": True}"/>-->
<span t-field="doc.partner_id.name"/>
<br></br>
<span t-field="doc.partner_id.street"/> <span t-field="doc.partner_id.street2"/>
<p t-if="doc.partner_id.vat"><t t-esc="doc.company_id.country_id.vat_label or 'Tax ID'"/>: <span t-field="doc.partner_id.vat"/></p>
<span t-field="doc.partner_id.email"/><br></br>
<span t-field="doc.partner_id.phone"/>
<span t-field="doc.partner_id.website"/>
</div>
</div>
</div>
<div t-attf-class="article o_report_layout_standard o_company_#{company.id}_layout" t-att-data-oe-lang="o and doc.env.context.get('lang')" t-att-data-oe-id="o and o.id" t-att-data-oe-model="o and o._name">
<t t-call="web.address_layout"/>
<t t-raw="0"/>
</div>
<div t-attf-class="footer o_standard_footer o_company_#{company.id}_layout">
<div class="text-center" style="border-top: 1px solid black;">
<ul class="list-inline mb4">
<!-- using the list-inline-item class from bootstrap causes weird behaviours in pdf reportadding d-inline class fixes the problem-->
<li class="list-inline-item d-inline" t-if="company.phone">
Phone:
<span t-field="company.phone"/>
</li>
<li class="list-inline-item d-inline" t-if="company.email">
Email:
<span t-field="company.email"/>
</li>
<li class="list-inline-item d-inline" t-if="company.website">
Web:
<span t-field="company.website"/>
</li>
<li class="list-inline-item d-inline" t-if="company.vat">
<t t-esc="company.country_id.vat_label or 'Tax ID'"/>:<span t-field="company.vat"/>
</li>
</ul>
<div name="financial_infos">
</div>
<div class="text-muted" t-if="report_type == 'pdf'">
Page:<span class="page"/>
/
<span class="topage"/>
</div>
</div>
</div>
</template>
<template id="alhaddar_layout">
<t t-if="not o" t-value="doc" t-set="o"/>
<t t-if="not company">
<!-- Multicompany -->
<t t-if="company_id">
<t t-value="company_id" t-set="company"/>
</t>
<t t-elif="o and 'company_id' in o">
<t t-value="doc.company_id.sudo()" t-set="company"/>
</t>
<t t-else="else">
<t t-value="res_company" t-set="company"/>
</t>
</t>
<t t-if="company.external_report_layout_id" t-call="{{company.external_report_layout_id.key}}">
<t t-raw="0"/>
</t>
<t t-call="river_report.alhaddar_layout_standard">
<t t-raw="0"/>
</t>
</template>
My Code.