2
0
account-financial-tools/account_chart_update/wizard/wizard_chart_update_view.xml
Pedro M. Baeza 9e63f90527 [IMP] account_chart_update: Include field selection
With this option, you can select which fields do you want to compare for updating.

Use case: you have specific accounts in taxes, and you don't want to lose them,
but you want to update their groups through the wizard. Before this, the update
was all or nothing. Now, you have total control!
2023-01-17 08:54:49 +01:00

173 lines
8.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- © 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="view_update_multi_chart" model="ir.ui.view">
<field name="name">Update Chart of Accounts from a Chart Template</field>
<field name="model">wizard.update.charts.accounts</field>
<field name="arch" type="xml">
<form>
<header>
<field
name="state"
select="2"
widget="statusbar"
statusbar_visible="init,ready,done"
statusbar_colors='{"ready":"blue","done":"blue"}' />
</header>
<group attrs="{'invisible':[('state','!=','init')]}">
<h3>
<p><center>This wizard will update your accounts, taxes and fiscal positions according to the selected chart template</center></p>
</h3>
</group>
<group string="Chart of Accounts" attrs="{'invisible':[('state','!=','init')]}">
<field name="company_id"
attrs="{'invisible':[('state','!=','init')]}"
/>
<field name="code_digits" invisible="1" />
<field name="chart_template_id"
domain="[('visible', '=', True)]"
attrs="{'invisible': [('state','!=','init')], 'required': True}"
/>
<field name="lang" attrs="{'invisible':[('state','!=','init')]}" />
</group>
<notebook attrs="{'invisible':[('state','!=','init')]}">
<page string="General options" name="page_general_options">
<group>
<group string="Update records?">
<field name="update_tax" />
<field name="update_account" />
<field name="update_fiscal_position" />
</group>
<group string="Other options" attrs="{'invisible':[('state','!=','init')]}">
<field name="continue_on_errors" />
</group>
</group>
<group>
<h5>
<p>If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)</p>
<p>Note: Only the changed fields are updated.</p>
</h5>
</group>
</page>
<page string="Field options"
attrs="{'invisible': [('update_tax', '=', False), ('update_account', '=', False), ('update_fiscal_position', '=', False)]}"
>
<h3>
<p>Here you can select the fields you want to check if they have been updated in the templates.</p>
</h3>
<notebook>
<page string="Taxes"
name="page_fields_taxes"
attrs="{'invisible': [('update_tax', '=', False)]}"
>
<field name="tax_field_ids"
widget="many2many_checkboxes"
context="{'account_chart_update': True}"
/>
</page>
<page string="Accounts"
name="page_fields_accounts"
attrs="{'invisible': [('update_account', '=', False)]}"
>
<field name="account_field_ids"
widget="many2many_checkboxes"
context="{'account_chart_update': True}"
/>
</page>
<page string="Fiscal positions"
name="page_fields_fps"
attrs="{'invisible': [('update_fiscal_position', '=', False)]}"
>
<field name="fp_field_ids"
widget="many2many_checkboxes"
context="{'account_chart_update': True}"
/>
</page>
</notebook>
</page>
</notebook>
<group attrs="{'invisible':[('state','!=','ready'),]}"
string="Records to create/update">
<notebook colspan="4">
<page string="Taxes" attrs="{'invisible': [('update_tax', '=', False)]}">
<field name="tax_ids" nolabel="1">
<tree string="Taxes" colors="red:type=='updated'">
<field name="tax_id" />
<field name="update_tax_id" />
<field name="type_tax_use"/>
<field name="notes"/>
<field name="type"/>
</tree>
</field>
</page>
<page string="Accounts" attrs="{'invisible': [('update_account', '=', False)]}">
<field name="account_ids" nolabel="1">
<tree string="Accounts" colors="red:type=='updated'">
<field name="account_id" />
<field name="update_account_id" />
<field name="notes"/>
<field name="type"/>
</tree>
</field>
</page>
<page string="Fiscal positions" attrs="{'invisible': [('update_fiscal_position', '=', False)]}">
<field name="fiscal_position_ids" nolabel="1">
<tree string="Fiscal positions" colors="red:type=='updated'">
<field name="fiscal_position_id" />
<field name="update_fiscal_position_id" />
<field name="notes"/>
<field name="type"/>
</tree>
</field>
</page>
</notebook>
</group>
<group col="4" colspan="4"
attrs="{'invisible':[('state','!=','done'),]}">
<separator colspan="4" string="Log" />
<field name="log" colspan="4" nolabel="1" />
<group colspan="4">
<separator colspan="4" string="Summary of created objects" />
<field name="new_taxes" />
<field name="new_accounts" />
<field name="new_fps" />
</group>
<group colspan="4">
<separator colspan="4" string="Summary of updated objects" />
<field name="updated_taxes" />
<field name="deleted_taxes" />
<field name="updated_accounts" />
<field name="updated_fps" />
</group>
</group>
<footer>
<span states="init">
<button name="action_find_records" string="Next" class="oe_highlight" type="object" />
</span>
<span states="ready">
<button name="action_init" string="Previous" type="object" />
<button name="action_update_records" string="Create/Update" type="object" class="oe_highlight" />
</span>
<span states="init,ready"> or </span>
<button special="cancel" string="Close" class="oe_link" />
</footer>
</form>
</field>
</record>
<record id="action_wizard_update_chart" model="ir.actions.act_window">
<field name="name">Update chart of accounts</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">wizard.update.charts.accounts</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</odoo>