[REF] base, report: preview internal/external qweb reports

Added two dummy reports to print an empty internal and external report
and added direct link to edit header/footers template in the form view
(in technical features) for convenience.

Also moved the 'preview rml report' under the rml configuration and
tried to make the company form as clean as possible but i think it's
failed.
This commit is contained in:
Simon Lejeune
2015-09-28 14:35:22 +02:00
parent 62cd475293
commit 2e16296099
4 changed files with 88 additions and 17 deletions
+1
View File
@@ -1,3 +1,4 @@
import report
import report_paperformat
import abstract_report
import res_company
+28
View File
@@ -0,0 +1,28 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from openerp.osv import osv
class ResCompany(osv.Model):
_inherit = 'res.company'
def _prepare_report_view_action(self, cr, uid, template):
template_id = self.pool['ir.model.data'].xmlid_to_res_id(cr, uid, template)
return {
'type': 'ir.actions.act_window',
'res_model': 'ir.ui.view',
'view_type': 'form',
'view_mode': 'form',
'res_id': template_id,
}
def edit_external_header(self, cr, uid, ids, context=None):
return self._prepare_report_view_action(cr, uid, 'report.external_layout_header')
def edit_external_footer(self, cr, uid, ids, context=None):
return self._prepare_report_view_action(cr, uid, 'report.external_layout_footer')
def edit_internal_header(self, cr, uid, ids, context=None):
return self._prepare_report_view_action(cr, uid, 'report.internal_layout')
+43 -2
View File
@@ -92,7 +92,39 @@
</field>
</record>
<!-- Adding a paperformat field inside to the company form view -->
<!-- Customize the company form view by adding paperformat field as well as demo reports -->
<!-- Demo reports definition -->
<template id="preview_internalreport">
<t t-call="report.html_container">
<t t-call="report.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-call="report.html_container">
<t t-call="report.external_layout">
<div class="page">
<p>This is a sample of an external report.</p>
</div>
</t>
</t>
</template>
<report id="action_report_internalpreview"
model="res.company"
name="report.preview_internalreport"
file="report.preview_internalreport"
string="Preview Internal Report"
report_type="qweb-pdf"/>
<report id="action_report_externalpreview"
model="res.company"
name="report.preview_externalreport"
file="report.preview_externalreport"
string="Preview External Report"
report_type="qweb-pdf"/>
<record id="reporting_settings_form_inherited" model="ir.ui.view">
<field name="name">view_company_form_inherited</field>
<field name="inherit_id" ref="base.view_company_form" />
@@ -100,7 +132,16 @@
<field name="arch" type="xml">
<data>
<xpath expr="//page[@name='report']/group[1]" position="inside">
<field name="paperformat_id" />
<group col="2" colspan="2">
<field name="paperformat_id" />
</group>
<group col="1" colspan="2" groups="base.group_no_one">
<button name="%(action_report_internalpreview)d" string="Preview Internal Report" type="action"/>
<button name="%(action_report_externalpreview)d" string="Preview External Report" type="action"/>
<button name="edit_external_header" string="Edit external header" type="object" class="oe_link"/>
<button name="edit_external_footer" string="Edit external footer" type="object" class="oe_link"/>
<button name="edit_internal_header" string="Edit internal header" type="object" class="oe_link"/>
</group>
</xpath>
</data>
</field>
+16 -15
View File
@@ -1,16 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<report id="preview_report" model="res.company" name="preview.report" multi="True" rml="base/report/preview_report.rml" string="Preview Report"/>
<report id="preview_rml_report" model="res.company" name="preview.report" menu="False" rml="base/report/preview_report.rml" string="Preview RML Report"/>
<record id="view_company_form" model="ir.ui.view">
<field name="name">res.company.form</field>
<field name="model">res.company</field>
<field name="arch" type="xml">
<form string="Company">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="%(preview_report)d" string="Preview Header/Footer" type="action"/>
</div>
<field name="logo" widget="image" class="oe_avatar"/>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
@@ -59,19 +57,22 @@
</page>
<page name="report" string="Report Configuration">
<group string="Configuration">
<field name="custom_footer"/>
<field name="rml_footer" attrs="{'invisible': [('custom_footer','=',False)]}"/>
<field name="rml_footer_readonly" attrs="{'invisible': [('custom_footer','=',True)]}"/>
<group col="2" colspan="2">
<field name="custom_footer"/>
<field name="rml_footer" attrs="{'invisible': [('custom_footer','=',False)]}"/>
<field name="rml_footer_readonly" attrs="{'invisible': [('custom_footer','=',True)]}"/>
</group>
</group>
<group string="Configuration (RML)" col="2" groups="base.group_no_one">
<field name="rml_paper_format" on_change="onchange_rml_paper_format(rml_paper_format)"/>
<label for="font" />
<div>
<field name="font" class="oe_inline" on_change="onchange_font_name(font, rml_header, rml_header2, rml_header3)" />
<button string="(reload fonts)" name="act_discover_fonts" type="object" class="oe_link" colspan="1"/>
</div>
<group string="Configuration (RML)" groups="base.group_no_one">
<group col="2" colspan="2">
<button name="%(preview_rml_report)d" string="Preview RML Report" type="action" colspan="2"/>
<field name="rml_paper_format" on_change="onchange_rml_paper_format(rml_paper_format)"/>
</group>
<group col="3" colspan="2">
<field name="font" class="oe_inline" on_change="onchange_font_name(font, rml_header, rml_header2, rml_header3)"/>
<button string="(reload fonts)" name="act_discover_fonts" type="object" class="oe_link"/>
</group>
<group col="1" colspan="2">
<field name="rml_header"/>
<field name="rml_header2"/>