[ADD] report_carbone, jsonifier, export_json : carbone is an alternative to Py3o

This commit is contained in:
2026-04-21 14:59:24 +02:00
parent ae3c34257f
commit c2061984d1
216 changed files with 29344 additions and 0 deletions

View File

@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="act_report_carbone_view" model="ir.ui.view">
<field name="name">act_report_carbone_view</field>
<field name="model">ir.actions.report</field>
<field name="inherit_id" ref="base.act_report_xml_view"/>
<field name="mode">primary</field>
<field name="arch" type="xml">
<xpath expr="//form" position="attributes">
<attribute name="create">False</attribute>
<attribute name="class">carbone_embedded_view</attribute>
</xpath>
<xpath expr="//div[@name='button_box']" position="inside">
<button
name="action_carbon_print_by_action_window"
string="Test generation"
type="object"
icon="fa-file-text"
invisible="report_type != 'carbone' or template_id == False"
help="Test generation without leaving this form."
class="oe_stat_button"
/>
<button
name="action_download_carbone_documentation"
string="Documentation"
type="object"
icon="fa-file-pdf-o"
invisible="report_type != 'carbone'"
class="btn-secondary carbon_button_res_config"
/>
<button
name="action_refresh_carbone_studio"
string="Refresh Studio"
type="object"
icon="fa-gears"
invisible="report_type != 'carbone'"
class="oe_stat_button"
/>
</xpath>
<xpath expr="//field[@name='report_type']" position="after">
<p invisible="is_valid_template_id == True">
Please note that you have copied the version ID and not the template ID.
</p>
<!-- <p>Attention, vous avez copié le version ID et non le template ID </p>-->
<field
name="template_id"
invisible="report_type != 'carbone'"
decoration-danger="(not file_extension or not is_valid_template_id) and template_id"
/>
<field name="is_valid_template_id" invisible="True"/>
<field name="file_extension" invisible="True"/>
<field name="lang_ids" widget="many2many_tags" invisible="report_type != 'carbone'"/>
<field
name="currency_id"
invisible="report_type != 'carbone'"
options="{'no_create': True, 'no_open': True}"
/>
<field
name="export_model"
invisible="report_type != 'carbone'"
domain="[('resource', '=', model)]"
options="{'no_create': True}"
/>
<field name="hide_create_update_button" invisible="1"/>
<field name="m2o_reference_model" invisible="1"/>
<field name="m2o_reference_id" options="{'no_create': True}" invisible="report_type != 'carbone'"/>
<button
name="button_create_update_ir_export"
type="object"
string="Create/update export template"
invisible="hide_create_update_button"
/>
</xpath>
<xpath expr="//field[@name='name']" position="after">
<field
name="input_user_model_id"
options="{'no_create': True, 'no_open': True}"
context="{'carbone_report_display_name' : True}"
invisible="report_type != 'carbone'"
required="True"
/>
</xpath>
<xpath expr="//field[@name='report_type']" position="attributes">
<attribute name="invisible">report_type == 'carbone'</attribute>
</xpath>
<xpath expr="//field[@name='model']" position="attributes">
<attribute name="invisible">report_type == 'carbone'</attribute>
</xpath>
<xpath expr="//field[@name='report_name']" position="replace"/>
<xpath expr="//field[@name='print_report_name']" position="attributes">
<attribute name="placeholder">"File name"</attribute>
</xpath>
<xpath expr="//field[@name='print_report_name']" position="after">
<field name="report_output_file_extension" invisible="report_type != 'carbone'"/>
</xpath>
<xpath expr="//page[@name='advanced']" position="after">
<page name="translations" string="Translations" invisible="report_type != 'carbone'">
<group>
<field name="partner_lang_path" placeholder="partner_id.lang"/>
</group>
<field name="carbone_translate_ids">
<list>
<field name="lang_id"/>
</list>
</field>
</page>
</xpath>
<xpath expr="//sheet" position="after">
<carbone-studio/>
</xpath>
</field>
</record>
<record id="act_report_carbone_xml_view_tree" model="ir.ui.view">
<field name="name">act_report_carbone_xml_view_tree</field>
<field name="model">ir.actions.report</field>
<field name="inherit_id" ref="base.act_report_xml_view_tree"/>
<field name="mode">primary</field>
<field name="arch" type="xml">
<xpath expr="//list" position="attributes">
<attribute name="create">False</attribute>
<attribute name="js_class">carbone_report_button_in_tree</attribute>
</xpath>
<xpath expr="//field[@name='report_name']" position="replace"/>
<xpath expr="//field[@name='type']" position="replace"/>
<xpath expr="//field[@name='report_type']" position="replace">
<field name="lang_ids" widget="many2many_tags"/>
<field name="is_available_in_print_action"/>
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="ir.ui.view" id="carbone_view_ir_exports">
<field name="model">ir.exports</field>
<field name="inherit_id" ref="jsonifier.view_ir_exports"/>
<field name="mode">primary</field>
<field name="arch" type="xml">
<xpath expr="//field[@name='language_agnostic']" position="replace"/>
<xpath expr="//field[@name='global_resolver_id']" position="replace"/>
<xpath
expr="//group[@name='index']/field[@name='export_fields']/list/field[@name='name']"
position="before"
>
<field name="field_label"/>
</xpath>
<xpath
expr="//group[@name='index']/field[@name='export_fields']/list/field[@name='target']"
position="attributes"
>
<attribute name="optional">hide</attribute>
</xpath>
<xpath
expr="//group[@name='index']/field[@name='export_fields']/list/field[@name='lang_id']"
position="attributes"
>
<attribute name="optional">hide</attribute>
</xpath>
<xpath
expr="//group[@name='index']/field[@name='export_fields']/list/field[@name='resolver_id']"
position="attributes"
>
<attribute name="optional">hide</attribute>
</xpath>
<xpath
expr="//group[@name='index']/field[@name='export_fields']/list/field[@name='instance_method_name']"
position="attributes"
>
<attribute name="optional">hide</attribute>
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="act_carbone_create_report_wizard_form" model="ir.ui.view">
<field name="name">act_carbone_create_report_wizard_form</field>
<field name="model">carbone.create.report.wizard</field>
<field name="arch" type="xml">
<form string="New document">
<group>
<field name="input_user_model_id" options="{'no_create': True, 'no_open': True}"/>
<field name="action_name"/>
</group>
<group>
<p>
You can either enter a Carbone Template ID if you already have a Carbone report,
or choose the extension for your new document.
</p>
<field name="report_type_extension"/>
<field name="template_id"/>
</group>
<footer>
<button
icon="fa-file-text"
name="action_create_carbone_report"
string="Save"
type="object"
default_focus="1"
class="oe_highlight"
/>
<button special="cancel" string="Close" type="object" class="btn-secondary"/>
</footer>
</form>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="act_carbone_print_by_action_view_form" model="ir.ui.view">
<field name="name">carbone.print_by_action.form</field>
<field name="model">carbone.print_by_action</field>
<field name="arch" type="xml">
<form string="Test generation">
<group>
<field name="name"/>
<field name="lang_id" options="{'no_open' : True}"/>
<field name="tz"/>
<field name="currency_id" options="{'no_create': True, 'no_open': True}"/>
<field name="id_object"/>
</group>
<footer>
<button
icon="fa-file-text"
name="to_print"
string="Print"
type="object"
default_focus="1"
class="oe_highlight"
/>
<button special="cancel" string="Close" type="object" class="btn-secondary"/>
</footer>
</form>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="report_carbone_translate_view_list" model="ir.ui.view">
<field name="name">report_carbone_carbone_translate_list</field>
<field name="model">carbone.translate</field>
<field name="arch" type="xml">
<list>
<field name="ir_actions_report_id"/>
<field name="lang_id"/>
</list>
</field>
</record>
<record id="report_carbone_translate_view_form" model="ir.ui.view">
<field name="name">report_carbone_carbone_translate_form</field>
<field name="model">carbone.translate</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="ir_actions_report_id" invisible="1"/>
<button
name="button_create_update_copy_of_translate"
icon="fa-refresh"
string="Create/update languages placeholder"
type="object"
/>
<field name="lang_id" options="{'no_open' : True}"/>
<field name="carbone_translate_line_ids" nolabel="1">
<list editable="bottom">
<field name="source"/>
<field name="value"/>
</list>
</field>
</group>
</sheet>
</form>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="report_carbone_translate_line_view_list" model="ir.ui.view">
<field name="name">report_carbone_carbone_translate_line_list</field>
<field name="model">carbone.translate.line</field>
<field name="arch" type="xml">
<list>
<field name="carbone_translate_id" invisible="1"/>
<field name="source"/>
<field name="value"/>
</list>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="action_carbone_report_template_tree_all" model="ir.actions.act_window">
<field name="name">Printing actions</field>
<field name="res_model">ir.actions.report</field>
<field name="path">report-carbone</field>
<field name="view_mode">form,list</field>
<field name="view_id" ref="report_carbone.act_report_carbone_xml_view_tree"/>
<field name="search_view_id" ref="base.act_report_xml_search_view"/>
<field name="domain">[("report_type", "=", "carbone")]</field>
<field name="context">{'default_report_type': 'carbone'}</field>
</record>
<menuitem
id="carbone_report_menu_root"
name="Document Generation"
sequence="400"
groups="report_carbone.group_report_carbone_viewer"
/>
<menuitem
id="menu_ir_action_report_settings"
parent="report_carbone.carbone_report_menu_root"
name="By Carbone.io"
sequence="1"
action="report_carbone.action_carbone_report_template_tree_all"
groups="report_carbone.group_report_carbone_viewer"
/>
</odoo>

