[IMP] Add back the variable feature in sql_export

Refactore to use the new properties field
This commit is contained in:
Florian da Costa
2023-02-03 11:36:59 +01:00
committed by David Beal
parent 8df404eff2
commit 3cb3fae1f6
13 changed files with 109 additions and 232 deletions

View File

@@ -1,76 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="sql_parameter_view_form" model="ir.ui.view">
<field name="name">Sql_parameter_form_view</field>
<field name="model">ir.model.fields</field>
<field name="priority">150</field>
<field name="arch" type="xml">
<form string="SQL export">
<group>
<field name="name" />
<field name="field_description" />
<field name="ttype" />
<field
name="relation"
attrs="{'invisible': [('ttype', 'not in', ('many2one', 'many2many', 'one2many'))], 'required': [('ttype', 'in', ('many2one', 'many2many', 'one2many'))]}"
/>
<field name="model_id" readonly="1" />
<field name="model" invisible="1" />
<field name="required" />
</group>
</form>
</field>
</record>
<record id="sql_parameter_view_tree" model="ir.ui.view">
<field name="name">Sql_parameter_tree_view</field>
<field name="model">ir.model.fields</field>
<field name="priority">150</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
<field name="field_description" />
<field name="ttype" />
<field name="required" />
</tree>
</field>
</record>
<record id="sql_parameter_action" model="ir.actions.act_window">
<field name="name">SQL Parameter</field>
<field name="res_model">ir.model.fields</field>
<field name="view_mode">tree,form</field>
<field
name="context"
eval="{'default_model_id': ref('sql_export.model_sql_file_wizard'), 'default_size': 64, 'search_default_state': 'manual', 'default_model': 'sql.file.wizard'}"
/>
<field
name="domain"
>[('model','=','sql.file.wizard'), ('state', '=', 'manual')]</field>
</record>
<record id="sql_parameter_action_view_tree" model="ir.actions.act_window.view">
<field name="sequence" eval="1" />
<field name="view_mode">tree</field>
<field name="view_id" ref="sql_parameter_view_tree" />
<field name="act_window_id" ref="sql_parameter_action" />
</record>
<record id="sql_parameter_action_view_form" model="ir.actions.act_window.view">
<field name="sequence" eval="2" />
<field name="view_mode">form</field>
<field name="view_id" ref="sql_parameter_view_form" />
<field name="act_window_id" ref="sql_parameter_action" />
</record>
<menuitem
id="sql_parameter_menu_view"
name="SQL Export Variables"
parent="spreadsheet_dashboard.spreadsheet_dashboard_menu_configuration"
action="sql_parameter_action"
sequence="50"
groups="sql_request_abstract.group_sql_request_manager"
/>
</odoo>

View File

@@ -9,12 +9,15 @@
/>
<field name="mode">primary</field>
<field name="arch" type="xml">
<field name="query" position="after">
<field name="use_properties" invisible="1" />
</field>
<button name="button_preview_sql_expression" position="attributes">
<attribute name="states" />
<attribute
name="attrs"
>{'invisible': [('field_ids', '!=', False)]}</attribute>
>{'invisible': [('use_properties', '=', True)]}</attribute>
</button>
<xpath expr="//header" position="inside">
<button
name="export_sql_query"
@@ -24,6 +27,14 @@
class="oe_highlight"
icon="fa-arrow-right text-success"
/>
<button
name="configure_properties"
states="draft"
string="Configure Properties"
type="object"
class="oe_highlight"
icon="fa-arrow-right text-success"
/>
</xpath>
<group name="group_main_info" position="inside">
<group name="option">
@@ -41,19 +52,14 @@
/>
</group>
</group>
<group name="group_query" position="after">
<group string="Parameters">
<field
name="field_ids"
nolabel="1"
colspan="2"
options="{'no_create': True}"
context="{'tree_view_ref': 'sql_export.sql_parameter_view_tree', 'form_view_ref': 'sql_export.sql_parameter_view_form'}"
attrs="{'readonly': [('state', '!=', 'draft')]}"
groups="sql_request_abstract.group_sql_request_user"
<field name="query" position="before">
<p
colspan="2"
attrs="{'invisible': [('use_properties', '=', False)]}"
> In case of use of properties in the query, use this syntax : &#37;&#37;(Property String)s. <br
/>
</group>
</group>
Example : SELECT id FROM sale_order WHERE create_date > &#37;&#37;(Start Date)s</p>
</field>
</field>
</record>