582 lines
26 KiB
XML
582 lines
26 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- Assets for reports -->
|
|
|
|
<template id="report_assets_common">
|
|
<t t-call="web._assets_helpers">
|
|
<!-- FIXME web_editor ? -->
|
|
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bootstrap_overridden_report.scss"/>
|
|
<link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/bootstrap_overridden.scss"/>
|
|
</t>
|
|
|
|
<t t-call="web._assets_bootstrap"/>
|
|
|
|
<link href="/base/static/src/css/description.css" rel="stylesheet" type="text/css"/>
|
|
|
|
<!-- FIXME web_editor ? -->
|
|
<link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/web_editor.common.scss"/>
|
|
|
|
<link href="/web/static/lib/fontawesome/css/font-awesome.css" rel="stylesheet" type="text/css"/>
|
|
|
|
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/fonts.scss"/>
|
|
|
|
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/report.scss"/>
|
|
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/layout_standard.scss"/>
|
|
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/layout_background.scss"/>
|
|
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/layout_boxed.scss"/>
|
|
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/layout_clean.scss"/>
|
|
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/asset_styles_company_report.scss"/>
|
|
|
|
<script type="text/javascript" src="/web/static/src/js/services/session.js"/>
|
|
<script type="text/javascript" src="/web/static/src/js/public/public_root.js"/>
|
|
<script type="text/javascript" src="/web/static/src/js/public/public_root_instance.js"/>
|
|
<script type="text/javascript" src="/web/static/src/js/public/public_widget.js"/>
|
|
<script type="text/javascript" src="/web/static/src/js/report/utils.js"/>
|
|
<script type="text/javascript" src='/web/static/src/js/report/report.js' />
|
|
</template>
|
|
|
|
<template id="report_assets_pdf">
|
|
<link href="/web/static/src/css/reset.min.css" rel="stylesheet"/>
|
|
</template>
|
|
|
|
<!-- Private templates used internally by reports -->
|
|
|
|
<template id="report_layout" name="Report layout"><!DOCTYPE html>
|
|
<html t-att-lang="lang and lang.replace('_', '-')"
|
|
t-att-data-report-margin-top="data_report_margin_top"
|
|
t-att-data-report-header-spacing="data_report_header_spacing"
|
|
t-att-data-report-dpi="data_report_dpi"
|
|
t-att-data-report-landscape="data_report_landscape"
|
|
t-att-web-base-url="web_base_url">
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<meta name="viewport" content="initial-scale=1"/>
|
|
<title><t t-esc="title or 'Odoo Report'"/></title>
|
|
<t t-call-assets="web.report_assets_common" t-js="false"/>
|
|
<t t-call-assets="web.assets_common" t-css="false"/>
|
|
<t t-call-assets="web.report_assets_common" t-css="false"/>
|
|
</head>
|
|
<body t-att-class="'container' if not full_width else 'container-fluid'">
|
|
<div id="wrapwrap">
|
|
<main>
|
|
<t t-raw="0"/>
|
|
</main>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
</template>
|
|
|
|
<template id="html_container">
|
|
<t t-set="body_classname" t-value="'container'"/>
|
|
<t t-call="web.report_layout">
|
|
<t t-raw="0"/>
|
|
</t>
|
|
</template>
|
|
|
|
<template id="minimal_layout">
|
|
<!DOCTYPE html>
|
|
<t t-raw="'<base href=%s>' % base_url"/>
|
|
<html style="height: 0;">
|
|
<head>
|
|
<t t-call-assets="web.report_assets_pdf" t-js="false"/>
|
|
<t t-call-assets="web.report_assets_common" t-js="false"/>
|
|
<t t-call-assets="web.report_assets_pdf" t-css="false"/>
|
|
<meta charset="utf-8"/>
|
|
<t t-set="subst_needed" t-value="subst is True"/>
|
|
<t t-if="subst_needed">
|
|
<script>
|
|
function subst() {
|
|
var vars = {};
|
|
var x = document.location.search.substring(1).split('&');
|
|
for (var i in x) {
|
|
var z = x[i].split('=', 2);
|
|
vars[z[0]] = unescape(z[1]);
|
|
}
|
|
var x = ['sitepage', 'sitepages', 'section', 'subsection', 'subsubsection'];
|
|
var z = {'sitepage': 'page', 'sitepages': 'topage'};
|
|
for (var i in x) {
|
|
var y = document.getElementsByClassName(z[x[i]] || x[i])
|
|
for (var j=0; j<y.length; ++j)
|
|
y[j].textContent = vars[x[i]];
|
|
}
|
|
|
|
var index = vars['webpage'].split('.', 4)[3];
|
|
var header = document.getElementById('minimal_layout_report_headers');
|
|
if(header !== null){
|
|
var companyHeader = header.children[index];
|
|
header.textContent = '';
|
|
header.appendChild(companyHeader);
|
|
}
|
|
var footer = document.getElementById('minimal_layout_report_footers');
|
|
if(footer !== null){
|
|
var companyFooter = footer.children[index];
|
|
footer.textContent = '';
|
|
footer.appendChild(companyFooter);
|
|
}
|
|
}
|
|
</script>
|
|
</t>
|
|
</head>
|
|
<body class="container" t-att-onload="subst_needed and 'subst()'">
|
|
<t t-raw="body"/>
|
|
</body>
|
|
</html>
|
|
</template>
|
|
|
|
<!-- External layouts styles -->
|
|
|
|
<template id="address_layout">
|
|
<t t-set="colclass" t-value="('col-md-5' if report_type == 'html' else 'col-5') + ' ml-auto'"/>
|
|
<t t-if="address">
|
|
<div class="address row">
|
|
<t t-if="information_block">
|
|
<t t-set="colclass" t-value="'col-5 offset-1'"/>
|
|
<div name="information_block" class="col-6">
|
|
<t t-raw="information_block"/>
|
|
</div>
|
|
</t>
|
|
<div name="address" t-att-class="colclass">
|
|
<t t-raw="address"/>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</template>
|
|
|
|
<template id="external_layout_background">
|
|
<div t-attf-class="o_company_#{company.id}_layout header" t-att-style="report_header_style">
|
|
<div class="o_background_header">
|
|
<div class="float-right">
|
|
<h3 class="mt0 text-right" t-field="company.report_header"/>
|
|
</div>
|
|
<img t-if="company.logo" t-att-src="image_data_uri(company.logo)" class="float-left" alt="Logo"/>
|
|
<div class="float-left company_address">
|
|
<div>
|
|
<strong t-field="company.partner_id.name"/>
|
|
</div>
|
|
<span t-field="company.partner_id"
|
|
t-options='{"widget": "contact", "fields": ["address"], "no_marker": true}'/>
|
|
</div>
|
|
<div class="clearfix mb8"/>
|
|
</div>
|
|
</div>
|
|
|
|
<div t-attf-class="o_company_#{company.id}_layout article o_report_layout_background" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">
|
|
<t t-call="web.address_layout"/>
|
|
<t t-raw="0"/>
|
|
</div>
|
|
|
|
<div t-attf-class="o_company_#{company.id}_layout footer o_background_footer">
|
|
<div class="text-center">
|
|
<ul class="list-inline">
|
|
<li t-if="company.phone" class="list-inline-item"><i class="fa fa-phone" role="img" aria-label="Phone" title="Phone"/> <span t-field="company.phone"/></li>
|
|
<li t-if="company.email" class="list-inline-item"><i class="fa fa-at" role="img" aria-label="Email" title="Email"/> <span t-field="company.email"/></li>
|
|
<li t-if="company.website" class="list-inline-item"><i class="fa fa-globe" role="img" aria-label="Website" title="Website"/> <span t-field="company.website"/></li>
|
|
<li t-if="company.vat" class="list-inline-item"><i class="fa fa-building-o" role="img" aria-label="Fiscal number"/><t t-esc="company.country_id.vat_label or 'Tax ID'"/>: <span t-field="company.vat"/></li>
|
|
</ul>
|
|
<div t-field="company.report_footer"/>
|
|
<div t-if="report_type == 'pdf'" class="text-muted">
|
|
Page:
|
|
<span class="page"/>
|
|
of
|
|
<span class="topage"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="external_layout_boxed">
|
|
<div t-attf-class="header o_company_#{company.id}_layout" t-att-style="report_header_style">
|
|
<div class="o_boxed_header">
|
|
<div class="row mb8">
|
|
<div class="col-6">
|
|
<img t-if="company.logo" t-att-src="image_data_uri(company.logo)" alt="Logo"/>
|
|
</div>
|
|
<div class="col-6 text-right mb4">
|
|
<h4 class="mt0" t-field="company.report_header"/>
|
|
<div name="company_address" class="float-right mb4">
|
|
<span class="company_address" t-field="company.partner_id"
|
|
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": true}'/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div t-attf-class="article o_report_layout_boxed o_company_#{company.id}_layout" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">
|
|
<div class="pt-5">
|
|
<!-- This div ensures that the address is not cropped by the header. -->
|
|
<t t-call="web.address_layout"/>
|
|
</div>
|
|
<t t-raw="0"/>
|
|
</div>
|
|
|
|
<div t-attf-class="footer o_boxed_footer o_company_#{company.id}_layout">
|
|
<div class="text-center">
|
|
<ul class="list-inline">
|
|
<li t-if="company.phone" class="list-inline-item"><span t-field="company.phone"/></li>
|
|
<li t-if="company.email" class="list-inline-item"><span t-field="company.email"/></li>
|
|
<li t-if="company.website" class="list-inline-item"><span t-field="company.website"/></li>
|
|
<li t-if="company.vat" class="list-inline-item"><t t-esc="company.country_id.vat_label or 'Tax ID'"/>: <span t-field="company.vat"/></li>
|
|
</ul>
|
|
<div t-field="company.report_footer"/>
|
|
<div t-if="report_type == 'pdf'">
|
|
Page: <span class="page"/> / <span class="topage"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="external_layout_clean">
|
|
<div t-attf-class="header o_company_#{company.id}_layout" t-att-style="report_header_style">
|
|
<div class="o_clean_header">
|
|
<div class="row">
|
|
<div class="col-6">
|
|
<img t-if="company.logo" t-att-src="image_data_uri(company.logo)" alt="Logo"/>
|
|
</div>
|
|
<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>
|
|
</div>
|
|
</div>
|
|
|
|
<div t-attf-class="article o_report_layout_clean o_company_#{company.id}_layout" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">
|
|
<t t-call="web.address_layout"/>
|
|
<t t-raw="0"/>
|
|
</div>
|
|
|
|
<div t-attf-class="footer o_clean_footer o_company_#{company.id}_layout">
|
|
<div class="row mt8">
|
|
<div class="col-3">
|
|
<span t-field="company.report_footer"/>
|
|
</div>
|
|
<div class="col-4 text-right">
|
|
<span class="company_address" t-field="company.partner_id"
|
|
t-options='{"widget": "contact", "fields": ["address"], "no_marker": true}'/>
|
|
</div>
|
|
<div class="col-4">
|
|
<h4 class="mt0 mb0 text-uppercase" t-field="company.report_header"/>
|
|
</div>
|
|
<div class="col-1">
|
|
<ul t-if="report_type == 'pdf'" class="list-inline pagenumber float-right text-center">
|
|
<li class="list-inline-item"><strong><span class="page"/></strong></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="external_layout_standard">
|
|
<div t-attf-class="header o_company_#{company.id}_layout" t-att-style="report_header_style">
|
|
<div class="row">
|
|
<div class="col-3 mb4">
|
|
<img t-if="company.logo" t-att-src="image_data_uri(company.logo)" style="max-height: 45px;" alt="Logo"/>
|
|
</div>
|
|
<div class="col-9 text-right" style="margin-top:22px;" t-field="company.report_header" name="moto"/>
|
|
</div>
|
|
<div t-if="company.logo or company.report_header" class="row zero_min_height">
|
|
<div class="col-12">
|
|
<div style="border-bottom: 1px solid black;"/>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-6" name="company_address">
|
|
<div t-field="company.partner_id"
|
|
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": true}'
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div t-attf-class="article o_report_layout_standard o_company_#{company.id}_layout" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">
|
|
<div class="pt-5">
|
|
<!-- This div ensures that the address is not cropped by the header. -->
|
|
<t t-call="web.address_layout"/>
|
|
</div>
|
|
<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 report
|
|
adding d-inline class fixes the problem-->
|
|
<li t-if="company.phone" class="list-inline-item d-inline"><span t-field="company.phone"/></li>
|
|
<li t-if="company.email" class="list-inline-item d-inline"><span t-field="company.email"/></li>
|
|
<li t-if="company.website" class="list-inline-item d-inline"><span t-field="company.website"/></li>
|
|
<li t-if="company.vat" class="list-inline-item d-inline"><t t-esc="company.country_id.vat_label or 'Tax ID'"/>: <span t-field="company.vat"/></li>
|
|
</ul>
|
|
|
|
<div name="financial_infos">
|
|
<span t-field="company.report_footer"/>
|
|
</div>
|
|
|
|
<div t-if="report_type == 'pdf'" class="text-muted">
|
|
Page: <span class="page"/> / <span class="topage"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<!-- Public api: layout to t-call from reports -->
|
|
|
|
<template id="external_layout">
|
|
<t t-if="not o" t-set="o" t-value="doc"/>
|
|
|
|
<t t-if="not company">
|
|
<!-- Multicompany -->
|
|
<t t-if="company_id">
|
|
<t t-set="company" t-value="company_id"/>
|
|
</t>
|
|
<t t-elif="o and 'company_id' in o">
|
|
<t t-set="company" t-value="o.company_id.sudo()"/>
|
|
</t>
|
|
<t t-else="else">
|
|
<t t-set="company" t-value="res_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-else="else" t-call="web.external_layout_standard"><t t-raw="0"/></t>
|
|
|
|
</template>
|
|
|
|
<template id="internal_layout">
|
|
<t t-if="not o" t-set="o" t-value="doc"/>
|
|
|
|
<t t-if="not company">
|
|
<!-- Multicompany -->
|
|
<t t-if="company_id">
|
|
<t t-set="company" t-value="company_id"/>
|
|
</t>
|
|
<t t-elif="o and 'company_id' in o">
|
|
<t t-set="company" t-value="o.company_id.sudo()"/>
|
|
</t>
|
|
<t t-else="else">
|
|
<t t-set="company" t-value="res_company"/>
|
|
</t>
|
|
</t>
|
|
|
|
<div class="header">
|
|
<div class="row">
|
|
<div class="col-3">
|
|
<span t-esc="context_timestamp(datetime.datetime.now()).strftime('%Y-%m-%d %H:%M')"/>
|
|
</div>
|
|
<div class="col-2 offset-2 text-center">
|
|
<span t-esc="company.name"/>
|
|
</div>
|
|
<div class="col-2 offset-3 text-right">
|
|
<ul class="list-inline">
|
|
<li class="list-inline-item"><span class="page"/></li>
|
|
<li class="list-inline-item">/</li>
|
|
<li class="list-inline-item"><span class="topage"/></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="article" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">
|
|
<t t-raw="0"/>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="basic_layout">
|
|
<t t-call="web.html_container">
|
|
<div class="article" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">
|
|
<t t-raw="0"/>
|
|
</div>
|
|
</t>
|
|
</template>
|
|
|
|
<!-- Customize the company form view by adding paperformat field as well as demo reports -->
|
|
<!-- Demo reports definition -->
|
|
<template id="preview_internalreport">
|
|
<t t-set="company" t-value="env.company"/>
|
|
<t t-call="web.html_container">
|
|
<t t-set="o" t-value="res_company"/>
|
|
<t t-call="web.internal_layout">
|
|
<div class="page">
|
|
<p>This is a sample of an internal report.</p>
|
|
</div>
|
|
</t>
|
|
</t>
|
|
</template>
|
|
<template id="preview_externalreport">
|
|
<t t-set="company" t-value="env.company"/>
|
|
<t t-call="web.html_container">
|
|
<t t-set="o" t-value="res_company"/>
|
|
<t t-call="web.external_layout">
|
|
<div class="page">
|
|
<p>This is a sample of an external report.</p>
|
|
</div>
|
|
</t>
|
|
</t>
|
|
</template>
|
|
|
|
<template id="styles_company_report">
|
|
<t t-foreach="company_ids" t-as="company" t-translation="off">
|
|
<t t-set="font" t-value="company.font or 'Lato'" />
|
|
<t t-set="primary" t-value="company.primary_color or 'black'" />
|
|
<t t-set="secondary" t-value="company.secondary_color or 'black'" />
|
|
<t t-set="layout" t-value="company.external_report_layout_id.key or 'web.external_layout_standard'" />
|
|
.o_company_<t t-esc='company.id'/>_layout {
|
|
font-family: '<t t-esc="font" />';
|
|
|
|
<t t-if="layout == 'web.external_layout_background'">
|
|
.o_background_header {
|
|
h3 {
|
|
color: <t t-esc='primary'/>;
|
|
}
|
|
}
|
|
&.o_background_footer {
|
|
ul {
|
|
li {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
}
|
|
}
|
|
&.o_report_layout_background {
|
|
strong {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
h2 {
|
|
color: <t t-esc='primary'/>;
|
|
}
|
|
thead tr th {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
}
|
|
.row > div > table,
|
|
div#total table {
|
|
&:first-child,
|
|
&:last-child,
|
|
&.o_subtotal,
|
|
&.o_total {
|
|
strong {
|
|
color: <t t-esc='primary'/>;
|
|
}
|
|
}
|
|
}
|
|
</t>
|
|
<t t-elif="layout == 'web.external_layout_boxed'">
|
|
&.o_report_layout_boxed {
|
|
#total strong {
|
|
color: <t t-esc='primary'/>;
|
|
}
|
|
#informations strong {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
h2 span {
|
|
color: <t t-esc='primary'/>;
|
|
}
|
|
table {
|
|
thead {
|
|
tr th {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
}
|
|
tbody tr td {
|
|
&.o_line_section td {
|
|
background-color: rgba(<t t-esc='primary'/>, 0.7);
|
|
}
|
|
&.is-subtotal,
|
|
td.o_price_total {
|
|
background-color: rgba(<t t-esc='secondary'/>, 0.1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.row > div > table,
|
|
div#total table {
|
|
tr {
|
|
&.o_total td {
|
|
background-color: rgba(<t t-esc='primary'/>, 0.9);
|
|
}
|
|
}
|
|
}
|
|
</t>
|
|
<t t-elif="layout == 'web.external_layout_clean'" >
|
|
&.o_clean_footer {
|
|
border-top: 3px solid <t t-esc='secondary'/>;
|
|
h4 {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
.pagenumber {
|
|
border: 3px solid <t t-esc='primary'/>;
|
|
background-color: <t t-esc='secondary'/>;
|
|
}
|
|
}
|
|
&.o_report_layout_clean {
|
|
h1, h2, h3 {
|
|
color: <t t-esc='primary'/>;
|
|
}
|
|
strong {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
table {
|
|
thead {
|
|
color: <t t-esc='secondary'/>;
|
|
tr th {
|
|
border-top: 3px solid <t t-esc='secondary'/> !important;
|
|
}
|
|
}
|
|
tbody {
|
|
tr:last-child td {
|
|
border-bottom: 3px solid <t t-esc='secondary'/>;
|
|
}
|
|
}
|
|
}
|
|
#total {
|
|
strong {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
}
|
|
}
|
|
</t>
|
|
<t t-elif="layout == 'web.external_layout_standard'">
|
|
&.o_report_layout_standard {
|
|
h2 {
|
|
color: <t t-esc='primary'/>;
|
|
}
|
|
#informations strong {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
#total strong{
|
|
color: <t t-esc='primary'/>;
|
|
}
|
|
table {
|
|
thead {
|
|
color: <t t-esc='secondary'/>;
|
|
}
|
|
}
|
|
}
|
|
</t>
|
|
}
|
|
</t>
|
|
</template>
|
|
|
|
<record id="action_report_internalpreview" model="ir.actions.report">
|
|
<field name="name">Preview Internal Report</field>
|
|
<field name="model">res.company</field>
|
|
<field name="report_type">qweb-pdf</field>
|
|
<field name="report_name">web.preview_internalreport</field>
|
|
<field name="report_file">web.preview_internalreport</field>
|
|
<field name="binding_model_id" ref="model_res_company"/>
|
|
<field name="binding_type">report</field>
|
|
</record>
|
|
<record id="action_report_externalpreview" model="ir.actions.report">
|
|
<field name="name">Preview External Report</field>
|
|
<field name="model">res.company</field>
|
|
<field name="report_type">qweb-pdf</field>
|
|
<field name="report_name">web.preview_externalreport</field>
|
|
<field name="report_file">web.preview_externalreport</field>
|
|
<field name="binding_model_id" ref="model_res_company"/>
|
|
<field name="binding_type">report</field>
|
|
</record>
|
|
</odoo>
|