View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="action_open_carbone_account_website" model="ir.actions.act_url">
<field name="name">Open carbone account login page</field>
<field name="url">https://account.carbone.io/login</field>
<field name="target">new</field>
</record>
<record id="res_config_settings_view_form_carbone_inherit" model="ir.ui.view">
<field name="name">res_config_settings_view_form_carbone_inherit</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="0"/>
<field name="inherit_id" ref="base_setup.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//form" position="inside">
<app
data-string="Carbone.io"
string="Carbone.io Integration"
name="carbone_io_integration"
logo="/report_carbone/static/description/icon.png"
>
<block title="Carbone.io integration" name="carbone_integration">
<div class="content-group mt16">
<button
name="action_download_carbone_documentation"
string="Documentation"
type="object"
icon="fa-file-pdf-o"
class="btn-secondary me-2"
/>
<button
name="action_download_carbone_file_sample"
string="Report file example"
type="object"
icon="fa-file-word-o"
class="btn-secondary"
/>
</div>
<setting id="carbone" help="Add the API key to print reports easily with Carbone.">
<span class="o_form_label">Carbone.io</span>
<div id="carbone_desc" class="text-muted">
Add the API key to print reports easily with Carbone.
<a
href="https://carbone.io/documentation/design/overview/getting-started.html"
title="Documentation Design"
class="o_doc_link"
target="_blank"
id="carbone_link_to_doc"
>
Link to Carbone design documentation
</a>
</div>
</setting>
<button
name="open_ir_actions_reports"
icon="oi-arrow-right"
type="object"
string="Manage Carbone Reports"
class="btn-link"
/>
<div class="content-group">
<div class="mt16 text-warning">
<strong>Save</strong>
this page and come back here to set up the feature.
</div>
</div>
<button
name="%(action_open_carbone_account_website)d"
class="carbone-link-website btn-link"
icon="oi-arrow-right"
string="Create a Carbone Account"
type="action"
invisible="prod_api_key or stage_api_key"
/>
<setting string="API Keys">
<div class="o_settings_carbone_container">
<div class="o_field_row">
<label for="prod_api_key" class="o_form_label_fixed"/>
<field name="prod_api_key" class="o_field_aligned"/>
</div>
<div class="o_field_row">
<label for="stage_api_key" class="o_form_label_fixed"/>
<field name="stage_api_key" class="o_field_aligned"/>
</div>
<div class="o_field_row">
<label for="is_stage_mode" class="o_form_label_fixed"/>
<field name="is_stage_mode" class="o_field_aligned"/>
</div>
<div class="text-muted">
In test mode, printed reports will have a watermark, and newly created reports
will be deleted after 30 days.
</div>
<div class="o_field_row">
<label for="carbone_studio_url" class="o_form_label_fixed"/>
<field name="carbone_studio_url" class="o_field_aligned"/>
</div>
<div class="o_field_row">
<label for="carbone_js_file_url" class="o_form_label_fixed"/>
<field name="carbone_js_file_url" class="o_field_aligned"/>
</div>
</div>
</setting>
</block>
</app>
</xpath>
</field>
</record>
</odoo>