Hey there,
I have a functioning custom module with a bunch of different reports, depending on a specific condition. All reports are identical, except for the name, id, string, file. Each report has it's own template. Here is one example report:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<report
id="report_licence_certificate_ecovin"
model="res.partner"
report_type="qweb-pdf"
string="Licence Certificate Ecovin"
name="vlabel.report_licence_certificate_ecovin"
file="vlabel.report_licence_certificate_ecovin"
paperformat="vlabel.paperformat_licence_certificate"
/>
<template id="report_licence_certificate_ecovin">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="web.external_layout">
<div class="page remove-margins">
<div class="certificate-header"></div>
<img src='/vlabel/static/src/img/index.png' class="vegan-img" />
<div class="body body-margins text-center">
<t t-if="o">
<div>
<h1 class="vlabel-g-text">LICENCE CERTIFICATE</h1>
<p>The following Products by</p>
<h2><span t-field="o.name"/></h2>
<p>are offically licenced according to V-Label</p>
</div>
<div>
<table class="table table-bordered" style="font-size:11px !important;">
<thead class="font-weight-bold">
<td>Name</td>
<td>GTIN</td>
<td>Article Nr</td>
<td>Recipe Nr</td>
<td>Licence Nr</td>
<td>Category</td>
<td>Customer</td>
<td>Valid until</td>
</thead>
<t t-foreach="o.products" t-as="field">
<t t-if="(field.state == 'layout_done' or
field.state == 'certificate_send')">
<t t-if="(field.retailer_new.name == 'Ecovin')">
<tr>
<td><span t-field="field.name"/></td>
<td><span t-field="field.gtin"/></td>
<td><span t-field="field.article_number"/></td>
<td><span t-field="field.recipe_number"/></td>
<td><span t-field="field.licence_number"/></td>
<td><span t-field="field.veg_category"/></td>
<t t-if="field.retailer_new">
<td><span t-field="field.retailer_new"/></td>
</t>
<t t-else="">
<td><span t-field="field.related_company"/></td>
</t>
<td><span t-field="field.licence_valid_until"/></td>
</tr>
</t>
</t>
</t>
</table>
</div>
</t>
</div>
<div class="footer remove-margins d-flex justify-content-between certificate-footer">
<div>
<ul class="list-unstyled p-3" style="margin-right:250px;margin-left:100px;">
<li>ProVeg e. V.</li>
<li>Sebastian Joy, Vorsitzender</li>
<li>Thomas Schönberger, Stellv. Vorsitzender</li>
</ul>
</div>
<div>
<ul class="list-unstyled p-3 link">
<li>Fon +49 30303030</li>
<li>Fax</li>
<li>www.v-label.eu/de</li>
</ul>
</div>
</div>
</div>
</t>
</t>
</t>
</template>
</odoo>
When installing my module, I call all the reports in my manifest file:
'data': [
# 'security/account_security.xml',
'security/ir.model.access.csv',
'wizards/offer_rejected_views.xml',
'wizards/product_unlisted_views.xml',
'wizards/create_certificate_views.xml',
'reports/licence_certificate_paperformat.xml',
'reports/new_header.xml',
'data/send_reminder.xml',
'data/licence_number_sequence.xml',
'data/production_site_sequence.xml',
'data/audit_sequence.xml',
'data/mail_checking_questions.xml',
'views/vlabel.xml',
'views/dashboard.xml',
'views/company.xml',
'views/product.xml',
'views/audit.xml',
'views/production_site.xml',
'views/ingredient.xml',
# 'views/invoice.xml',
'views/retailer.xml',
'views/supplier.xml',
'reports/licence_certificate_from_products.xml',
'reports/licence_offer.xml',
'reports/licence_certificate.xml',
'data/mail_send_offer.xml',
'data/mail_licencing_finalized.xml',
'reports/licence_certificate_budni.xml',
'reports/licence_certificate_kaufland.xml',
'reports/licence_certificate_norma.xml',
'reports/licence_certificate_lidl.xml',
'reports/licence_certificate_penny.xml',
'reports/licence_certificate_netto_md.xml',
'reports/licence_certificate_edeka.xml',
'reports/licence_certificate_rewe.xml',
'reports/licence_certificate_dm_bio.xml',
# 'reports/licence_certificate_ecovin.xml',
# 'reports/licence_certificate_aldi_nord.xml',
# 'reports/licence_certificate_aldi_sued.xml',
],
Now, for some reason, I can not for the life of me install the last three reports. I get different errors, for example:
2020-12-22 16:49:56,267 11858 INFO 000011111000 odoo.addons.base.models.ir_ui_view: Element '<field name="groups_id">' cannot be located in parent view
Error context:
View `res.users.groups`
[view_id: 160, xml_id: base.user_groups_view, model: res.users, parent_id: 156]
2020-12-22 16:49:56,270 11858 WARNING 000011111000 odoo.modules.loading: Transient module states were reset
2020-12-22 16:49:56,281 11858 ERROR 000011111000 odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
File "/opt/odoo/odoo13/odoo/addons/base/models/ir_ui_view.py", line 664, in apply_inheritance_specs
pre_locate=pre_locate)
File "/opt/odoo/odoo13/odoo/tools/template_inheritance.py", line 230, in apply_inheritance_specs
_("Element '%s' cannot be located in parent view") % tag
ValueError: Element '<field name="groups_id">' cannot be located in parent view
or this one:
or this one
2020-12-22 16:55:45,515 12728 INFO 00220022 odoo.addons.base.models.ir_ui_view: Element '<t t-name="vlabel.report_licence_certificate">' cannot be located in parent view
Error context:
View `res.company.form`
[view_id: 109, xml_id: base.view_company_form, model: res.company, parent_id: n/a]
2020-12-22 16:55:45,524 12728 WARNING 00220022 odoo.modules.loading: Transient module states were reset
2020-12-22 16:55:45,526 12728 ERROR 00220022 odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
File "/opt/odoo/odoo13/odoo/addons/base/models/ir_ui_view.py", line 664, in apply_inheritance_specs
pre_locate=pre_locate)
File "/opt/odoo/odoo13/odoo/tools/template_inheritance.py", line 230, in apply_inheritance_specs
_("Element '%s' cannot be located in parent view") % tag
ValueError: Element '<t t-name="vlabel.report_licence_certificate">' cannot be located in parent view
I am really lost, all reports are as I said identical except for the if clause in the template id and the before mentioned fields. Any help is appreciated, maybe I can call the templates differently all together?