19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:32:12 +01:00
parent 79f83631d5
commit 73afc09215
6267 changed files with 1534193 additions and 1130106 deletions

View file

@ -10,7 +10,8 @@
<field name="name"/>
<field name="user_id"/>
<field name="member_ids"/>
<group expand="0" string="Group By...">
<group>
<filter string="Company" name="company" domain="[]" context="{'group_by': 'company_id'}" groups="base.group_multi_company"/>
<filter string="Team Leader" name="team_leader" domain="[]" context="{'group_by': 'user_id'}"/>
</group>
</search>
@ -21,20 +22,24 @@
<field name="name">crm.team.form</field>
<field name="model">crm.team</field>
<field name="arch" type="xml">
<form string="Sales Team">
<div class="alert alert-info text-center" role="alert"
attrs="{'invisible': ['|', ('is_membership_multi', '=', True), ('member_warning', '=', False)]}">
<field name="member_warning"/>
<form string="Sales Team" js_class="crm_team_form" class="o_crm_team_form_view">
<div class="alert alert-info text-center d-flex flex-wrap justify-content-center gap-1" role="alert"
invisible="is_membership_multi or not member_warning">
<field name="member_warning" class="w-auto"/>
Working in multiple teams?
<button name="crm_team_activate_multi_membership" type="button" class="btn btn-link p-0 lh-1">
Activate "Multi-team"
</button>
</div>
<sheet>
<div class="oe_button_box" name="button_box"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
<div class="oe_title">
<label for="name" string="Sales Team"/>
<h1>
<field class="text-break" name="name" placeholder="e.g. North America"/>
</h1>
<div name="options_active"/>
<div name="options_active" class="o_row"/>
</div>
<group>
<group name="left" string="Team Details">
@ -42,7 +47,7 @@
<field name="sequence" invisible="1"/>
<field name="is_membership_multi" invisible="1"/>
<field name="user_id" widget="many2one_avatar_user" domain="[('share', '=', False)]"/>
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company" placeholder="Visible to all"/>
<field name="currency_id" invisible="1"/>
<field name="member_company_ids" invisible="1"/>
</group>
@ -54,63 +59,50 @@
<field name="member_ids" mode="kanban"
class="w-100">
<kanban>
<field name="id"/>
<field name="name"/>
<field name="email"/>
<field name="avatar_128"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_card oe_kanban_global_click">
<div class="o_kanban_card_content d-flex">
<div>
<img t-att-src="kanban_image('res.users', 'avatar_128', record.id.raw_value)"
class="o_kanban_image o_image_64_cover" alt="Avatar"/>
</div>
<div class="oe_kanban_details d-flex flex-column ms-3">
<strong class="o_kanban_record_title oe_partner_heading"><field name="name"/></strong>
<div class="d-flex align-items-baseline text-break">
<i class="fa fa-envelope me-1" role="img" aria-label="Email" title="Email"/><field name="email"/>
</div>
</div>
<t t-name="card" class="flex-row">
<aside>
<field name="avatar_128" widget="image" class="o_image_64_cover" alt="Avatar"/>
</aside>
<main class="ms-3">
<field name="name" class="fw-bold fs-5"/>
<div class="d-flex align-items-baseline text-break">
<i class="fa fa-envelope me-1" role="img" aria-label="Email" title="Email"/><field name="email"/>
</div>
</div>
</main>
</t>
</templates>
</kanban>
</field>
<field name="crm_team_member_ids" mode="kanban"
class="w-100"
attrs="{'invisible': ['|', ('is_membership_multi', '=', True), ('is_membership_multi', '=', False)]}"
invisible="is_membership_multi or not is_membership_multi"
context="{
'kanban_view_ref': 'sales_team.crm_team_member_view_kanban_from_team',
'form_view_ref': 'sales_team.crm_team_member_view_form_from_team',
'tree_view_ref': 'sales_team.crm_team_member_view_tree_from_team',
'default_crm_team_id': active_id,
'list_view_ref': 'sales_team.crm_team_member_view_tree_from_team',
'default_crm_team_id': id,
}"/>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" help="Follow this salesteam to automatically track the events associated to users of this team."/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>
<!-- SALES TEAMS TREE VIEW + MUTI_EDIT -->
<!-- SALES TEAMS LIST VIEW + MUTI_EDIT -->
<record id="crm_team_view_tree" model="ir.ui.view">
<field name="name">crm.team.tree</field>
<field name="name">crm.team.list</field>
<field name="model">crm.team</field>
<field name="field_parent">child_ids</field>
<field name="arch" type="xml">
<tree string="Sales Team" sample="1" multi_edit="1">
<list string="Sales Team" sample="1" multi_edit="1">
<field name="sequence" widget="handle"/>
<field name="name" readonly="1"/>
<field name="active" invisible="1"/>
<field name="active" column_invisible="True"/>
<field name="user_id" domain="[('share', '=', False)]" widget="many2one_avatar_user"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</list>
</field>
</record>
@ -120,16 +112,10 @@
<field name="arch" type="xml">
<kanban class="o_kanban_mobile" sample="1">
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_content oe_kanban_global_click">
<div class="row">
<div class="col-6">
<strong><field name="name"/></strong>
</div>
<div class="col-6">
<span class="float-end"><field name="user_id"/></span>
</div>
</div>
<t t-name="card" class="row g-0">
<field name="name" class="col-6 fw-bold"/>
<div class="col-6">
<field name="user_id" class="float-end"/>
</div>
</t>
</templates>
@ -143,74 +129,46 @@
<field name="model">crm.team</field>
<field name="priority">10</field>
<field name="arch" type="xml">
<kanban class="oe_background_grey o_kanban_dashboard o_crm_team_kanban" create="0" sample="1">
<field name="name"/>
<field name="user_id"/>
<field name="member_ids"/>
<field name="color"/>
<field name="currency_id"/>
<field name="is_favorite"/>
<kanban class="o_crm_team_kanban" highlight_color="color" create="0" can_open="0" action="action_primary_channel_button" type="object" sample="1">
<templates>
<t t-name="kanban-box">
<div t-attf-class="#{!selection_mode ? kanban_color(record.color.raw_value) : ''}">
<div t-attf-class="o_kanban_card_header">
<div class="o_kanban_card_header_title">
<div class="o_primary o_text_overflow"><field name="name"/></div>
<t t-name="menu">
<div class="container">
<div class="row">
<div name="manage_view" class="col-4">
<h5 role="menuitem" class=" o_kanban_card_manage_title">
<span>View</span>
</h5>
</div>
<div class="o_kanban_manage_button_section">
<a class="o_kanban_manage_toggle_button" href="#"><i class="fa fa-ellipsis-v" role="img" aria-label="Manage" title="Manage"/></a>
<div name="manage_new" class="col-4">
<h5 role="menuitem" class="o_kanban_card_manage_title">
<span>New</span>
</h5>
</div>
<div name="manage_reports" class="col-4">
<h5 role="menuitem" class="o_kanban_card_manage_title">
<span>Reporting</span>
</h5>
<div name="o_team_kanban_report_separator"></div>
</div>
</div>
<div class="container o_kanban_card_content">
<div class="row o_kanban_card_upper_content">
<div class="col-4 o_kanban_primary_left" name="to_replace_in_sale_crm">
<button type="object" class="btn btn-primary" name="action_primary_channel_button"><field name="dashboard_button_name"/></button>
</div>
<div class="col-8 o_kanban_primary_right" style="padding-bottom:0;">
<t name="first_options"/>
<t name="second_options"/>
<t name="third_options"/>
</div>
</div>
<div class="row">
<div class="col-12 o_kanban_primary_bottom">
<t t-call="SalesTeamDashboardGraph"/>
</div>
</div>
</div><div class="container o_kanban_card_manage_pane dropdown-menu" role="menu">
<div class="row">
<div class="col-4 o_kanban_card_manage_section o_kanban_manage_view">
<div role="menuitem" class="o_kanban_card_manage_title">
<span>View</span>
</div>
</div>
<div class="col-4 o_kanban_card_manage_section o_kanban_manage_new">
<div role="menuitem" class="o_kanban_card_manage_title">
<span>New</span>
</div>
</div>
<div class="col-4 o_kanban_card_manage_section o_kanban_manage_reports">
<div role="menuitem" class="o_kanban_card_manage_title">
<span>Reporting</span>
</div>
<div name="o_team_kanban_report_separator"></div>
</div>
</div>
<div t-if="widget.editable" class="o_kanban_card_manage_settings row" groups="sales_team.group_sale_manager">
<div role="menuitem" aria-haspopup="true" class="col-8">
<ul class="oe_kanban_colorpicker" data-field="color" role="menu"/>
</div>
<div role="menuitem" class="col-4">
<a class="dropdown-item" type="edit">Configuration</a>
</div>
<div t-if="widget.editable" class="o_kanban_card_manage_settings row" groups="sales_team.group_sale_manager">
<div role="menuitem" aria-haspopup="true" class="col-8">
<field name="color" widget="kanban_color_picker"/>
</div>
<div role="menuitem" class="col-4">
<a class="dropdown-item" type="open">Configuration</a>
</div>
</div>
</div>
</t>
<t t-name="SalesTeamDashboardGraph">
<div t-if="record.dashboard_graph_data.raw_value" class="o_sales_team_kanban_graph_section">
<field name="dashboard_graph_data" widget="dashboard_graph" t-att-graph_type="'bar'"/>
<t t-name="card" class="flex-column justify-content-between">
<div class="ms-2 me-3">
<field name="name" class="fw-bold fs-2"/>
</div>
<div class="crm_team_kanban_bottom d-flex align-items-center mt-5">
<field name="company_id" invisible="1"/>
<field name="user_id" widget="many2one_avatar_user" class="ms-auto"/>
</div>
</t>
</templates>
@ -252,7 +210,7 @@
<record id="crm_team_action_config" model="ir.actions.act_window">
<field name="name">Sales Teams</field>
<field name="res_model">crm.team</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">list,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">