mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-20 08:52:08 +02:00
18.0 vanilla
This commit is contained in:
parent
d72e748793
commit
0a7ae8db93
337 changed files with 399651 additions and 232598 deletions
|
|
@ -20,10 +20,10 @@
|
|||
<field name="name">Decimal Precision List</field>
|
||||
<field name="model">decimal.precision</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Decimal Precision">
|
||||
<list string="Decimal Precision">
|
||||
<field name="name"/>
|
||||
<field name="digits"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_decimal_precision_form">
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
</field>
|
||||
</record>
|
||||
<record id="action_view_tree" model="ir.ui.view">
|
||||
<field name="name">ir.actions.actions.tree</field>
|
||||
<field name="name">ir.actions.actions.list</field>
|
||||
<field name="model">ir.actions.actions</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Action">
|
||||
<list string="Action">
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_view_search" model="ir.ui.view">
|
||||
|
|
@ -57,7 +57,6 @@
|
|||
<field name="model">ir.actions.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Report">
|
||||
<field name="binding_model_id" invisible="1"/>
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button name="create_action" type="object"
|
||||
|
|
@ -111,17 +110,17 @@
|
|||
</field>
|
||||
</record>
|
||||
<record id="act_report_xml_view_tree" model="ir.ui.view">
|
||||
<field name="name">ir.actions.report.tree</field>
|
||||
<field name="name">ir.actions.report.list</field>
|
||||
<field name="model">ir.actions.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Report xml">
|
||||
<list string="Report xml">
|
||||
<field name="name"/>
|
||||
<field name="model"/>
|
||||
<field name="type"/>
|
||||
<field name="report_name"/>
|
||||
<field name="report_type"/>
|
||||
<field name="attachment"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="act_report_xml_search_view" model="ir.ui.view">
|
||||
|
|
@ -170,7 +169,7 @@
|
|||
</group>
|
||||
</group>
|
||||
<group name="help" string="Help">
|
||||
<field name="help" colspan="2" nolabel="1" class="oe-bordered-editor"/>
|
||||
<field name="help" nolabel="1" class="oe-bordered-editor"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
|
|
@ -180,16 +179,16 @@
|
|||
<!-- ir.actions.act_window -->
|
||||
|
||||
<record id="view_window_action_tree" model="ir.ui.view">
|
||||
<field name="name">ir.actions.windows.tree</field>
|
||||
<field name="name">ir.actions.windows.list</field>
|
||||
<field name="model">ir.actions.act_window</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Open Window">
|
||||
<list string="Open Window">
|
||||
<field name="name"/>
|
||||
<field name="res_model"/>
|
||||
<field name="view_id"/>
|
||||
<field name="domain"/>
|
||||
<field name="context"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_window_action_form" model="ir.ui.view">
|
||||
|
|
@ -202,6 +201,7 @@
|
|||
<group name="main_details">
|
||||
<field name="name"/>
|
||||
<field name="xml_id" string="External ID"/>
|
||||
<field name="path" string="Path"/>
|
||||
<field name="res_model" string="Object"/>
|
||||
</group>
|
||||
<group name="action_details">
|
||||
|
|
@ -238,11 +238,11 @@
|
|||
<field domain="[('type', '=', view_mode)]" name="view_id"/>
|
||||
</group>
|
||||
</form>
|
||||
<tree string="Views">
|
||||
<list string="Views">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="view_mode"/>
|
||||
<field name="view_id"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
</page>
|
||||
|
|
@ -274,7 +274,7 @@
|
|||
</record>
|
||||
<record id="ir_action_window_view1" model="ir.actions.act_window.view">
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="view_id" ref="view_window_action_tree"/>
|
||||
<field name="act_window_id" ref="ir_action_window"/>
|
||||
</record>
|
||||
|
|
@ -290,10 +290,10 @@
|
|||
<field name="name">Client Actions</field>
|
||||
<field name="model">ir.actions.client</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Client Actions">
|
||||
<list string="Client Actions">
|
||||
<field name="name"/>
|
||||
<field name="tag"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -312,7 +312,6 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Server Action">
|
||||
<header>
|
||||
<field name="binding_model_id" invisible="1"/>
|
||||
<button name="create_action" string="Create Contextual Action" type="object"
|
||||
class="btn-primary"
|
||||
invisible="binding_model_id"
|
||||
|
|
@ -342,11 +341,9 @@
|
|||
<separator string="Action Details" groups="base.group_no_one" />
|
||||
<div class="d-flex flex-row flex-wrap gap-2" invisible="state != 'object_write'">
|
||||
<field name="evaluation_type" class="oe_inline"/>
|
||||
<field name="update_path" widget="DynamicModelFieldSelectorChar" class="oe_inline" options="{'model': 'model_name'}"/>
|
||||
<field name="update_field_id" invisible="1"/>
|
||||
<field name="value_field_to_show" invisible="1"/>
|
||||
<field name="update_related_model_id" invisible="1"/>
|
||||
<field name="update_field_type" invisible="1"/>
|
||||
<field name="update_path" widget="DynamicModelFieldSelectorChar" class="oe_inline" options="{'model': 'model_name'}" required="state == 'object_write'"/>
|
||||
<field name="update_field_id" invisible="True"/> <!-- The field is store=True and readonly=False, in this view we want to save the value from compute/onchange -->
|
||||
<field name="update_related_model_id" invisible="True"/> <!-- This field is required for 'resource_ref' to compute possible m2m and m2o values -->
|
||||
<span invisible="evaluation_type != 'value' or update_field_type not in ['one2many', 'many2many']">by</span>
|
||||
<field name="update_m2m_operation" class="oe_inline" invisible="evaluation_type != 'value' or update_field_type not in ['one2many', 'many2many']" required="update_field_type in ['one2many', 'many2many']"/>
|
||||
<span invisible="evaluation_type != 'value' or update_field_type in ['one2many', 'many2many']">to</span>
|
||||
|
|
@ -375,17 +372,13 @@
|
|||
</div>
|
||||
<group name="action_wrapper">
|
||||
<group name="action_content">
|
||||
<field name="model_name" invisible="1"/>
|
||||
<field name="available_model_ids" invisible="1"/>
|
||||
<field name="model_id" options="{'no_create': True, 'no_open': True}" groups="!base.group_no_one" invisible="context.get('default_model_id')"
|
||||
domain="[('id', 'in', available_model_ids)]"/>
|
||||
|
||||
<field name="type" invisible="1"/>
|
||||
<field name="crud_model_id"
|
||||
options="{'no_create': True, 'no_open': True}"
|
||||
invisible="state != 'object_create'"
|
||||
required="state == 'object_create'"/>
|
||||
<field name="crud_model_name" invisible="1"/>
|
||||
<field name="value" widget="char" string="Name" invisible="state != 'object_create'"
|
||||
help="The name of the record to create" placeholder="e.g. Follow-up"/>
|
||||
<field name="link_field_id"
|
||||
|
|
@ -400,7 +393,7 @@
|
|||
</group>
|
||||
<group invisible="state != 'webhook'">
|
||||
<label for="webhook_sample_payload" />
|
||||
<field name="webhook_sample_payload" string="Sample Payload" nolabel="1" colspan="2" readonly="1" widget="code" options="{'mode': 'js'}" />
|
||||
<field name="webhook_sample_payload" string="Sample Payload" nolabel="1" colspan="2" readonly="1" widget="code" options="{'mode': 'javascript'}" />
|
||||
</group>
|
||||
</group>
|
||||
<field name="child_ids" domain="[('model_id', '=', model_id)]" invisible="state != 'multi'"/>
|
||||
|
|
@ -426,6 +419,7 @@
|
|||
<li><code>UserError</code>: exception class for raising user-facing warning messages</li>
|
||||
<li><code>Command</code>: x2many commands namespace</li>
|
||||
<li>To return an action, assign: <code>action = {...}</code></li>
|
||||
<li>To notify progress for CRON call and re-trigger a call if there is remaining tasks, use <code>env['ir.cron']._notify_progress(done=task_done_count, remaining=task_remaining_count)</code></li>
|
||||
</ul>
|
||||
<div >
|
||||
<p>Example of Python code:</p>
|
||||
|
|
@ -443,12 +437,12 @@ env['res.partner'].create({'name': partner_name})
|
|||
<field name="name">Server Actions</field>
|
||||
<field name="model">ir.actions.server</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Server Actions">
|
||||
<list string="Server Actions">
|
||||
<field name="name"/>
|
||||
<field name="state"/>
|
||||
<field name="model_id"/>
|
||||
<field name="usage"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_server_action_search" model="ir.ui.view">
|
||||
|
|
@ -470,20 +464,71 @@ env['res.partner'].create({'name': partner_name})
|
|||
<record id="action_server_action" model="ir.actions.act_window">
|
||||
<field name="name">Server Actions</field>
|
||||
<field name="res_model">ir.actions.server</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="path">server-actions</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="view_id" ref="view_server_action_tree"/>
|
||||
<field name="search_view_id" ref="view_server_action_search"/>
|
||||
<field name="context">{'key':'server_action'}</field>
|
||||
</record>
|
||||
<menuitem action="action_server_action" id="menu_server_action" parent="base.next_id_6"/>
|
||||
|
||||
<!-- ir.embedded.actions -->
|
||||
|
||||
<record id="embedded_action_form" model="ir.ui.view">
|
||||
<field name="name">ir.embedded.actions.form</field>
|
||||
<field name="model">ir.embedded.actions</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="parent_action_id"/>
|
||||
<field name="action_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="filter_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
<field name="is_deletable"/>
|
||||
<field name="default_view_mode"/>
|
||||
<field name="parent_res_model"/>
|
||||
<field name="domain"/>
|
||||
<field name="groups_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="embedded_action_tree" model="ir.ui.view">
|
||||
<field name="name">Embedded Actions</field>
|
||||
<field name="model">ir.embedded.actions</field>
|
||||
<field name="arch" type="xml">
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="parent_action_id"/>
|
||||
<field name="action_id"/>
|
||||
<field name="user_id"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="ir_embedded_action" model="ir.actions.act_window">
|
||||
<field name="name">Embedded Actions</field>
|
||||
<field name="res_model">ir.embedded.actions</field>
|
||||
<field name="view_id" ref="embedded_action_tree"/>
|
||||
</record>
|
||||
<menuitem action="ir_embedded_action" id="menu_ir_embedded_action" parent="base.next_id_6"/>
|
||||
|
||||
<!-- ir.actions.todo -->
|
||||
|
||||
<record id="ir_actions_todo_tree" model="ir.ui.view">
|
||||
<field name="model">ir.actions.todo</field>
|
||||
<field name="name">Config Wizard Steps</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Config Wizard Steps">
|
||||
<list string="Config Wizard Steps">
|
||||
<field name="sequence" widget='handle'/>
|
||||
<field name="action_id"/>
|
||||
<field name="state" readonly="1"/>
|
||||
|
|
@ -491,7 +536,7 @@ env['res.partner'].create({'name': partner_name})
|
|||
<button name="action_open" invisible="state != 'done'"
|
||||
string="Todo" type="object" help="Set as Todo"
|
||||
icon="fa-exchange"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="config_wizard_step_view_form" model="ir.ui.view">
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@
|
|||
<record id="asset_view_tree" model="ir.ui.view">
|
||||
<field name="model">ir.asset</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Assets">
|
||||
<list string="Assets">
|
||||
<field name="name"/>
|
||||
<field name="bundle"/>
|
||||
<field name="sequence"/>
|
||||
<field name="active"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -34,10 +34,10 @@
|
|||
</div>
|
||||
</group>
|
||||
<group name="description_group" string="Description" groups="base.group_no_one" colspan="4">
|
||||
<field name="description" nolabel="1" colspan="2"/>
|
||||
<field name="description" nolabel="1"/>
|
||||
</group>
|
||||
<group groups="base.group_no_one" string="Indexed Content" colspan="4">
|
||||
<field name="index_content" nolabel="1" colspan="2"/>
|
||||
<field name="index_content" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
<record id="view_attachment_tree" model="ir.ui.view">
|
||||
<field name="model">ir.attachment</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Attachments">
|
||||
<list string="Attachments">
|
||||
<field name="name"/>
|
||||
<field name="res_model"/>
|
||||
<field name="res_field"/>
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="create_uid"/>
|
||||
<field name="create_date"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_attachment_search" model="ir.ui.view">
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
<record model="ir.ui.view" id="view_ir_config_list">
|
||||
<field name="model">ir.config_parameter</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="System Parameters">
|
||||
<list string="System Parameters">
|
||||
<field name="key"/>
|
||||
<field name="value"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_ir_config_form">
|
||||
|
|
@ -34,6 +34,7 @@
|
|||
<record id="ir_config_list_action" model="ir.actions.act_window">
|
||||
<field name="name">System Parameters</field>
|
||||
<field name="res_model">ir.config_parameter</field>
|
||||
<field name="path">system-parameters</field>
|
||||
</record>
|
||||
<menuitem id="ir_config_menu" name="System Parameters" parent="menu_ir_property" action="ir_config_list_action"/>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@
|
|||
</record>
|
||||
|
||||
<record id="ir_cron_trigger_view_tree" model="ir.ui.view">
|
||||
<field name="name">ir.cron.trigger.view.tree</field>
|
||||
<field name="name">ir.cron.trigger.view.list</field>
|
||||
<field name="model">ir.cron.trigger</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Cron Triggers">
|
||||
<list string="Cron Triggers">
|
||||
<field name="cron_id"/>
|
||||
<field name="call_at"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
<record id="ir_cron_trigger_action" model="ir.actions.act_window">
|
||||
<field name="name">Scheduled Actions Triggers</field>
|
||||
<field name="res_model">ir.cron.trigger</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="ir_cron_trigger_menu"
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@
|
|||
</div>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
<field name="nextcall"/>
|
||||
<field name="numbercall"/>
|
||||
<field name="priority"/>
|
||||
<field name="doall"/>
|
||||
</xpath>
|
||||
<field name="state" position="attributes">
|
||||
<attribute name="invisible">1</attribute>
|
||||
|
|
@ -36,17 +34,15 @@
|
|||
<record id="ir_cron_view_tree" model="ir.ui.view">
|
||||
<field name="model">ir.cron</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Scheduled Actions" decoration-muted="(not active)">
|
||||
<list string="Scheduled Actions" decoration-muted="(not active)">
|
||||
<field name="priority"/>
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="nextcall"/>
|
||||
<field name="interval_number"/>
|
||||
<field name="interval_type"/>
|
||||
<field name="numbercall"/>
|
||||
<field name="user_id" column_invisible="True"/>
|
||||
<field name="active"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -56,7 +52,6 @@
|
|||
<field name="arch" type="xml">
|
||||
<calendar string="Scheduled Actions" date_start="nextcall" color="user_id">
|
||||
<field name="name"/>
|
||||
<field name="user_id" filters="1" invisible="1"/>
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
|
|
@ -86,7 +81,8 @@
|
|||
<record id="ir_cron_act" model="ir.actions.act_window">
|
||||
<field name="name">Scheduled Actions</field>
|
||||
<field name="res_model">ir.cron</field>
|
||||
<field name="view_mode">tree,form,calendar</field>
|
||||
<field name="path">crons</field>
|
||||
<field name="view_mode">list,form,calendar</field>
|
||||
<field name="context">{'search_default_all': 1}</field>
|
||||
<field name="view_id" ref="ir_cron_view_tree"/>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -24,16 +24,16 @@
|
|||
</record>
|
||||
|
||||
<record id="ir_default_tree_view" model="ir.ui.view">
|
||||
<field name="name">ir.default tree view</field>
|
||||
<field name="name">ir.default list view</field>
|
||||
<field name="model">ir.default</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="User-defined Defaults">
|
||||
<list string="User-defined Defaults">
|
||||
<field name="field_id"/>
|
||||
<field name="json_value"/>
|
||||
<field name="condition" optional="hide"/>
|
||||
<field name="user_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
<record id="ir_default_menu_action" model="ir.actions.act_window">
|
||||
<field name="name">User-defined Defaults</field>
|
||||
<field name="res_model">ir.default</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="ir_default_search_view"/>
|
||||
</record>
|
||||
<menuitem action="ir_default_menu_action" id="ir_default_menu" parent="next_id_6"/>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
<record id="ir_filters_view_tree" model="ir.ui.view">
|
||||
<field name="model">ir.filters</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Filters">
|
||||
<list string="Filters">
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="user_id"/>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
<field name="domain" groups="base.group_no_one"/>
|
||||
<field name="context" groups="base.group_no_one"/>
|
||||
<field name="sort" groups="base.group_no_one"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="ir_filters_view_search" model="ir.ui.view">
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
<record model="ir.ui.view" id="ir_logging_tree_view">
|
||||
<field name="model">ir.logging</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Logs">
|
||||
<list string="Logs">
|
||||
<field name="create_date" />
|
||||
<field name="create_uid" />
|
||||
<field name="dbname" />
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
<field name="path" />
|
||||
<field name="line" />
|
||||
<field name="func" />
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="ir_logging_search_view">
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
<record model="ir.actions.act_window" id="ir_logging_all_act">
|
||||
<field name="name">Logging</field>
|
||||
<field name="res_model">ir.logging</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="ir_logging_search_view" />
|
||||
</record>
|
||||
<menuitem parent="base.next_id_9" id="ir_logging_all_menu" action="ir_logging_all_act" />
|
||||
|
|
|
|||
|
|
@ -19,7 +19,17 @@
|
|||
</group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<div colspan="2" class="d-flex justify-content-between">
|
||||
<div>
|
||||
<label for="max_email_size"
|
||||
string="Convert attachments to links for emails over"/>
|
||||
<field name="max_email_size" class="oe_inline mx-1"/>
|
||||
<span class="o_form_label">MB</span>
|
||||
</div>
|
||||
<button class="btn btn-link pt-0" type="object" name="action_retrieve_max_email_size">
|
||||
<i class="fa fa-gear"/> Detect Max Limit
|
||||
</button>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
|
|
@ -62,14 +72,14 @@
|
|||
<record model="ir.ui.view" id="ir_mail_server_list">
|
||||
<field name="model">ir.mail_server</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Outgoing Mail Servers">
|
||||
<list string="Outgoing Mail Servers">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="smtp_host"/>
|
||||
<field name="smtp_user"/>
|
||||
<field name="smtp_encryption"/>
|
||||
<field name="from_filter" optional="hide"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -94,7 +104,7 @@
|
|||
<record model="ir.actions.act_window" id="action_ir_mail_server_list">
|
||||
<field name="name">Outgoing Mail Servers</field>
|
||||
<field name="res_model">ir.mail_server</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="view_id" ref="ir_mail_server_list" />
|
||||
<field name="search_view_id" ref="view_ir_mail_server_search"/>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="id" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="model" readonly="id"/>
|
||||
<field name="order"/>
|
||||
|
|
@ -49,7 +48,7 @@
|
|||
<notebook>
|
||||
<page string="Fields" name="fields">
|
||||
<field name="field_id">
|
||||
<tree string="Fields Description">
|
||||
<list string="Fields Description">
|
||||
<field name="name"/>
|
||||
<field name="field_description"/>
|
||||
<field name="ttype"/>
|
||||
|
|
@ -57,7 +56,7 @@
|
|||
<field name="readonly"/>
|
||||
<field name="index" groups="base.group_no_one"/>
|
||||
<field name="state" groups="base.group_no_one"/>
|
||||
</tree>
|
||||
</list>
|
||||
<form string="Fields Description">
|
||||
<group>
|
||||
<group>
|
||||
|
|
@ -113,11 +112,11 @@
|
|||
</group>
|
||||
<group invisible="ttype not in ['selection', 'reference']" readonly="ttype not in ['selection', 'reference']">
|
||||
<field name="selection_ids">
|
||||
<tree editable="bottom">
|
||||
<list editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="value"/>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
<group string="Advanced Properties" groups="base.group_no_one">
|
||||
|
|
@ -173,7 +172,7 @@
|
|||
</page>
|
||||
<page string="Access Rights" name="access_rights">
|
||||
<field name="access_ids">
|
||||
<tree string="Access Rights" editable="top"
|
||||
<list string="Access Rights" editable="top"
|
||||
decoration-warning="not group_id and
|
||||
(perm_read or perm_write or
|
||||
perm_create or perm_unlink)">
|
||||
|
|
@ -183,12 +182,12 @@
|
|||
<field name="perm_write"/>
|
||||
<field name="perm_create"/>
|
||||
<field name="perm_unlink"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Record Rules" name="record_rules">
|
||||
<field name="rule_ids">
|
||||
<tree string="Record Rules" editable="top" decoration-info="not groups">
|
||||
<list string="Record Rules" editable="top" decoration-info="not groups">
|
||||
<field name="name"/>
|
||||
<field name="groups" widget="many2many_tags" options="{'no_create':True}"/>
|
||||
<field name="domain_force"/>
|
||||
|
|
@ -196,7 +195,7 @@
|
|||
<field name="perm_write"/>
|
||||
<field name="perm_create"/>
|
||||
<field name="perm_unlink"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Notes" name="notes" groups="base.group_no_one">
|
||||
|
|
@ -213,12 +212,12 @@
|
|||
<record id="view_model_tree" model="ir.ui.view">
|
||||
<field name="model">ir.model</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Model Description">
|
||||
<list string="Model Description">
|
||||
<field name="model"/>
|
||||
<field name="name"/>
|
||||
<field name="state"/>
|
||||
<field name="transient"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_model_search" model="ir.ui.view">
|
||||
|
|
@ -247,7 +246,6 @@
|
|||
<field name="model">ir.model.fields</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Fields" duplicate="false">
|
||||
<field name="state" invisible="1"/>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
|
|
@ -340,11 +338,11 @@
|
|||
</group>
|
||||
<group invisible="ttype not in ['selection', 'reference']" readonly="ttype not in ['selection', 'reference']">
|
||||
<field name="selection_ids">
|
||||
<tree editable="bottom">
|
||||
<list editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="value"/>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
<group string="Advanced Properties" groups="base.group_no_one">
|
||||
|
|
@ -397,7 +395,7 @@
|
|||
<record id="view_model_fields_tree" model="ir.ui.view">
|
||||
<field name="model">ir.model.fields</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Fields" duplicate="false">
|
||||
<list string="Fields" duplicate="false">
|
||||
<field name="name"/>
|
||||
<field name="field_description"/>
|
||||
<field name="model_id"/>
|
||||
|
|
@ -407,7 +405,7 @@
|
|||
<field name="store"/>
|
||||
<field name="readonly"/>
|
||||
<field name="relation"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_model_fields_search" model="ir.ui.view">
|
||||
|
|
@ -462,12 +460,12 @@
|
|||
<record id="view_model_fields_selection_tree" model="ir.ui.view">
|
||||
<field name="model">ir.model.fields.selection</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="field_id"/>
|
||||
<field name="value"/>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_model_fields_selection_search" model="ir.ui.view">
|
||||
|
|
@ -511,7 +509,7 @@
|
|||
<group>
|
||||
<field name="display_name"/>
|
||||
<field name="model"/>
|
||||
<field name="res_id"/>
|
||||
<field name="res_id" widget="many2one_reference_integer"/>
|
||||
<field name="reference" widget="reference" string="Record"/>
|
||||
</group>
|
||||
</group>
|
||||
|
|
@ -522,13 +520,12 @@
|
|||
<record id="view_model_data_list" model="ir.ui.view">
|
||||
<field name="model">ir.model.data</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="External Identifiers">
|
||||
<list string="External Identifiers">
|
||||
<field name="complete_name"/>
|
||||
<field name="display_name"/>
|
||||
<field name="model" groups="base.group_no_one"/>
|
||||
<field name="module" column_invisible="True"/>
|
||||
<field name="res_id"/>
|
||||
</tree>
|
||||
<field name="res_id" widget="many2one_reference_integer"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_model_data_search" model="ir.ui.view">
|
||||
|
|
@ -579,12 +576,12 @@
|
|||
<record id="view_model_constraint_list" model="ir.ui.view">
|
||||
<field name="model">ir.model.constraint</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Model Constraints">
|
||||
<list string="Model Constraints">
|
||||
<field name="type"/>
|
||||
<field name="name"/>
|
||||
<field name="module"/>
|
||||
<field name="model"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -631,11 +628,11 @@
|
|||
<record id="view_model_relation_list" model="ir.ui.view">
|
||||
<field name="model">ir.model.relation</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="ManyToMany Relations">
|
||||
<list string="ManyToMany Relations">
|
||||
<field name="name"/>
|
||||
<field name="module"/>
|
||||
<field name="model"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_model_relation" model="ir.actions.act_window">
|
||||
|
|
@ -648,10 +645,10 @@
|
|||
|
||||
<!-- ir.model.access -->
|
||||
<record id="ir_access_view_tree" model="ir.ui.view">
|
||||
<field name="name">ir.model.access.view.tree</field>
|
||||
<field name="name">ir.model.access.view.list</field>
|
||||
<field name="model">ir.model.access</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Access Rights"
|
||||
<list string="Access Rights"
|
||||
decoration-warning="not group_id and
|
||||
(perm_read or perm_write or
|
||||
perm_create or perm_unlink)">
|
||||
|
|
@ -662,14 +659,14 @@
|
|||
<field name="perm_write"/>
|
||||
<field name="perm_create"/>
|
||||
<field name="perm_unlink"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="ir_access_view_tree_edition" model="ir.ui.view">
|
||||
<field name="name">ir.model.access.view.tree.edition</field>
|
||||
<field name="name">ir.model.access.view.list.edition</field>
|
||||
<field name="model">ir.model.access</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Access Rights" editable="top"
|
||||
<list string="Access Rights" editable="top"
|
||||
decoration-warning="not group_id and
|
||||
(perm_read or perm_write or
|
||||
perm_create or perm_unlink)">
|
||||
|
|
@ -680,7 +677,7 @@
|
|||
<field name="perm_write"/>
|
||||
<field name="perm_create"/>
|
||||
<field name="perm_unlink"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="ir_access_view_form" model="ir.ui.view">
|
||||
|
|
@ -731,6 +728,7 @@
|
|||
<record id="ir_access_act" model="ir.actions.act_window">
|
||||
<field name="name">Access Rights</field>
|
||||
<field name="res_model">ir.model.access</field>
|
||||
<field name="path">access-rights</field>
|
||||
<field name="view_id" ref="ir_access_view_tree_edition"/>
|
||||
<field name="search_view_id" ref="ir_access_view_search"/>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -63,9 +63,6 @@
|
|||
</h4>
|
||||
|
||||
<div>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="to_buy" invisible="1"/>
|
||||
<field name="has_iap" invisible="1"/>
|
||||
<button name="button_immediate_install" string="Activate" invisible="to_buy or state != 'uninstalled'" type="object" class="btn btn-primary me-1" groups="base.group_system"/>
|
||||
<a href="https://odoo.com/pricing?utm_source=db&utm_medium=module#hosting=on_premise" target="_blank" class="btn btn-primary me-1"
|
||||
invisible="not to_buy or state not in ('uninstalled', 'uninstallable')" role="button">Upgrade</a>
|
||||
|
|
@ -97,19 +94,19 @@
|
|||
</group>
|
||||
<group>
|
||||
<group string="Dependencies">
|
||||
<field name="dependencies_id" colspan="2" nolabel="1">
|
||||
<tree string="Dependencies">
|
||||
<field name="dependencies_id" nolabel="1">
|
||||
<list string="Dependencies">
|
||||
<field name="name"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
<group string="Exclusions">
|
||||
<field name="exclusion_ids" colspan="2" nolabel="1">
|
||||
<tree string="Exclusions">
|
||||
<field name="exclusion_ids" nolabel="1">
|
||||
<list string="Exclusions">
|
||||
<field name="name"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
</group>
|
||||
|
|
@ -129,10 +126,10 @@
|
|||
</field>
|
||||
</record>
|
||||
<record id="module_tree" model="ir.ui.view">
|
||||
<field name="name">ir.module.module.tree</field>
|
||||
<field name="name">ir.module.module.list</field>
|
||||
<field name="model">ir.module.module</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree create="false" string="Apps" decoration-info="state == 'uninstalled'" decoration-muted="state == 'uninstallable'">
|
||||
<list create="false" string="Apps" decoration-info="state == 'uninstalled'" decoration-muted="state == 'uninstallable'">
|
||||
<header>
|
||||
<button name="button_immediate_install" type="object" string="Activate" groups="base.group_system"/>
|
||||
<button name="button_immediate_upgrade" type="object" string="Upgrade" groups="base.group_system"/>
|
||||
|
|
@ -146,17 +143,14 @@
|
|||
decoration-muted="state == 'uninstallable'"
|
||||
decoration-info="state == 'uninstalled'"
|
||||
decoration-success="state == 'installed'"/>
|
||||
<field name="category_id" column_invisible="True"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="module_view_kanban">
|
||||
<field name="name">Apps Kanban</field>
|
||||
<field name="model">ir.module.module</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban create="false" class="o_modules_kanban">
|
||||
<field name="icon"/>
|
||||
<field name="icon_flag"/>
|
||||
<kanban create="false" can_open="0" class="o_modules_kanban">
|
||||
<field name="to_buy"/>
|
||||
<field name="name"/>
|
||||
<field name="state"/>
|
||||
|
|
@ -164,38 +158,34 @@
|
|||
<field name="website"/>
|
||||
<field name="application"/>
|
||||
<templates>
|
||||
<t t-name="kanban-menu">
|
||||
<t t-name="menu">
|
||||
<t t-set="installed" t-value="record.state.raw_value == 'installed'"/>
|
||||
<a type="edit" class="dropdown-item">Module Info</a>
|
||||
<a type="open" class="dropdown-item">Module Info</a>
|
||||
<a t-if="record.website.raw_value" role="menuitem" class="dropdown-item o-hidden-ios" t-att-href="record.website.raw_value" target="_blank">Learn More</a>
|
||||
<a t-if="installed" name="button_immediate_upgrade" type="object" role="menuitem" class="dropdown-item" groups="base.group_system">Upgrade</a>
|
||||
<a t-if="installed" name="button_uninstall_wizard" type="object" role="menuitem" class="dropdown-item" groups="base.group_system">Uninstall</a>
|
||||
</t>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_module_vignette">
|
||||
<div class="oe_module_icon">
|
||||
<img t-attf-src="#{record.icon.value}" class="w-100" alt="Icon"/>
|
||||
<span t-if="record.icon_flag" class="oe_module_flag"><t t-out="record.icon_flag.raw_value"/></span>
|
||||
</div>
|
||||
<div class="oe_module_desc" t-att-title="record.shortdesc.value">
|
||||
<h4 class="o_kanban_record_title">
|
||||
<field name="shortdesc"/>&nbsp;
|
||||
</h4>
|
||||
<p class="oe_module_name">
|
||||
<field groups="!base.group_no_one" name="summary"/>
|
||||
<code groups="base.group_no_one"><field name="name"/></code>
|
||||
</p>
|
||||
<div class="oe_module_action d-flex flex-wrap justify-content-between">
|
||||
<button type="object" class="btn btn-primary btn-sm" name="button_immediate_install" invisible="state != 'uninstalled'" t-if="! record.to_buy.raw_value" groups="base.group_system">Activate</button>
|
||||
<div t-if="installed" class="d-flex align-items-center text-muted float-start">Installed</div>
|
||||
<a t-att-href="record.website.raw_value" target="_blank" invisible="website in (False, '')" class="btn btn-sm btn-secondary float-end o-hidden-ios" role="button">Learn More</a>
|
||||
<a type="edit" class="btn btn-secondary btn-sm float-end" role="button" invisible="website != ''">Module Info</a>
|
||||
<a href="https://odoo.com/pricing?utm_source=db&utm_medium=module#hosting=on_premise" target="_blank" class="btn btn-info btn-sm" invisible="state not in ('uninstalled', 'uninstallable')" t-if="record.to_buy.raw_value" role="button" groups="base.group_system">Upgrade</a>
|
||||
<button invisible="state != 'to remove'" type="object" class="btn btn-sm btn-primary" name="button_uninstall_cancel" groups="base.group_system">Cancel Uninstall</button>
|
||||
<button invisible="state != 'to install'" type="object" class="btn btn-sm btn-primary" name="button_install_cancel" groups="base.group_system">Cancel Install</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<t t-name="card" class="flex-row align-items-center">
|
||||
<aside>
|
||||
<field name="icon" widget="image_url" options="{'size': [50, 50]}" alt="Icon"/>
|
||||
<field t-if="record.icon_flag" name="icon_flag" class="oe_module_flag"/>
|
||||
</aside>
|
||||
<main class="me-4" t-att-title="record.shortdesc.value">
|
||||
<field class="fw-bold fs-5" name="shortdesc"/>
|
||||
<p class="text-muted small my-0 lh-sm">
|
||||
<field groups="!base.group_no_one" name="summary"/>
|
||||
<code groups="base.group_no_one"><field name="name"/></code>
|
||||
</p>
|
||||
<footer class="w-100 justify-content-between">
|
||||
<button type="object" class="btn btn-primary btn-sm" name="button_immediate_install" invisible="state != 'uninstalled'" t-if="! record.to_buy.raw_value" groups="base.group_system">Activate</button>
|
||||
<div t-if="installed" class="d-flex align-items-center text-muted float-start">Installed</div>
|
||||
<a t-att-href="record.website.raw_value" target="_blank" invisible="website in (False, '')" class="btn btn-sm btn-secondary float-end o-hidden-ios" role="button">Learn More</a>
|
||||
<a type="edit" class="btn btn-secondary btn-sm float-end" role="button" invisible="website != ''">Module Info</a>
|
||||
<a href="https://odoo.com/pricing?utm_source=db&utm_medium=module#hosting=on_premise" target="_blank" class="btn btn-info btn-sm" invisible="state not in ('uninstalled', 'uninstallable')" t-if="record.to_buy.raw_value" role="button" groups="base.group_system">Upgrade</a>
|
||||
<button invisible="state != 'to remove'" type="object" class="btn btn-sm btn-primary" name="button_uninstall_cancel" groups="base.group_system">Cancel Uninstall</button>
|
||||
<button invisible="state != 'to install'" type="object" class="btn btn-sm btn-primary" name="button_install_cancel" groups="base.group_system">Cancel Install</button>
|
||||
</footer>
|
||||
</main>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
|
|
@ -203,8 +193,9 @@
|
|||
</record>
|
||||
<record id="open_module_tree" model="ir.actions.act_window">
|
||||
<field name="name">Apps</field>
|
||||
<field name="path">apps</field>
|
||||
<field name="res_model">ir.module.module</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="context">{'search_default_app':1}</field>
|
||||
<field name="search_view_id" ref="view_module_filter"/>
|
||||
<field name="help" type="html">
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<field name="name">IR Profile List</field>
|
||||
<field name="model">ir.profile</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Profile Session" default_order="session desc, id desc">
|
||||
<list string="Profile Session" default_order="session desc, id desc">
|
||||
<field name="create_date"/>
|
||||
<field name="session"/>
|
||||
<field name="name"/>
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
<field name="sql_count" optional="hide"/>
|
||||
<field name="speedscope_url" widget="url"/>
|
||||
<field name="duration"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
<field name="speedscope_url" widget="url"/>
|
||||
</group>
|
||||
<group invisible="not qweb">
|
||||
<field name="qweb" widget="profiling_qweb_view" nolabel="1" colspan="2"/>
|
||||
<field name="qweb" widget="profiling_qweb_view" nolabel="1"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
<record id="action_menu_ir_profile" model="ir.actions.act_window">
|
||||
<field name="name">Ir profile</field>
|
||||
<field name="res_model">ir.profile</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="context">{'search_default_group_session': 1}</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<!-- Properties -->
|
||||
<record id="ir_property_view_search" model="ir.ui.view">
|
||||
<field name="name">ir.property.search</field>
|
||||
<field name="model">ir.property</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Parameters">
|
||||
<field name="name" string="Name"/>
|
||||
<filter string="Generic" name="generic"
|
||||
help="Parameters that are used by all resources."
|
||||
domain="[('res_id','=',False)]"/>
|
||||
<field name="fields_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="ir_property_view" model="ir.ui.view">
|
||||
<field name="name">ir.property.form</field>
|
||||
<field name="model">ir.property</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Parameters">
|
||||
<sheet>
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="fields_id"/>
|
||||
<field name="type"/>
|
||||
<field name="res_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="value_integer" string="Value" invisible="type not in ('integer', 'boolean')"/>
|
||||
<field name="value_float" string="Value" invisible="type != 'float'"/>
|
||||
<field name="value_datetime" string="Value" invisible="type not in ('date', 'datetime')"/>
|
||||
<field name="value_text" string="Value" invisible="type not in ('char', 'text', 'selection')"/>
|
||||
<field name="value_reference" string="Value" invisible="type != 'many2one'"/>
|
||||
<field name="value_binary" string="Value" invisible="type != 'binary'"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="ir_property_view_tree" model="ir.ui.view">
|
||||
<field name="name">ir.property.tree</field>
|
||||
<field name="model">ir.property</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Parameters">
|
||||
<field name="name"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="fields_id"/>
|
||||
<field name="res_id"/>
|
||||
<field name="type"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="ir_property_form" model="ir.actions.act_window">
|
||||
<field name="name">Company Properties</field>
|
||||
<field name="res_model">ir.property</field>
|
||||
<field name="view_id" ref="ir_property_view_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_ir_property_form_all" parent="menu_ir_property" action="ir_property_form"/>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -15,17 +15,18 @@
|
|||
</template>
|
||||
|
||||
<template id="contact">
|
||||
<address t-ignore="true" class="o_portal_address mb-0" itemscope="itemscope" itemtype="http://schema.org/Organization">
|
||||
<address t-ignore="true" class="o_portal_address mb-0">
|
||||
<div t-if="not (('name' in fields) or (address and 'address' in fields) or (city and 'city' in fields) or (mobile and 'mobile' in fields) or (website and 'website' in fields) or (email and 'email' in fields))" class="css_non_editable_mode_hidden">
|
||||
--<span class="text-muted" t-esc="name"/>--
|
||||
</div>
|
||||
<t t-if="object.country_id.name_position != 'after'">
|
||||
<t t-call="base.contact_name"/>
|
||||
</t>
|
||||
<div class="gap-2" itemprop="address" itemscope="itemscope" itemtype="http://schema.org/PostalAddress">
|
||||
<div class="gap-2" t-att-itemprop="options.get('with_microdata') and 'address'" itemscope="itemscope" itemtype="http://schema.org/PostalAddress">
|
||||
|
||||
<div t-if="address and 'address' in fields" t-attf-class="d-flex align-items-baseline gap-1">
|
||||
<i t-if="not options.get('no_marker')" class="fa fa-map-marker fa-fw" role="img" aria-label="Address" title="Address"/>
|
||||
<span class="d-block w-100 lh-sm" itemprop="streetAddress" t-esc="address"/>
|
||||
<span class="w-100 lh-sm text-break d-block" itemprop="streetAddress" t-esc="address"/>
|
||||
</div>
|
||||
<div t-if="city and 'city' in fields" t-attf-class="d-flex align-items-baseline gap-1">
|
||||
<i t-if="not options.get('no_marker')" class="fa fa-map-marker fa-fw" role="img" aria-label="Address" title="Address"/>
|
||||
|
|
@ -44,11 +45,11 @@
|
|||
</div>
|
||||
<!-- Prevent issue with iOS Safari parsing of schema data without telephone itemprops -->
|
||||
<div t-if="not (phone and 'phone' in fields) and not (mobile and 'mobile' in fields)" itemprop="telephone"/>
|
||||
<div class="d-flex align-items-center gap-1" t-if="website and 'website' in fields">
|
||||
<div class="d-flex align-items-baseline gap-1" t-if="website and 'website' in fields">
|
||||
<i t-if="not options.get('no_marker')" class='fa fa-globe fa-fw' role="img" aria-label="Website" title="Website"/>
|
||||
<a t-att-href="website and '%s%s' % ('http://' if '://' not in website else '',website)"><span itemprop="website" t-esc="website"/></a>
|
||||
<a class="text-break w-100" t-att-href="website and '%s%s' % ('http://' if '://' not in website else '',website)"><span itemprop="website" t-esc="website"/></a>
|
||||
</div>
|
||||
<div class="d-flex align-items-center gap-1" t-if="email and 'email' in fields"><i t-if="not options.get('no_marker')" class='fa fa-envelope fa-fw' role="img" aria-label="Email" title="Email"/> <span class="text-break" itemprop="email" t-esc="email"/></div>
|
||||
<div class="d-flex align-items-baseline gap-1" t-if="email and 'email' in fields"><i t-if="not options.get('no_marker')" class='fa fa-envelope fa-fw' role="img" aria-label="Email" title="Email"/> <span class="text-break w-100" itemprop="email" t-esc="email"/></div>
|
||||
</div>
|
||||
<div t-if="vat and 'vat' in fields"><span t-esc="vat_label"/>: <span itemprop="vatID" t-esc="vat"/></div>
|
||||
<t t-if="object.country_id and object.country_id.name_position == 'after'">
|
||||
|
|
@ -58,8 +59,8 @@
|
|||
</template>
|
||||
|
||||
<template id="no_contact">
|
||||
<address t-ignore="true" class="mb-0" itemscope="itemscope" itemtype="http://schema.org/Organization">
|
||||
<div itemprop="address" itemscope="itemscope" itemtype="http://schema.org/PostalAddress">
|
||||
<address t-ignore="true" class="mb-0">
|
||||
<div>
|
||||
<div class="d-flex align-items-baseline">
|
||||
<i t-if="not options.get('no_marker')" class="fa fa-map-marker fa-fw" role="img" aria-label="Address" title="Address"/>
|
||||
<span class="w-100 o_force_ltr d-block" t-out="options.get('null_text')"/>
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
<record id="view_rule_tree" model="ir.ui.view">
|
||||
<field name="model">ir.rule</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Record Rules" decoration-info="not groups">
|
||||
<list string="Record Rules" decoration-info="not groups">
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="groups" widget="many2many_tags" options="{'no_create':True}"/>
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
<field name="perm_write" width="85px"/>
|
||||
<field name="perm_create" width="85px"/>
|
||||
<field name="perm_unlink" width="85px"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -98,19 +98,10 @@
|
|||
<record id="action_rule" model="ir.actions.act_window">
|
||||
<field name="name">Record Rules</field>
|
||||
<field name="res_model">ir.rule</field>
|
||||
<field name="path">record-rules</field>
|
||||
<field name="view_id" ref="view_rule_tree"/>
|
||||
<field name="search_view_id" ref="view_rule_search"/>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_rule" id="menu_action_rule" parent="base.menu_security" sequence="3"/>
|
||||
|
||||
|
||||
<record id="property_rule" model="ir.rule">
|
||||
<field name="name">Property multi-company</field>
|
||||
<field name="model_id" ref="model_ir_property"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -32,11 +32,11 @@
|
|||
</group>
|
||||
</group>
|
||||
<field name="date_range_ids" invisible="not use_date_range">
|
||||
<tree string="Sequences" editable="top">
|
||||
<list string="Sequences" editable="top">
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<field name="number_next_actual" string="Next Number"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
<group col="3" string="Legend (for prefix, suffix)">
|
||||
<group>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
<record id="sequence_view_tree" model="ir.ui.view">
|
||||
<field name="model">ir.sequence</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Sequences">
|
||||
<list string="Sequences">
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="prefix"/>
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
<field name="number_next_actual" string="Next Number"/>
|
||||
<field name="number_increment"/>
|
||||
<field name="implementation"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Menu">
|
||||
<sheet>
|
||||
<field name="active" invisible="1"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
|
|
@ -27,10 +26,10 @@
|
|||
<!-- Note: make sure you have 'ir.ui.menu.full_list'
|
||||
in the context to see all submenus! -->
|
||||
<field name="child_id" context="{'default_parent_id': id}">
|
||||
<tree string="Menu">
|
||||
<list string="Menu">
|
||||
<field name="sequence"/>
|
||||
<field icon="icon" name="name" string="Menu"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
|
|
@ -43,10 +42,10 @@
|
|||
<field name="model">ir.ui.menu</field>
|
||||
<field name="priority" eval="8"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Menu">
|
||||
<list string="Menu">
|
||||
<field name="sequence" widget='handle'/>
|
||||
<field icon="icon" name="complete_name" string="Menu"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
<group>
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="model" invisible="True"/>
|
||||
<field name="model_id"/>
|
||||
<field name="priority"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
|
|
@ -26,6 +25,9 @@
|
|||
Be aware that editing the architecture of a standard view is not advised, since the changes will be overwritten during future module updates.<br/>
|
||||
We recommend applying modifications to standard views through inherited views or customization with Odoo Studio.
|
||||
</div>
|
||||
<div class="alert alert-warning" role="alert" invisible="not warning_info">
|
||||
<field name="warning_info"/>
|
||||
</div>
|
||||
<notebook>
|
||||
<page string="Architecture" name="architecture">
|
||||
<field name="arch_db" class="oe_edit_only oe_no_translation_content"/>
|
||||
|
|
@ -36,13 +38,15 @@
|
|||
</page>
|
||||
<page name="inherit_children" string="Inherited Views">
|
||||
<field name="inherit_children_ids" context="{'default_model':model,'default_type':type,'default_inherit_id':id,'default_mode':'extension', 'active_test': False}">
|
||||
<tree default_order="priority,id" decoration-muted="not active">
|
||||
<field name="active" column_invisible="True"/>
|
||||
<list default_order="priority,id" decoration-muted="not active">
|
||||
<field name="id"/>
|
||||
<field name="priority"/>
|
||||
<field name="name"/>
|
||||
<field name="xml_id"/>
|
||||
</tree>
|
||||
<field name="active" invisible="1" />
|
||||
<!-- Manually add active here. Otherwise that field will be readonly for the sub-list,
|
||||
preventing saving changes done from a widget in the sub-form -->
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
|
|
@ -54,14 +58,14 @@
|
|||
<record id="view_view_tree" model="ir.ui.view">
|
||||
<field name="model">ir.ui.view</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Views">
|
||||
<list string="Views">
|
||||
<field name="priority" string="Sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="model"/>
|
||||
<field name="xml_id" groups="base.group_no_one"/>
|
||||
<field name="inherit_id"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -76,7 +80,7 @@
|
|||
<field name="type"/>
|
||||
<field name="arch_db" string="View Architecture"/>
|
||||
<filter string="Form" name="form" domain="[('type', '=','form')]"/>
|
||||
<filter string="Tree" name="tree" domain="[('type', '=', 'tree')]"/>
|
||||
<filter string="List" name="list" domain="[('type', '=', 'list')]"/>
|
||||
<filter string="Kanban" name="kanban" domain="[('type', '=', 'kanban')]"/>
|
||||
<filter string="Search" name="search" domain="[('type', '=', 'search')]"/>
|
||||
<filter string="QWeb" name="qweb" domain="[('type', '=', 'qweb')]"/>
|
||||
|
|
@ -112,8 +116,8 @@
|
|||
<form string="Reset View Architecture">
|
||||
<group>
|
||||
<group>
|
||||
<field name="has_diff" invisible="1"/>
|
||||
<field name="view_id" invisible="1"/>
|
||||
<field name="has_diff" invisible="1"/> <!-- The field compute method update the value of 'view_id' -->
|
||||
<field name="view_id" invisible="1"/> <!-- Save the value updated from 'has_diff' compute -->
|
||||
<field name="view_name"/>
|
||||
<field name="compare_view_id" invisible="reset_mode != 'other_view'" options="{'no_create': True, 'no_open': True}"/>
|
||||
</group>
|
||||
|
|
@ -164,10 +168,10 @@
|
|||
<record id="view_view_custom_tree" model="ir.ui.view">
|
||||
<field name="model">ir.ui.view.custom</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Customized Views">
|
||||
<list string="Customized Views">
|
||||
<field name="user_id"/>
|
||||
<field name="ref_id"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
<field name="name">paper_format_view_tree</field>
|
||||
<field name="model">report.paperformat</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Paper format configuration">
|
||||
<list string="Paper format configuration">
|
||||
<field name="name" />
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="paperformat_view_form" model="ir.ui.view">
|
||||
|
|
@ -40,12 +40,12 @@
|
|||
<record id="paper_format_action" model="ir.actions.act_window">
|
||||
<field name="name">Paper Format General Configuration</field>
|
||||
<field name="res_model">report.paperformat</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
<record id='reports_action' model='ir.actions.act_window'>
|
||||
<field name="name">Reports</field>
|
||||
<field name="res_model">ir.actions.report</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
<menuitem
|
||||
id="reporting_menuitem"
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@
|
|||
<group name="communication_details">
|
||||
<field name="phone" class="o_force_ltr"/>
|
||||
<field name="email" widget="email"/>
|
||||
<field name="active" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
|
|
@ -37,14 +36,14 @@
|
|||
</record>
|
||||
|
||||
<record id="view_res_bank_tree" model="ir.ui.view">
|
||||
<field name="name">res.bank.tree</field>
|
||||
<field name="name">res.bank.list</field>
|
||||
<field name="model">res.bank</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Banks">
|
||||
<list string="Banks">
|
||||
<field name="name"/>
|
||||
<field name="bic"/>
|
||||
<field name="country"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -63,7 +62,7 @@
|
|||
<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="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="res_bank_view_search"/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
|
|
@ -84,38 +83,37 @@
|
|||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="acc_type" invisible="1"/>
|
||||
<field name="acc_number"/>
|
||||
<field name="bank_id"/>
|
||||
<field name="acc_holder_name"/>
|
||||
<field name="partner_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
||||
<field name="currency_id" groups="base.group_multi_currency" options="{'no_create': True}"/>
|
||||
<field name="allow_out_payment" widget="boolean_toggle"/>
|
||||
<field name="active" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<footer replace="0">
|
||||
<button name="action_archive_bank" type="object" string="Archive" class="btn btn-secondary"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_partner_bank_tree" model="ir.ui.view">
|
||||
<field name="name">res.partner.bank.tree</field>
|
||||
<field name="name">res.partner.bank.list</field>
|
||||
<field name="model">res.partner.bank</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Bank Accounts" multi_edit="1">
|
||||
<list string="Bank Accounts" multi_edit="1" decoration-muted="(not active)">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="acc_number"/>
|
||||
<field name="bank_name" string="Bank"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="acc_holder_name" column_invisible="True"/>
|
||||
<field name="allow_out_payment" widget="boolean_toggle"/>
|
||||
</tree>
|
||||
<field name="bank_name" string="Bank" optional="show"/>
|
||||
<field name="company_id" groups="base.group_multi_company" optional="hide"/>
|
||||
<field name="partner_id" optional="hide"/>
|
||||
<field name="allow_out_payment" widget="boolean_toggle" optional="show"/>
|
||||
<field name="active" widget="boolean_toggle" optional="hide"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -127,6 +125,8 @@
|
|||
<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"/>
|
||||
<separator/>
|
||||
<filter name="inactive" string="Archived" domain="[('active','=',False)]" help="Show inactive bank account"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
|
@ -134,7 +134,7 @@
|
|||
<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="view_mode">list,form</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a Bank Account
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
<field name="model">res.company</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Company" duplicate="0">
|
||||
<field name="all_child_ids" invisible="1"/>
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button class="oe_stat_button"
|
||||
|
|
@ -47,8 +46,6 @@
|
|||
<field name="email"/>
|
||||
<field name="website" string="Website" widget="url" placeholder="e.g. https://www.odoo.com"/>
|
||||
<field name="parent_id" groups="base.group_no_one"/>
|
||||
<field name="parent_id" invisible="1"/>
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="color" widget="color_picker"/>
|
||||
</group>
|
||||
<group name="social_media"/>
|
||||
|
|
@ -63,16 +60,15 @@
|
|||
</field>
|
||||
</record>
|
||||
<record id="view_company_tree" model="ir.ui.view">
|
||||
<field name="name">res.company.tree</field>
|
||||
<field name="name">res.company.list</field>
|
||||
<field name="model">res.company</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Companies" decoration-muted="not active">
|
||||
<list string="Companies" decoration-muted="not active">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="partner_id" required="0"/>
|
||||
<field name="child_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_res_company_kanban" model="ir.ui.view">
|
||||
|
|
@ -80,39 +76,34 @@
|
|||
<field name="model">res.company</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban>
|
||||
<field name="name"/>
|
||||
<field name="email"/>
|
||||
<field name="phone"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div t-attf-class="oe_kanban_global_click">
|
||||
<div t-attf-class="#{!selection_mode ? 'text-center' : ''}">
|
||||
<i class="fa fa-building" role="img" aria-label="Enterprise" title="Enterprise"></i> <strong><field name="name"/></strong>
|
||||
<t t-name="card">
|
||||
<div t-attf-class="#{!selection_mode ? 'text-center' : ''}">
|
||||
<i class="fa fa-building" role="img" aria-label="Enterprise" title="Enterprise"></i> <field class="fw-bold fs-5" name="name"/>
|
||||
</div>
|
||||
<hr class="mt4 mb4"/>
|
||||
<div class="row" t-if="!selection_mode">
|
||||
<div t-if="record.email.value" class="col-6 text-center">
|
||||
<strong>Email:</strong>
|
||||
</div>
|
||||
<hr class="mt4 mb4"/>
|
||||
<div class="row" t-if="!selection_mode">
|
||||
<div t-if="record.email.value" class="col-6 text-center">
|
||||
<strong>Email:</strong>
|
||||
</div>
|
||||
<div t-if="record.phone.value" class="col-6 text-center">
|
||||
<strong>Phone</strong>
|
||||
</div>
|
||||
<div t-if="record.email.value" class="col-6 text-center">
|
||||
<field name="email"/>
|
||||
</div>
|
||||
<div t-if="record.phone.value" class="col-6 text-center o_force_ltr">
|
||||
<field name="phone"/>
|
||||
</div>
|
||||
<div t-if="record.phone.value" class="col-6 text-center">
|
||||
<strong>Phone</strong>
|
||||
</div>
|
||||
<div t-else="">
|
||||
<div t-if="record.email.value">
|
||||
<strong>Email:</strong>
|
||||
<field name="email"/>
|
||||
</div>
|
||||
<div t-if="record.phone.value" class="o_force_ltr">
|
||||
<strong>Phone:</strong>
|
||||
<field name="phone"/>
|
||||
</div>
|
||||
<div t-if="record.email.value" class="col-6 text-center">
|
||||
<field name="email"/>
|
||||
</div>
|
||||
<div t-if="record.phone.value" class="col-6 text-center o_force_ltr">
|
||||
<field name="phone"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-else="">
|
||||
<div t-if="record.email.value">
|
||||
<strong>Email:</strong>
|
||||
<field name="email"/>
|
||||
</div>
|
||||
<div t-if="record.phone.value" class="o_force_ltr">
|
||||
<strong>Phone:</strong>
|
||||
<field name="phone"/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
|
@ -123,7 +114,8 @@
|
|||
<record id="action_res_company_form" model="ir.actions.act_window">
|
||||
<field name="name">Companies</field>
|
||||
<field name="res_model">res.company</field>
|
||||
<field name="view_mode">tree,kanban,form</field>
|
||||
<field name="path">companies</field>
|
||||
<field name="view_mode">list,kanban,form</field>
|
||||
<field name="domain">[('parent_id', '=', False)]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
|
|
|
|||
|
|
@ -16,19 +16,5 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_config_installer" model="ir.ui.view">
|
||||
<field name="name">Inheritable view for installer objects</field>
|
||||
<field name="model">res.config.installer</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Configuration Installer">
|
||||
<separator string="title" colspan="4"/>
|
||||
<footer>
|
||||
<button name="action_next" type="object" string="Install Apps" class="btn-primary" data-hotkey="q"/>
|
||||
<button string="Skip" class="btn-secondary" special="cancel" data-hotkey="x"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@
|
|||
Country
|
||||
-->
|
||||
<record id="view_country_tree" model="ir.ui.view">
|
||||
<field name="name">res.country.tree</field>
|
||||
<field name="name">res.country.list</field>
|
||||
<field name="model">res.country</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Country" create="0" delete="0">
|
||||
<list string="Country" create="0" delete="0">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -52,10 +52,10 @@
|
|||
</group>
|
||||
<label for="state_ids"/>
|
||||
<field name="state_ids">
|
||||
<tree editable="bottom">
|
||||
<list editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</sheet>
|
||||
</form>
|
||||
|
|
@ -86,12 +86,12 @@
|
|||
</record>
|
||||
|
||||
<record id="view_country_group_tree" model="ir.ui.view">
|
||||
<field name="name">res.country.group.tree</field>
|
||||
<field name="name">res.country.group.list</field>
|
||||
<field name="model">res.country.group</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Country Group">
|
||||
<list string="Country Group">
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -127,14 +127,14 @@
|
|||
|
||||
<!-- State -->
|
||||
<record id="view_country_state_tree" model="ir.ui.view">
|
||||
<field name="name">res.country.state.tree</field>
|
||||
<field name="name">res.country.state.list</field>
|
||||
<field name="model">res.country.state</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="State" editable="bottom">
|
||||
<list string="State" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="country_id" options="{'no_create': True, 'no_open': True}"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -12,17 +12,17 @@
|
|||
</record>
|
||||
|
||||
<record id="view_currency_rate_tree" model="ir.ui.view">
|
||||
<field name="name">res.currency.rate.tree</field>
|
||||
<field name="name">res.currency.rate.list</field>
|
||||
<field name="model">res.currency.rate</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Currency Rates" editable="bottom">
|
||||
<list string="Currency Rates" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="company_rate" digits="[12,12]"/>
|
||||
<field name="inverse_company_rate" digits="[12,12]"/>
|
||||
<field name="rate" digits="[12,12]" optional="hide"/>
|
||||
<field name="write_date" optional="hide"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
<record id="act_view_currency_rates" model="ir.actions.act_window">
|
||||
<field name="name">Show Currency Rates</field>
|
||||
<field name="res_model">res.currency.rate</field>
|
||||
<field name='view_mode'>tree,form</field>
|
||||
<field name='view_mode'>list,form</field>
|
||||
<field name='view_id' ref='view_currency_rate_tree'/>
|
||||
<field name="domain">[('currency_id','=', active_id)]</field>
|
||||
<field name="context">{'default_currency_id': active_id}</field>
|
||||
|
|
@ -80,10 +80,10 @@
|
|||
</record>
|
||||
|
||||
<record id="view_currency_tree" model="ir.ui.view">
|
||||
<field name="name">res.currency.tree</field>
|
||||
<field name="name">res.currency.list</field>
|
||||
<field name="model">res.currency</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Currencies" decoration-muted="(not active)">
|
||||
<list string="Currencies" decoration-muted="(not active)">
|
||||
<field name="name"/>
|
||||
<field name="symbol"/>
|
||||
<field name="full_name" string="Name" optional="show"/>
|
||||
|
|
@ -91,7 +91,7 @@
|
|||
<field name="rate" digits="[12,6]"/>
|
||||
<field name="inverse_rate" digits="[12,6]" optional="hide"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -100,19 +100,15 @@
|
|||
<field name="model">res.currency</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_kanban_mobile">
|
||||
<field name="name"/>
|
||||
<field name="symbol"/>
|
||||
<field name="full_name"/>
|
||||
<field name="active"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div t-attf-class="oe_kanban_global_click">
|
||||
<t t-name="card">
|
||||
<div class="row mb4">
|
||||
<div class="col-2">
|
||||
<h3><t t-esc="record.name.value"/></h3>
|
||||
<div class="col-2 text-nowrap">
|
||||
<field class="fw-bold fs-3" name="name"/>
|
||||
</div>
|
||||
<div class="col-5">
|
||||
<span class="badge rounded-pill"><t t-esc="record.symbol.value"/></span>
|
||||
<span class="badge rounded-pill"><field name="symbol"/></span>
|
||||
</div>
|
||||
<div class="col-5 text-end">
|
||||
<t t-if="! record.active.raw_value"><span class="badge rounded-pill bg-light border">inactive</span></t>
|
||||
|
|
@ -124,7 +120,6 @@
|
|||
<t t-if="record.date.raw_value"><div>Last update: <field name="date"/></div></t>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
|
|
@ -136,7 +131,6 @@
|
|||
<field name="model">res.currency</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Currency">
|
||||
<field name="is_current_company_currency" invisible="1"/>
|
||||
<div class="alert alert-info text-center" role="alert" groups="base.group_no_one">
|
||||
You cannot reduce the number of decimal places of a currency already used on an accounting entry.
|
||||
</div>
|
||||
|
|
@ -170,14 +164,14 @@
|
|||
<notebook class="o_currency_rate_list" invisible="is_current_company_currency">
|
||||
<page string="Rates" name="rates">
|
||||
<field name="rate_ids" widget="one2many">
|
||||
<tree string="Rates" editable="top" limit="25">
|
||||
<list string="Rates" editable="top" limit="25">
|
||||
<field name="name"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="company_rate" digits="[12,12]"/>
|
||||
<field name="inverse_company_rate" digits="[12,12]"/>
|
||||
<field name="rate" digits="[12,12]" optional="hide"/>
|
||||
<field name="write_date" optional="hide"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
|
|
@ -189,7 +183,7 @@
|
|||
<record id="action_currency_form" model="ir.actions.act_window">
|
||||
<field name="name">Currencies</field>
|
||||
<field name="res_model">res.currency</field>
|
||||
<field name="view_mode">tree,kanban,form</field>
|
||||
<field name="view_mode">list,kanban,form</field>
|
||||
<field name="search_view_id" ref="view_currency_search"/>
|
||||
<field name="context">{'active_test': False}</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,90 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record model="ir.ui.view" id="res_device_view_form">
|
||||
<field name="name">res.device.form</field>
|
||||
<field name="model">res.device</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="display_name" string="Name"/>
|
||||
<field name="ip_address" string="Last IP Address"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="first_activity"/>
|
||||
<field name="last_activity"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="linked_ip_addresses"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="res_device_view_tree">
|
||||
<field name="name">res.device.list</field>
|
||||
<field name="model">res.device</field>
|
||||
<field name="arch" type="xml">
|
||||
<list default_order="last_activity desc">
|
||||
<field name="user_id"/>
|
||||
<field name="display_name" string="Name"/>
|
||||
<field name="ip_address"/>
|
||||
<field name="first_activity"/>
|
||||
<field name="last_activity"/>
|
||||
<field name="country" optional="hidden"/>
|
||||
<field name="city" optional="hidden"/>
|
||||
<button type="object" name="revoke" string="Revoke" class="btn btn-secondary"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="res_device_view_kanban">
|
||||
<field name="name">res.device.kanban</field>
|
||||
<field name="model">res.device</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban create="false" default_order="is_current desc, last_activity desc">
|
||||
<field name="id"/>
|
||||
<field name="device_type"/>
|
||||
<field name="last_activity"/>
|
||||
<field name="is_current"/>
|
||||
<templates>
|
||||
<t t-name="card" class="flex-row">
|
||||
<t t-if="record.device_type.raw_value === 'computer'">
|
||||
<span class="fa fa-laptop fs-1" title="Computer" role="img" aria-label="Computer"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span class="fa fa-mobile fs-1" title="Mobile" role="img" aria-label="Mobile"/>
|
||||
</t>
|
||||
<div class="d-flex flex-column ms-3">
|
||||
<div class="d-flex align-items-center">
|
||||
<field name="display_name" string="Name" class="fw-bolder"/>
|
||||
<t t-if="record.is_current.raw_value">
|
||||
<span class="ms-2 text-success o_status o_status_green"></span>
|
||||
</t>
|
||||
</div>
|
||||
<field name="ip_address"/>
|
||||
<field name="country"/>
|
||||
<field name="city"/>
|
||||
<t t-out="luxon.DateTime.fromISO(record.last_activity.raw_value).toRelative()"/>
|
||||
</div>
|
||||
<button name="revoke" type="object" string="Revoke" class="btn btn-secondary ms-auto mt-auto"/>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_user_device" model="ir.actions.act_window">
|
||||
<field name="name">User Devices</field>
|
||||
<field name="res_model">res.device</field>
|
||||
<field name="path">user-device</field>
|
||||
<field name="view_mode">list,kanban,form</field>
|
||||
</record>
|
||||
<menuitem action="action_user_device" id="menu_action_user_device" parent="base.menu_security" sequence="10"/>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -2,17 +2,16 @@
|
|||
<odoo>
|
||||
<data>
|
||||
<record id="res_lang_tree" model="ir.ui.view">
|
||||
<field name="name">res.lang.tree</field>
|
||||
<field name="name">res.lang.list</field>
|
||||
<field name="model">res.lang</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Languages" limit="200">
|
||||
<list string="Languages" limit="200">
|
||||
<header>
|
||||
<button name="action_activate_langs" type="object" string="Activate"/>
|
||||
</header>
|
||||
<field name="name"/>
|
||||
<field name="code" groups="base.group_no_one"/>
|
||||
<field name="iso_code" groups="base.group_no_one"/>
|
||||
<field name="url_code" groups="base.group_no_one" column_invisible="True"/>
|
||||
<field name="direction" groups="base.group_no_one"/>
|
||||
<field name="active"/>
|
||||
<button name="%(base.action_view_base_language_install)d"
|
||||
|
|
@ -30,7 +29,7 @@
|
|||
type="object"
|
||||
icon="fa-times"
|
||||
invisible="not active"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -59,7 +58,6 @@
|
|||
<group>
|
||||
<field name="code"/>
|
||||
<field name="iso_code"/>
|
||||
<field name="url_code" invisible="1" required="0"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</group>
|
||||
<group>
|
||||
|
|
@ -69,6 +67,7 @@
|
|||
<field name="thousands_sep"/>
|
||||
<field name="date_format"/>
|
||||
<field name="time_format"/>
|
||||
<field name="short_time_format"/>
|
||||
<field name="week_start"/>
|
||||
</group>
|
||||
</group>
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
<!-- Partner Titles -->
|
||||
<record id="view_partner_title_tree" model="ir.ui.view">
|
||||
<field name="name">res.partner.title.tree</field>
|
||||
<field name="name">res.partner.title.list</field>
|
||||
<field name="model">res.partner.title</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Partner Titles" editable="bottom">
|
||||
<list string="Partner Titles" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="shortcut"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_partner_title_form" model="ir.ui.view">
|
||||
|
|
@ -52,28 +52,24 @@
|
|||
-->
|
||||
<!-- Partner -->
|
||||
<record id="view_partner_tree" model="ir.ui.view">
|
||||
<field name="name">res.partner.tree</field>
|
||||
<field name="name">res.partner.list</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field eval="8" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Contacts" sample="1" multi_edit="1">
|
||||
<field name="display_name" string="Name" column_invisible="1"/>
|
||||
<list string="Contacts" sample="1" multi_edit="1">
|
||||
<field name="complete_name" string="Name"/>
|
||||
<field name="function" column_invisible="True"/>
|
||||
<field name="phone" class="o_force_ltr" optional="show"/>
|
||||
<field name="mobile" optional="hide"/>
|
||||
<field name="email" optional="show"/>
|
||||
<field name="user_id" optional="show" widget="many2one_avatar_user" domain="[('share', '=', False)]"/>
|
||||
<field name="street" optional="hide"/>
|
||||
<field name="city" optional="show"/>
|
||||
<field name="state_id" optional="hide" readonly="1"/>
|
||||
<field name="country_id" optional="show" readonly="1"/>
|
||||
<field name="vat" optional="hide" readonly="1"/>
|
||||
<field name="category_id" optional="hide" widget="many2many_tags" options="{'color_field': 'color'}"/>
|
||||
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
|
||||
<field name="is_company" column_invisible="True"/>
|
||||
<field name="parent_id" readonly="1" column_invisible="True"/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -82,28 +78,12 @@
|
|||
<field name="model">res.partner</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Contact">
|
||||
<!-- Invisible fields allows other modules to populate partner (ex.: creation from a lead) -->
|
||||
<field name="avatar_128" invisible="1"/>
|
||||
<field name="city" invisible="1"/>
|
||||
<field name="comment" invisible="1"/>
|
||||
<field name="country_id" invisible="1"/>
|
||||
<field name="is_company" invisible="1"/>
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="state_id" invisible="1"/>
|
||||
<field name="street" invisible="1"/>
|
||||
<field name="street2" invisible="1"/>
|
||||
<field name="title" invisible="1"/>
|
||||
<field name="type" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="website" invisible="1"/>
|
||||
<field name="zip" invisible="1"/>
|
||||
|
||||
<field name="image_1920" widget='image' class="oe_avatar" options='{"preview_image": "avatar_128"}'/>
|
||||
<div class="oe_title">
|
||||
<field name="company_type" options="{'horizontal': true}" widget="radio" groups="base.group_no_one"/>
|
||||
<h1>
|
||||
<field id="company" name="name" default_focus="1" placeholder="e.g. Lumber Inc" invisible="not is_company" required="type == 'contact' and is_company"/>
|
||||
<field id="individual" name="name" default_focus="1" placeholder="e.g. Brandom Freeman" invisible="is_company" required="type == 'contact' and not is_company"/>
|
||||
<field id="individual" name="name" default_focus="1" placeholder="e.g. Brandon Freeman" invisible="is_company" required="type == 'contact' and not is_company"/>
|
||||
</h1>
|
||||
<field name="parent_id"
|
||||
widget="res_partner_many2one"
|
||||
|
|
@ -113,7 +93,6 @@
|
|||
</div>
|
||||
<group>
|
||||
<field name="function" placeholder="e.g. Sales Director" invisible="is_company"/>
|
||||
<field name="user_ids" invisible="1"/>
|
||||
<field name="email" widget="email" context="{'gravatar_image': True}" required="True"/>
|
||||
<field name="phone" widget="phone" options="{'enable_sms': false}"/>
|
||||
<field name="mobile" widget="phone" options="{'enable_sms': false}"/>
|
||||
|
|
@ -129,14 +108,12 @@
|
|||
<field name="priority" eval="20"/>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Partner">
|
||||
<field name="avatar_128" invisible="1"/>
|
||||
<field name="image_1920" widget='image' class="oe_avatar" options='{"preview_image": "avatar_128"}' readonly="1"/>
|
||||
<div class="oe_title">
|
||||
<h1>
|
||||
<field name="name" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<field name="parent_id" invisible="1"/>
|
||||
<group>
|
||||
<group>
|
||||
<label for="type" invisible="not parent_id" groups="base.group_no_one"/>
|
||||
|
|
@ -168,26 +145,20 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Partners">
|
||||
<div class="alert alert-warning oe_edit_only" role="alert" name="warning_tax" invisible="not same_vat_partner_id">
|
||||
A partner with the same <span><span class="o_vat_label">Tax ID</span></span> already exists (<field name="same_vat_partner_id" context="{'show_address': False, 'show_vat': False}"/>), are you sure to create a new one?
|
||||
A partner with the same <span><field name="vat_label" /></span> already exists (<field name="same_vat_partner_id" context="{'show_address': False, 'show_vat': False}"/>), are you sure you want to create a new one?
|
||||
</div>
|
||||
<div class="alert alert-warning oe_edit_only" role="alert" name="warning_company" invisible="not same_company_registry_partner_id">
|
||||
A partner with the same <span><span class="o_vat_label">Company Registry</span></span> already exists (<field name="same_company_registry_partner_id" context="{'show_address': False, 'show_vat': False}"/>), are you sure to create a new one?
|
||||
A partner with the same <span><field name="company_registry_label" /></span> already exists (<field name="same_company_registry_partner_id" context="{'show_address': False, 'show_vat': False}"/>), are you sure you want to create a new one?
|
||||
</div>
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box"/>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="avatar_128" invisible="1"/>
|
||||
<field name="image_1920" widget='image' class="oe_avatar" options='{"preview_image": "avatar_128"}'/>
|
||||
<div class="oe_title mb24">
|
||||
<field name="is_company" invisible="1"/>
|
||||
<field name="commercial_partner_id" invisible="1"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="country_code" invisible="1"/>
|
||||
<field name="company_type" widget="radio" options="{'horizontal': true}"/>
|
||||
<h1>
|
||||
<field id="company" options="{'line_breaks': False}" widget="text" class="text-break" name="name" default_focus="1" placeholder="e.g. Lumber Inc" invisible="not is_company" required="type == 'contact'"/>
|
||||
<field id="individual" options="{'line_breaks': False}" widget="text" class="text-break" name="name" default_focus="1" placeholder="e.g. Brandom Freeman" invisible="is_company" required="type == 'contact'"/>
|
||||
<field id="individual" options="{'line_breaks': False}" widget="text" class="text-break" name="name" default_focus="1" placeholder="e.g. Brandon Freeman" invisible="is_company" required="type == 'contact'"/>
|
||||
</h1>
|
||||
<div class="o_row">
|
||||
<field name="parent_id"
|
||||
|
|
@ -204,9 +175,9 @@
|
|||
|
||||
<group>
|
||||
<group>
|
||||
<span class="o_form_label o_td_label" name="address_name">
|
||||
<span class="o_form_label o_td_label o_address_type" name="address_name">
|
||||
<field name="type" invisible="is_company" readonly="user_ids" required="not is_company" class="fw-bold"/>
|
||||
<b invisible="not is_company">Address</b>
|
||||
<span invisible="not is_company">Address</span>
|
||||
</span>
|
||||
<div class="o_address_format">
|
||||
<field name="street" placeholder="Street..." class="o_address_street"
|
||||
|
|
@ -231,14 +202,12 @@
|
|||
invisible="is_company"/>
|
||||
<field name="phone" widget="phone"/>
|
||||
<field name="mobile" widget="phone"/>
|
||||
<field name="user_ids" invisible="1"/>
|
||||
<field name="email" widget="email" context="{'gravatar_image': True}" required="user_ids"/>
|
||||
<field name="website" string="Website" widget="url" placeholder="e.g. https://www.odoo.com"/>
|
||||
<field name="title" options='{"no_open": True}' placeholder="e.g. Mister"
|
||||
invisible="is_company"/>
|
||||
<field name="active_lang_count" invisible="1"/>
|
||||
<field name="lang" invisible="active_lang_count <= 1"/>
|
||||
<field name="category_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"
|
||||
<field name="category_id" widget="many2many_tags" options="{'color_field': 'color'}"
|
||||
placeholder='e.g. "B2B", "VIP", "Consulting", ...'/>
|
||||
</group>
|
||||
</group>
|
||||
|
|
@ -246,60 +215,36 @@
|
|||
<notebook colspan="4">
|
||||
<page string="Contacts & Addresses" name="contact_addresses" autofocus="autofocus">
|
||||
<field name="child_ids" mode="kanban" context="{'default_parent_id': id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_lang': lang, 'default_user_id': user_id, 'default_type': 'other'}">
|
||||
<kanban>
|
||||
<field name="id"/>
|
||||
<kanban color="color">
|
||||
<field name="color"/>
|
||||
<field name="name"/>
|
||||
<field name="title"/>
|
||||
<field name="type"/>
|
||||
<field name="email"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="is_company"/>
|
||||
<field name="function"/>
|
||||
<field name="phone"/>
|
||||
<field name="street"/>
|
||||
<field name="street2"/>
|
||||
<field name="zip"/>
|
||||
<field name="city"/>
|
||||
<field name="country_id"/>
|
||||
<field name="mobile"/>
|
||||
<field name="state_id"/>
|
||||
<field name="image_128"/>
|
||||
<field name="avatar_128"/>
|
||||
<field name="lang"/>
|
||||
<!-- fields in form x2many view to diminish requests -->
|
||||
<field name="comment"/>
|
||||
<field name="display_name"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
|
||||
<div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'">
|
||||
<div class="o_kanban_image">
|
||||
<img alt="Contact image" t-att-src="kanban_image('res.partner', 'avatar_128', record.id.raw_value)"/>
|
||||
</div>
|
||||
<div class="oe_kanban_details">
|
||||
<field name="name"/>
|
||||
<div t-if="record.function.raw_value"><field name="function"/></div>
|
||||
<div t-if="record.email.raw_value"><field name="email" widget="email"/></div>
|
||||
<div t-if="record.type.raw_value != 'contact'">
|
||||
<div>
|
||||
<field name="zip"/><t t-if="record.city"> </t>
|
||||
<field name="city"/>
|
||||
</div>
|
||||
<field t-if="record.state_id.raw_value" name="state_id"/><t t-if="record.country_id"> </t>
|
||||
<field name="country_id"/>
|
||||
<t t-name="card" class="flex-row">
|
||||
<aside class="o_kanban_aside_full">
|
||||
<field name="avatar_128" class="o_kanban_image_fill w-100" widget="image" options="{'img_class': 'object-fit-cover'}" alt="Contact image"/>
|
||||
</aside>
|
||||
<main class="ps-2 ps-md-0">
|
||||
<field name="name" class="fw-bold"/>
|
||||
<field name="function"/>
|
||||
<field name="email" widget="email"/>
|
||||
<div t-if="record.type.raw_value != 'contact'">
|
||||
<div>
|
||||
<field class="me-1" name="zip"/>
|
||||
<field name="city"/>
|
||||
</div>
|
||||
<div t-if="record.phone.raw_value">Phone: <t t-esc="record.phone.value"/></div>
|
||||
<div t-if="record.mobile.raw_value">Mobile: <t t-esc="record.mobile.value"/></div>
|
||||
<field class="me-1" name="state_id"/>
|
||||
<field name="country_id"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-if="record.phone.raw_value">Phone: <field name="phone"/></div>
|
||||
<div t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></div>
|
||||
</main>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
<form string="Contact / Address">
|
||||
<sheet>
|
||||
<field name="type" required="1" widget="radio" options="{'horizontal': true}"/>
|
||||
<field name="parent_id" invisible="1"/>
|
||||
<div class="text-muted oe_edit_only">
|
||||
<p class="mb-0" invisible="type != 'contact'">
|
||||
<span>Use this to organize the contact details of employees of a given company (e.g. CEO, CFO, ...).</span>
|
||||
|
|
@ -317,7 +262,8 @@
|
|||
<hr/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name" string="Contact Name" required="type == 'contact'"/>
|
||||
<field name="name" string="Contact Name" required="type == 'contact'"
|
||||
placeholder="e.g. New Address"/>
|
||||
<field name="title" options="{'no_open': True}" placeholder="e.g. Mr."
|
||||
invisible="type != 'contact'"/>
|
||||
<field name="function" placeholder="e.g. Sales Director"
|
||||
|
|
@ -338,14 +284,13 @@
|
|||
<field name="email" widget="email"/>
|
||||
<field name="phone" widget="phone"/>
|
||||
<field name="mobile" widget="phone"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/> <!-- Need to save value from parented record, cf onchange -->
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="comment" placeholder="Internal notes..." nolabel="1" colspan="2"/>
|
||||
<field name="comment" placeholder="Internal notes..." nolabel="1"/>
|
||||
</group>
|
||||
<field name="lang" invisible="True"/>
|
||||
<field name="user_id" invisible="True"/>
|
||||
<field name="lang" invisible="True"/> <!-- Need to add lang to save default value from parented record -->
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
|
@ -361,6 +306,7 @@
|
|||
<field name="company_registry" invisible="parent_id"/>
|
||||
<field name="ref" string="Reference"/>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" readonly="parent_id" force_save="1"/>
|
||||
<field name="company_id" invisible="1"/> <!-- need to be able to to compute based on the company even without multi company groups -->
|
||||
<field name="industry_id" invisible="not is_company" options="{'no_create': True}"/>
|
||||
</group>
|
||||
</group>
|
||||
|
|
@ -383,8 +329,6 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Private Address Form">
|
||||
<sheet>
|
||||
<field name="type" invisible="1"/>
|
||||
<field name="parent_id" invisible="1"/>
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<field name="name" required="0"/>
|
||||
<group>
|
||||
|
|
@ -410,11 +354,10 @@
|
|||
</group>
|
||||
<group string="Bank Accounts">
|
||||
<field name="bank_ids">
|
||||
<tree editable="bottom">
|
||||
<list editable="bottom">
|
||||
<field name="bank_id"/>
|
||||
<field name="acc_number"/>
|
||||
<field name="acc_holder_name" column_invisible="True"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
</sheet>
|
||||
|
|
@ -455,72 +398,40 @@
|
|||
<field name="model">res.partner</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban sample="1">
|
||||
<field name="id"/>
|
||||
<field name="color"/>
|
||||
<field name="display_name"/>
|
||||
<field name="title"/>
|
||||
<field name="email"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="is_company"/>
|
||||
<field name="function"/>
|
||||
<field name="phone"/>
|
||||
<field name="street"/>
|
||||
<field name="street2"/>
|
||||
<field name="zip"/>
|
||||
<field name="city"/>
|
||||
<field name="country_id"/>
|
||||
<field name="mobile"/>
|
||||
<field name="state_id"/>
|
||||
<field name="category_id"/>
|
||||
<field name="avatar_128"/>
|
||||
<field name="type"/>
|
||||
<field name="is_company"/>
|
||||
<field name="active"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click o_kanban_record_has_image_fill o_res_partner_kanban">
|
||||
<t t-name="card" class="flex-row">
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<aside class="o_kanban_aside_full">
|
||||
<t t-if="!record.is_company.raw_value">
|
||||
<t t-set="avatar_image" t-value="kanban_image('res.partner', 'avatar_128', record.id.raw_value)"/>
|
||||
<div class="o_kanban_image_fill_left d-none d-md-block">
|
||||
<img t-attf-src="#{avatar_image}" t-att-alt="record.id.value"/>
|
||||
<img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value" t-att-alt="record.parent_id.value" t-att-src="kanban_image('res.partner', 'avatar_128', record.parent_id.raw_value)"/>
|
||||
</div>
|
||||
<div class="o_kanban_image d-md-none d-block">
|
||||
<img t-attf-src="#{avatar_image}" t-att-alt="record.id.value"/>
|
||||
<img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value" t-att-alt="record.parent_id.value" t-att-src="kanban_image('res.partner', 'avatar_128', record.parent_id.raw_value)"/>
|
||||
<div class="o_kanban_image_fill position-relative w-100">
|
||||
<field name="avatar_128" alt="Contact image" class="h-100" widget="image" options="{'img_class': 'object-fit-cover'}"/>
|
||||
<field t-if="record.parent_id.raw_value" name="parent_id" class="position-absolute bottom-0 end-0 w-25 bg-light" widget="image" options="{'preview_image': 'image_128', 'img_class': 'object-fit-contain'}"/>
|
||||
</div>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<div class="o_kanban_image_fill_left d-none d-md-block o_kanban_image_full">
|
||||
<img t-attf-src="#{kanban_image('res.partner', 'avatar_128', record.id.raw_value)}" role="img" t-att-alt="record.id.value"/>
|
||||
</div>
|
||||
<div class="o_kanban_image d-md-none d-block o_kanban_image_full">
|
||||
<img t-attf-src="#{kanban_image('res.partner', 'avatar_128', record.id.raw_value)}" role="img" t-att-alt="record.id.value"/>
|
||||
</div>
|
||||
<field name="avatar_128" class="w-100" widget="image" options="{'img_class': 'object-fit-contain w-100 h-100'}"/>
|
||||
</t>
|
||||
<div class="ribbon ribbon-top-right" invisible="active">
|
||||
<span class="text-bg-danger">Archived</span>
|
||||
</div>
|
||||
<div class="oe_kanban_details d-flex flex-column justify-content-between">
|
||||
<div>
|
||||
<strong class="o_kanban_record_title oe_partner_heading"><field name="display_name"/></strong>
|
||||
<div class="o_kanban_tags_section oe_kanban_partner_categories"/>
|
||||
<ul>
|
||||
<li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
|
||||
<li t-elif="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
|
||||
<li t-elif="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
|
||||
<li t-if="record.city.raw_value or record.country_id.raw_value">
|
||||
<t t-if="record.city.raw_value"><field name="city"/><t t-if="record.country_id.raw_value">, </t></t>
|
||||
<t t-if="record.country_id.raw_value"><field name="country_id"/></t>
|
||||
</li>
|
||||
<li t-if="record.email.raw_value" class="o_text_overflow"><field name="email"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="o_kanban_record_bottom">
|
||||
<div class="oe_kanban_bottom_left"/>
|
||||
<div class="oe_kanban_bottom_right"/>
|
||||
</aside>
|
||||
<main class="ps-2 ps-md-0">
|
||||
<div class="mb-1">
|
||||
<field name="display_name" class="mb-0 fw-bold fs-5"/>
|
||||
<field t-if="record.parent_id.raw_value and !record.function.raw_value" class="text-muted" name="parent_id"/>
|
||||
<field t-elif="!record.parent_id.raw_value and record.function.raw_value" class="text-muted" name="function"/>
|
||||
<div t-elif="record.parent_id.raw_value and record.function.raw_value" class="text-muted">
|
||||
<field name="function"/> at <field name="parent_id"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div t-if="record.city.raw_value or record.country_id.raw_value">
|
||||
<field name="city"/>
|
||||
<span t-if="record.city.raw_value and record.country_id.raw_value">, </span>
|
||||
<field name="country_id"/>
|
||||
</div>
|
||||
<field name="email" class="text-truncate"/>
|
||||
<footer><div/></footer>
|
||||
</main>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
|
|
@ -530,7 +441,7 @@
|
|||
<record id="action_partner_form" model="ir.actions.act_window">
|
||||
<field name="name">Customers</field>
|
||||
<field name="res_model">res.partner</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="context">{'res_partner_search_mode': 'customer'}</field>
|
||||
<field name="search_view_id" ref="view_res_partner_filter"/>
|
||||
<field name="help" type="html">
|
||||
|
|
@ -555,7 +466,7 @@
|
|||
</record>
|
||||
<record id="action_partner_tree_view1" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="view_id" ref="view_partner_tree"/>
|
||||
<field name="act_window_id" ref="action_partner_form"/>
|
||||
</record>
|
||||
|
|
@ -563,7 +474,7 @@
|
|||
<record id="action_partner_customer_form" model="ir.actions.act_window">
|
||||
<field name="name">Customers</field>
|
||||
<field name="res_model">res.partner</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="context">{'res_partner_search_mode': 'customer', 'default_is_company': True}</field>
|
||||
<field name="filter" eval="True"/>
|
||||
|
|
@ -583,7 +494,7 @@
|
|||
</record>
|
||||
<record id="action_partner_customer_form_view2" model="ir.actions.act_window.view">
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="view_id" ref="view_partner_tree"/>
|
||||
<field name="act_window_id" ref="action_partner_customer_form"/>
|
||||
</record>
|
||||
|
|
@ -598,7 +509,7 @@
|
|||
<field name="name">Vendors</field>
|
||||
<field name="res_model">res.partner</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="context">{'res_partner_search_mode': 'supplier', 'default_is_company': True}</field>
|
||||
<field name="filter" eval="True"/>
|
||||
<field name="help" type="html">
|
||||
|
|
@ -617,7 +528,7 @@
|
|||
</record>
|
||||
<record id="action_partner_vendor_form_view2" model="ir.actions.act_window.view">
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="view_id" ref="view_partner_tree"/>
|
||||
<field name="act_window_id" ref="action_partner_supplier_form"/>
|
||||
</record>
|
||||
|
|
@ -651,10 +562,11 @@
|
|||
<field name="model">res.partner.category</field>
|
||||
<field eval="6" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Contact Tags">
|
||||
<field name="display_name"/>
|
||||
<list string="Contact Tags" editable="bottom" multi_edit="1" sample="1">
|
||||
<field name="name" placeholder='e.g. "Roadshow"'/>
|
||||
<field name="parent_id" string="Category" domain="[('id', '!=', id)]"/>
|
||||
<field name="color" widget="color_picker"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -663,10 +575,14 @@
|
|||
<field name="model">res.partner.category</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Partner Category">
|
||||
<field name="name"/>
|
||||
<field name="display_name"/>
|
||||
<field name="name" string="Name"/>
|
||||
<field name="display_name" string="Category" />
|
||||
<separator/>
|
||||
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
||||
<group string="Group By">
|
||||
<filter string="Category" name="group_parent_id" context="{'group_by': 'parent_id'}"/>
|
||||
<filter string="Color" name="group_color" context="{'group_by': 'color'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
|
@ -706,11 +622,10 @@
|
|||
<field name="model">res.partner.industry</field>
|
||||
<field eval="6" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Industry" editable="bottom">
|
||||
<list string="Industry" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="full_name"/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -730,7 +645,7 @@
|
|||
<record id="res_partner_industry_action" model="ir.actions.act_window">
|
||||
<field name="name">Industries</field>
|
||||
<field name="res_model">res.partner.industry</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="res_partner_industry_view_search"/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
|
|
|
|||
|
|
@ -7,39 +7,22 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Password Confirmation">
|
||||
<sheet>
|
||||
<h3><strong>Please enter your password to confirm you own this account</strong></h3>
|
||||
<div>
|
||||
<field class="o_field_highlight col-10 col-md-6 px-0" name="password" autocomplete="current-password"
|
||||
required="True" password="True" placeholder="************"/>
|
||||
<div invisible="auth_method != 'password'">
|
||||
<h3><strong>Please confirm your identity by entering your password</strong></h3>
|
||||
<div>
|
||||
<field class="o_field_highlight col-10 col-md-6 px-0" name="password" autocomplete="current-password"
|
||||
required="auth_method == 'password'" password="True" placeholder="************"/>
|
||||
</div>
|
||||
<a href="/web/reset_password/" class="btn btn-link" role="button">Forgot password?</a>
|
||||
</div>
|
||||
<a href="/web/reset_password/" class="btn btn-link" role="button">Forgot password?</a>
|
||||
</sheet>
|
||||
<footer>
|
||||
<button string="Confirm Password" type="object" name="run_check" class="btn btn-primary" data-hotkey="q"/>
|
||||
<button string="Confirm Password" id="password_confirm" type="object" name="run_check" class="btn btn-primary" data-hotkey="q" invisible="auth_method != 'password'"/>
|
||||
<button string="Cancel" special="cancel" data-hotkey="z" class="btn btn-secondary"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_users_identitycheck_view_form_revokedevices" model="ir.ui.view">
|
||||
<field name="name">Revoke All Devices</field>
|
||||
<field name="model">res.users.identitycheck</field>
|
||||
<field name="priority">40</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Log out from all devices">
|
||||
<div>
|
||||
You are about to log out from all devices that currently have access to your account.<br/><br/>
|
||||
<strong>Type in your password to confirm :</strong>
|
||||
<field class="oe_inline o_field_highlight" name="password" password="True" required="True"/>
|
||||
</div>
|
||||
<footer>
|
||||
<button string="Log out from all devices" name="revoke_all_devices" type="object" class="btn-primary" data-hotkey="q"/>
|
||||
<button string="Cancel" class="btn-secondary" special="cancel" data-hotkey="z" />
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<field name="model">change.password.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Change Password">
|
||||
<field mode="tree" name="user_ids"/>
|
||||
<field mode="list" name="user_ids"/>
|
||||
<footer>
|
||||
<button string="Change Password" name="change_password_button" type="object" class="btn-primary" data-hotkey="q"/>
|
||||
<button string="Cancel" class="btn-secondary" special="cancel" data-hotkey="x" />
|
||||
|
|
@ -37,11 +37,11 @@
|
|||
<field name="model">change.password.user</field>
|
||||
<field name="arch" type="xml">
|
||||
<!-- the user list is editable, but one cannot add or delete rows -->
|
||||
<tree string="Users" editable="bottom" create="false" delete="false">
|
||||
<field name="user_id" invisible="1"/>
|
||||
<list string="Users" editable="bottom" create="false" delete="false">
|
||||
<field name="user_id" column_invisible="True"/> <!-- required field, needed when updating the password -->
|
||||
<field name="user_login" force_save="1"/>
|
||||
<field name="new_passwd" password="True" width="20px"/>
|
||||
</tree>
|
||||
<field name="new_passwd" password="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="change_password_wizard_action" model="ir.actions.act_window">
|
||||
|
|
@ -75,6 +75,7 @@
|
|||
<field name="category_id"/>
|
||||
<field name="name"/>
|
||||
<field name="share"/>
|
||||
<field name="api_key_duration" groups="base.group_no_one"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Users" name="users">
|
||||
|
|
@ -92,19 +93,19 @@
|
|||
</page>
|
||||
<page string="Access Rights" name="access_rights">
|
||||
<field name="model_access">
|
||||
<tree string="Access Rights" editable="top">
|
||||
<list string="Access Rights" editable="top">
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="perm_read"/>
|
||||
<field name="perm_write"/>
|
||||
<field name="perm_create"/>
|
||||
<field name="perm_unlink"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Record Rules" name="record_rules">
|
||||
<field name="rule_groups">
|
||||
<tree string="Record Rules" editable="top">
|
||||
<list string="Record Rules" editable="top">
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="domain_force"/>
|
||||
|
|
@ -112,7 +113,7 @@
|
|||
<field name="perm_write"/>
|
||||
<field name="perm_create"/>
|
||||
<field name="perm_unlink"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page><page string="Notes" name="notes">
|
||||
<field name="comment"/>
|
||||
|
|
@ -138,16 +139,14 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Users">
|
||||
<sheet>
|
||||
<field name="id" invisible="1"/>
|
||||
<div class="alert alert-info text-center mb-3" invisible="id > 0" role="alert">
|
||||
You are inviting a new user.
|
||||
</div>
|
||||
<field name="avatar_128" invisible="1"/>
|
||||
<field name="image_1920" widget='image' class="oe_avatar" options='{"zoom": true, "preview_image": "avatar_128"}'/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" placeholder="e.g. John Doe" required="1"/></h1>
|
||||
<field name="email" invisible="1"/>
|
||||
<field name="email" invisible="1"/><!-- needed to update partner's email from on_change_login() -->
|
||||
<label for="login" string="Email Address"/>
|
||||
<h2>
|
||||
<field name="login"
|
||||
|
|
@ -176,7 +175,6 @@
|
|||
<header>
|
||||
</header>
|
||||
<sheet>
|
||||
<field name="id" invisible="1"/>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button name="action_show_groups" type="object" groups="base.group_no_one" class="oe_stat_button" icon="fa-users">
|
||||
<field string="Groups" name="groups_count" widget="statinfo"/>
|
||||
|
|
@ -189,7 +187,6 @@
|
|||
</button>
|
||||
</div>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active_partner" required="0" readonly="1" invisible="1"/>
|
||||
<div class="alert alert-info text-center o_form_header"
|
||||
invisible="active and active_partner or not active and not active_partner or active and not active_partner"
|
||||
role="alert">
|
||||
|
|
@ -201,12 +198,11 @@
|
|||
<field name="partner_id" required="0" readonly="1"/>
|
||||
</div>
|
||||
</div>
|
||||
<field name="avatar_128" invisible="1"/>
|
||||
<field name="image_1920" widget='image' class="oe_avatar" options='{"preview_image": "avatar_128"}'/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" placeholder="e.g. John Doe" required="1"/></h1>
|
||||
<field name="email" invisible="1"/>
|
||||
<field name="email" invisible="1"/><!-- needed to update partner's email from on_change_login() -->
|
||||
<label for="login" string="Email Address"/>
|
||||
<h2><field name="login" placeholder="e.g. email@yourcompany.com"/></h2>
|
||||
<group>
|
||||
|
|
@ -214,7 +210,6 @@
|
|||
readonly="1"
|
||||
required="0"
|
||||
invisible="not id"/>
|
||||
<field name="share" invisible="1"/>
|
||||
</group>
|
||||
</div>
|
||||
<notebook colspan="4">
|
||||
|
|
@ -222,14 +217,12 @@
|
|||
<group string="Multi Companies" invisible="companies_count <= 1">
|
||||
<field string="Allowed Companies" name="company_ids" widget="many2many_tags" options="{'no_create': True, 'color_field': 'color'}"/>
|
||||
<field string="Default Company" name="company_id" context="{'user_preference': 0}"/>
|
||||
<field string="Companies count" name="companies_count" invisible="1"/>
|
||||
</group>
|
||||
<field name="groups_id"/>
|
||||
</page>
|
||||
<page string="Preferences" name="preferences">
|
||||
<group>
|
||||
<group string="Localization" name="preferences">
|
||||
<field name="active" invisible="1"/>
|
||||
<label for="lang" />
|
||||
<div class="o_row">
|
||||
<field name="lang" required="1"/>
|
||||
|
|
@ -241,7 +234,7 @@
|
|||
title="Add a language"/>
|
||||
</div>
|
||||
<field name="tz" widget="timezone_mismatch" options="{'tz_offset_field': 'tz_offset'}" />
|
||||
<field name="tz_offset" invisible="1"/>
|
||||
<field name="tz_offset" invisible="1"/> <!-- needed for the timezone_mismatch widget -->
|
||||
</group>
|
||||
<group string="Menus Customization" groups="base.group_no_one"
|
||||
invisible="share">
|
||||
|
|
@ -249,9 +242,10 @@
|
|||
</group>
|
||||
</group>
|
||||
<group name="messaging">
|
||||
<field name="signature" options="{'style-inline': true, 'codeview': true}"/>
|
||||
<field name="signature" options="{'codeview': true}"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Account Security" name="account_security" invisible="not id"/>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
|
@ -259,16 +253,16 @@
|
|||
</record>
|
||||
|
||||
<record id="view_users_tree" model="ir.ui.view">
|
||||
<field name="name">res.users.tree</field>
|
||||
<field name="name">res.users.list</field>
|
||||
<field name="model">res.users</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Users" multi_edit="1">
|
||||
<list string="Users" multi_edit="1">
|
||||
<field name="name" readonly="1"/>
|
||||
<field name="login" readonly="1"/>
|
||||
<field name="lang"/>
|
||||
<field name="login_date" readonly="1"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_res_users_kanban" model="ir.ui.view">
|
||||
|
|
@ -276,35 +270,31 @@
|
|||
<field name="model">res.users</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_kanban_mobile">
|
||||
<field name="id"/>
|
||||
<field name="name"/>
|
||||
<field name="login"/>
|
||||
<field name="lang"/>
|
||||
<field name="active"/>
|
||||
<field name="login_date"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div t-attf-class="oe_kanban_global_click">
|
||||
<div class="o_kanban_image">
|
||||
<img alt="Avatar" t-att-src="kanban_image('res.users', 'avatar_128', record.id.raw_value)"/>
|
||||
<t t-name="card" class="flex-row">
|
||||
<aside class="w-25 p-1">
|
||||
<field name="avatar_128" widget="image" alt="Avatar"/>
|
||||
</aside>
|
||||
<main class="w-100 ps-2 pt-1">
|
||||
<div>
|
||||
<div t-if="record.active.raw_value" class="text-success float-end mb4">
|
||||
<i class="fa fa-circle" role="img" aria-label="Ok" title="Ok"></i>
|
||||
</div>
|
||||
<div t-else="" class="text-danger float-end mb4">
|
||||
<i class="fa fa-circle" role="img" aria-label="Invalid" title="Invalid"></i>
|
||||
</div>
|
||||
<field class="fw-bold" name="name"/>
|
||||
</div>
|
||||
<div class="oe_kanban_details">
|
||||
<ul>
|
||||
<li class="text-success float-end mb4" t-if="record.active.raw_value"><i class="fa fa-circle" role="img" aria-label="Ok" title="Ok"></i></li>
|
||||
<li class="text-danger float-end mb4" t-if="!record.active.raw_value"><i class="fa fa-circle" role="img" aria-label="Invalid" title="Invalid"></i></li>
|
||||
<li class="mb4">
|
||||
<strong><field name="name"/></strong>
|
||||
</li>
|
||||
<li class="d-flex flex-wrap">
|
||||
<span class="mb4 text-truncate" title="Login">
|
||||
<i class="fa fa-envelope me-1" role="img" aria-label="Login"/>
|
||||
<field name="login"/>
|
||||
</span>
|
||||
<field class="badge rounded-pill mb4 ms-auto" name="lang"/>
|
||||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
<span class="mb4 text-truncate" title="Login">
|
||||
<i class="fa fa-envelope me-1" role="img" aria-label="Login"></i>
|
||||
<field name="login"/>
|
||||
</span>
|
||||
<field class="badge rounded-pill float-end" name="lang"/>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
|
|
@ -339,7 +329,8 @@
|
|||
<record id="action_res_users" model="ir.actions.act_window">
|
||||
<field name="name">Users</field>
|
||||
<field name="res_model">res.users</field>
|
||||
<field name="view_mode">tree,kanban,form</field>
|
||||
<field name="path">users</field>
|
||||
<field name="view_mode">list,kanban,form</field>
|
||||
<field name="view_id" ref="view_users_tree"/>
|
||||
<field name="search_view_id" ref="view_users_search"/>
|
||||
<field name="context">{'search_default_filter_no_share': 1, 'show_user_group_warning': True}</field>
|
||||
|
|
@ -347,7 +338,7 @@
|
|||
</record>
|
||||
<record id="action_res_users_view1" model="ir.actions.act_window.view">
|
||||
<field eval="10" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="view_id" ref="view_users_tree"/>
|
||||
<field name="act_window_id" ref="action_res_users"/>
|
||||
</record>
|
||||
|
|
@ -382,6 +373,14 @@
|
|||
and complete, <strong>it will be the only way to
|
||||
identify the key once created</strong>.
|
||||
</p>
|
||||
<h3 class="fw-bold">
|
||||
Give a duration for the key's validity
|
||||
</h3>
|
||||
<field name="duration"/>
|
||||
<field name="expiration_date" invisible="duration != '-1'"/>
|
||||
<p>
|
||||
The key will be deleted once this period has elapsed.
|
||||
</p>
|
||||
<footer>
|
||||
<button name="make_key" type="object" string="Generate key" class="btn-primary" data-hotkey="q"/>
|
||||
<button special="cancel" data-hotkey="x" string="Cancel" class="btn-secondary"/>
|
||||
|
|
@ -425,7 +424,6 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Users" edit="1">
|
||||
<widget name="notification_alert"/>
|
||||
<field name="avatar_128" invisible="1"/>
|
||||
<field name="image_1920" readonly="0" widget='image' class="oe_avatar" options='{"preview_image": "avatar_128"}'/>
|
||||
<h1>
|
||||
<field name="name" readonly="1" class="oe_inline"/>
|
||||
|
|
@ -450,12 +448,11 @@
|
|||
/>
|
||||
</div>
|
||||
<field name="tz" widget="timezone_mismatch" options="{'tz_offset_field': 'tz_offset'}" readonly="0"/>
|
||||
<field name="tz_offset" invisible="1"/>
|
||||
<field name="tz_offset" invisible="1"/> <!-- needed for the timezone_mismatch widget -->
|
||||
</group>
|
||||
<field name="share" invisible="1"/>
|
||||
</group>
|
||||
<group name="signature">
|
||||
<field name="signature" readonly="0" options="{'style-inline': true, 'codeview': true}"/>
|
||||
<field name="signature" readonly="0" options="{'codeview': true}"/>
|
||||
</group>
|
||||
<group name="status" string="Status" invisible="1">
|
||||
<field name="company_id" options="{'no_create': True}" readonly="0"
|
||||
|
|
@ -477,20 +474,18 @@
|
|||
<group string="API Keys">
|
||||
<div class="text-muted" colspan="2">
|
||||
API Keys are used to connect to Odoo from external tools without the need for a password or Two-factor Authentication.
|
||||
<a href="https://www.odoo.com/documentation/17.0/developer/misc/api/external_api.html#api-keys" target="_blank">
|
||||
<i title="Documentation" class="fa fa-fw o_button_icon fa-info-circle"></i>
|
||||
Learn more
|
||||
</a>
|
||||
<widget name="documentation_link" path="/developer/misc/api/external_api.html#api-keys" lable="Learn more" icon="fa-fw o_button_icon fa-info-circle"/>
|
||||
</div>
|
||||
<div colspan="2" invisible="not api_key_ids">
|
||||
<field name="api_key_ids" nolabel="1" colspan="4" readonly="0">
|
||||
<tree editable="bottom" create="false" delete="false">
|
||||
<list editable="bottom" create="false" delete="false">
|
||||
<field name="name"/>
|
||||
<field name="scope"/>
|
||||
<field name="create_date"/>
|
||||
<field name="expiration_date"/>
|
||||
<button type="object" name="remove"
|
||||
string="Delete API key." icon="fa-trash"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</div>
|
||||
<div colspan="2">
|
||||
|
|
@ -498,6 +493,9 @@
|
|||
</div>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Devices" name="page_devices">
|
||||
<field name="device_ids" mode="kanban"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<footer>
|
||||
<button name="preference_save" type="object" string="Save" class="btn-primary" data-hotkey="q"/>
|
||||
|
|
@ -524,19 +522,19 @@
|
|||
<field name="model">res.users.apikeys</field>
|
||||
<field name="groups_id" eval="[Command.link(ref('base.group_system'))]"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree create="false" edit="false" delete="false" editable="bottom">
|
||||
<list create="false" edit="false" delete="false" editable="bottom">
|
||||
<field name="user_id"/>
|
||||
<field name="name"/>
|
||||
<field name="scope"/>
|
||||
<field name="create_date"/>
|
||||
<button type="object" name="remove" title="Delete API key." icon="fa-trash"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_apikeys_admin">
|
||||
<field name="name">API Keys Listing</field>
|
||||
<field name="res_model">res.users.apikeys</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="groups_id" eval="[Command.link(ref('base.group_system'))]"/>
|
||||
<field name="view_id" ref="base.view_apikeys"/>
|
||||
</record>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue