Currently there is two ways in view to have a phone number displayed in
LTR in a RTL language:
- have `widget="phone"` on a field
- have a class o_force_ltr on the field
But this is currently done very rarely and fail in list view because the
direction of data cells is used, eg.:
```
<div style="direction:rtl">
<table><tr><td style="direction:ltr">
<span>+1 2 3</span>
</td></tr><tr><td>
<span style="direction:ltr">+4 5 6</span>
</td>/tr></table>
</div>
```
will be displayed as:
+1 2 3
6 5 4+
In this commit, we use unicode-bidi* to optionally add an additional
level of embedding so direction is taken into account by the
bidirectional algorithm.
This commit also adds o_force_ltr class or phone widget on phone fields
where it is not already defined.
*: https://drafts.csswg.org/css-writing-modes-3/#propdef-unicode-bidi
opw-2224828
closes #48425
closes odoo/odoo#48588
X-original-commit: ab067218e069f0a92610c3f0d4137e563e47755c
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
144 lines
6.4 KiB
XML
144 lines
6.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data>
|
|
|
|
<record id="view_res_bank_form" model="ir.ui.view">
|
|
<field name="name">res.bank.form</field>
|
|
<field name="model">res.bank</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Bank">
|
|
<sheet>
|
|
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
|
|
<group name="bank_details" col="4">
|
|
<field name="name"/>
|
|
<field name="bic"/>
|
|
</group>
|
|
<group>
|
|
<group name="address_details">
|
|
<label for="street" string="Bank Address"/>
|
|
<div class="o_address_format">
|
|
<field name="street" placeholder="Street..." class="o_address_street"/>
|
|
<field name="street2" placeholder="Street 2..." class="o_address_street"/>
|
|
<field name="city" placeholder="City" class="o_address_city"/>
|
|
<field name="state" class="o_address_state" placeholder="State" options='{"no_open": True}'/>
|
|
<field name="zip" placeholder="ZIP" class="o_address_zip"/>
|
|
<field name="country" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'/>
|
|
</div>
|
|
</group>
|
|
<group name="communication_details">
|
|
<field name="phone" class="o_force_ltr"/>
|
|
<field name="email" widget="email"/>
|
|
<field name="active" invisible="1"/>
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_res_bank_tree" model="ir.ui.view">
|
|
<field name="name">res.bank.tree</field>
|
|
<field name="model">res.bank</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Banks">
|
|
<field name="name"/>
|
|
<field name="bic"/>
|
|
<field name="country"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="res_bank_view_search" model="ir.ui.view">
|
|
<field name="name">res.bank.view.search</field>
|
|
<field name="model">res.bank</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Bank">
|
|
<field name="name"/>
|
|
<separator/>
|
|
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_res_bank_form" model="ir.actions.act_window">
|
|
<field name="name">Banks</field>
|
|
<field name="res_model">res.bank</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="search_view_id" ref="res_bank_view_search"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create a new bank
|
|
</p><p>
|
|
Manage bank records you want to be used in the system.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_partner_bank_form" model="ir.ui.view">
|
|
<field name="name">res.partner.bank.form</field>
|
|
<field name="model">res.partner.bank</field>
|
|
<field name="priority">15</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Bank account">
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="sequence" invisible="1"/>
|
|
<field name="acc_number"/>
|
|
<field name="acc_type"/>
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
|
<field name="partner_id"/>
|
|
</group>
|
|
<group>
|
|
<field name="bank_id"/>
|
|
<field name="currency_id" groups="base.group_multi_currency" options="{'no_create': True}"/>
|
|
<field name="acc_holder_name"/>
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_partner_bank_tree" model="ir.ui.view">
|
|
<field name="name">res.partner.bank.tree</field>
|
|
<field name="model">res.partner.bank</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Bank Accounts">
|
|
<field name="sequence" widget="handle"/>
|
|
<field name="acc_number"/>
|
|
<field name="bank_name"/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
<field name="partner_id"/>
|
|
<field name="acc_holder_name" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_partner_bank_search" model="ir.ui.view">
|
|
<field name="name">res.partner.bank.search</field>
|
|
<field name="model">res.partner.bank</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Bank Accounts">
|
|
<field name="bank_name" filter_domain="['|', ('bank_name','ilike',self), ('acc_number','ilike',self)]" string="Bank Name"/>
|
|
<field name="company_id" invisible="context.get('company_hide', True)"/>
|
|
<field name="partner_id"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_res_partner_bank_account_form" model="ir.actions.act_window">
|
|
<field name="name">Bank Accounts</field>
|
|
<field name="res_model">res.partner.bank</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create a bank account
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
</data>
|
|
</odoo>
|
|
|