mirror of
https://github.com/bringout/oca-ocb-crm.git
synced 2026-04-22 18:12:05 +02:00
19.0 vanilla
This commit is contained in:
parent
dc68f80d3f
commit
7221b9ac46
610 changed files with 135477 additions and 161677 deletions
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<template id="assets_backend" name="CRM assets backend" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<script type="text/javascript" src="/crm/static/src/js/crm_form.js"/>
|
||||
<script type="text/javascript" src="/crm/static/src/js/crm_kanban.js"/>
|
||||
<script type="text/javascript" src="/crm/static/src/js/systray_activity_menu.js"/>
|
||||
<script type="text/javascript" src="/crm/static/src/js/tours/crm.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
<template id="assets_tests" name="CRM Assets Tests" inherit_id="web.assets_tests">
|
||||
<xpath expr="." position="inside">
|
||||
<script type="text/javascript" src="/crm/static/tests/tours/crm_rainbowman.js"></script>
|
||||
<script type="text/javascript" src="/crm/static/tests/tours/crm_email_and_phone_propagation.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
<template id="qunit_suite" name="crm tests" inherit_id="web.qunit_suite_tests">
|
||||
<xpath expr="." position="inside">
|
||||
<script type="text/javascript" src="/crm/static/tests/mock_server.js"></script>
|
||||
<script type="text/javascript" src="/crm/static/tests/crm_rainbowman_tests.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<template id="crm_action_helper" name="crm action helper">
|
||||
<t t-if="team.alias_name and team.alias_domain">
|
||||
<t t-if="team.alias_email">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create an opportunity to start playing with your pipeline.
|
||||
</p><p>Use the <i>New</i> button, or send an email to
|
||||
<a t-attf-href="mailto:#{team.alias_id.display_name}"><t t-esc="team.alias_id.display_name"/></a>
|
||||
<a t-attf-href="mailto:#{team.alias_email}"><t t-esc="team.alias_email"/></a>
|
||||
to test the email gateway.</p>
|
||||
</t>
|
||||
<t t-else="">
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -6,8 +6,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<search string="Search Opportunities">
|
||||
<field name="name"/>
|
||||
<filter string="Include archived" name="archived" domain="['|', ('active', '=', True), ('active', '=', False)]"/>
|
||||
<separator/>
|
||||
<filter string="Active" name="filter_active" domain="[('active', '=', True)]"/>
|
||||
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
||||
</search>
|
||||
</field>
|
||||
|
|
@ -28,7 +27,7 @@
|
|||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<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">
|
||||
<div>
|
||||
<label for="name"/>
|
||||
|
|
@ -44,12 +43,12 @@
|
|||
</record>
|
||||
|
||||
<record id="crm_lost_reason_view_tree" model="ir.ui.view">
|
||||
<field name="name">crm.lost.reason.tree</field>
|
||||
<field name="name">crm.lost.reason.list</field>
|
||||
<field name="model">crm.lost.reason</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Channel" editable="bottom">
|
||||
<list string="Channel" editable="bottom">
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -57,7 +56,7 @@
|
|||
<record id="crm_lost_reason_action" model="ir.actions.act_window">
|
||||
<field name="name">Lost Reasons</field>
|
||||
<field name="res_model">crm.lost.reason</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 Lost Reason
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<menuitem
|
||||
id="crm_menu_root"
|
||||
name="CRM"
|
||||
web_icon="crm,static/description/icon.svg"
|
||||
web_icon="crm,static/description/icon.png"
|
||||
groups="sales_team.group_sale_salesman,sales_team.group_sale_manager"
|
||||
sequence="25"/>
|
||||
|
||||
|
|
@ -38,7 +38,6 @@
|
|||
name="Teams"
|
||||
parent="crm_menu_sales"
|
||||
action="sales_team.crm_team_action_pipeline"
|
||||
groups="sales_team.group_sale_manager"
|
||||
sequence="4"/>
|
||||
<menuitem
|
||||
id="res_partner_menu_customer"
|
||||
|
|
@ -121,12 +120,25 @@
|
|||
action="sales_team.crm_team_member_action"
|
||||
sequence="6"
|
||||
groups="base.group_no_one"/>
|
||||
<menuitem
|
||||
id="crm_team_menu_config_activities"
|
||||
name="Activities"
|
||||
parent="crm_menu_config"
|
||||
sequence="8"/>
|
||||
<menuitem
|
||||
id="crm_team_menu_config_activity_types"
|
||||
name="Activity Types"
|
||||
parent="crm_menu_config"
|
||||
parent="crm_team_menu_config_activities"
|
||||
action="sales_team.mail_activity_type_action_config_sales"
|
||||
sequence="10"/>
|
||||
<menuitem
|
||||
id="mail_activity_plan_menu_config_lead"
|
||||
name="Activity Plans"
|
||||
parent="crm_team_menu_config_activities"
|
||||
action="mail_activity_plan_action_lead"
|
||||
groups="sales_team.group_sale_manager"
|
||||
sequence="11"
|
||||
/>
|
||||
<menuitem
|
||||
id="crm_recurring_plan_menu_config"
|
||||
name="Recurring Plans"
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
<odoo><data>
|
||||
|
||||
<record id="crm_recurring_plan_view_tree" model="ir.ui.view">
|
||||
<field name="name">crm.recurring.plan.view.tree</field>
|
||||
<field name="name">crm.recurring.plan.view.list</field>
|
||||
<field name="model">crm.recurring.plan</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree editable="bottom">
|
||||
<list editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="number_of_months"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
<record id="crm_recurring_plan_action" model="ir.actions.act_window">
|
||||
<field name="name">Recurring Plans</field>
|
||||
<field name="res_model">crm.recurring.plan</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a Recurring Plan
|
||||
|
|
|
|||
|
|
@ -9,22 +9,24 @@
|
|||
<field name="name"/>
|
||||
<field name="sequence"/>
|
||||
<field name="is_won"/>
|
||||
<field name="team_id"/>
|
||||
<field name="team_ids"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- STAGES TREE VIEW + MUTI_EDIT -->
|
||||
<!-- STAGES LIST VIEW + MUTI_EDIT -->
|
||||
<record id="crm_stage_tree" model="ir.ui.view">
|
||||
<field name="name">crm.stage.tree</field>
|
||||
<field name="name">crm.stage.list</field>
|
||||
<field name="model">crm.stage</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Stages" multi_edit="1">
|
||||
<list string="Stages" multi_edit="1">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name" readonly="1"/>
|
||||
<field name="is_won"/>
|
||||
<field name="team_id"/>
|
||||
</tree>
|
||||
<field name="team_ids" widget="many2many_tags"/>
|
||||
<field name="rotting_threshold_days" optional="hide"/>
|
||||
<field name="color" optional="hide" widget="color_picker"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -43,9 +45,14 @@
|
|||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_won"/>
|
||||
<field name="fold"/>
|
||||
<field name="team_id" options='{"no_open": True, "no_create": True}' attrs="{'invisible': [('team_count', '<=', 1)]}" kanban_view_ref="%(sales_team.crm_team_view_kanban)s"/>
|
||||
<field name="color" widget="color_picker"/>
|
||||
<field name="team_ids" widget="many2many_tags" placeholder="Shared with all teams"
|
||||
options='{"no_open": True, "no_create": True}' invisible="team_count <= 1" context="{'kanban_view_ref': 'sales_team.crm_team_view_kanban'}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_won"/>
|
||||
<field name="rotting_threshold_days" invisible="is_won"/>
|
||||
</group>
|
||||
<field name="team_count" invisible="1"/>
|
||||
</group>
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
<odoo><data>
|
||||
|
||||
<record id="crm_team_member_view_tree" model="ir.ui.view">
|
||||
<field name="name">crm.team.member.view.tree</field>
|
||||
<field name="name">crm.team.member.view.list</field>
|
||||
<field name="model">crm.team.member</field>
|
||||
<field name="inherit_id" ref="sales_team.crm_team_member_view_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="user_id" position="after">
|
||||
<field name="assignment_enabled" invisible="1"/>
|
||||
<field name="assignment_enabled" column_invisible="True"/>
|
||||
<field name="assignment_optout"/>
|
||||
<field name="assignment_max"/>
|
||||
<field name="lead_month_count"/>
|
||||
|
|
@ -20,15 +20,17 @@
|
|||
<field name="model">crm.team.member</field>
|
||||
<field name="inherit_id" ref="sales_team.crm_team_member_view_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[hasclass('oe_kanban_details')]" position="after">
|
||||
<field name="assignment_enabled" invisible="1"/>
|
||||
<field name="assignment_optout" invisible="1"/>
|
||||
<field name="active" position="after">
|
||||
<field name="assignment_enabled"/>
|
||||
<field name="assignment_optout"/>
|
||||
<field name="assignment_max"/>
|
||||
</field>
|
||||
<xpath expr="//main" position="after">
|
||||
<div class="o_member_assignment"
|
||||
attrs="{'invisible': ['|', ('assignment_enabled', '=', False), ('assignment_optout', '=', True)]}">
|
||||
<field name="assignment_max" invisible="1"/>
|
||||
invisible="assignment_optout">
|
||||
<field name="lead_month_count" widget="gauge"
|
||||
options="{'max_field': 'assignment_max'}"
|
||||
attrs="{'invisible': [('assignment_max', '=', 0)]}"/>
|
||||
invisible="assignment_max == 0"/>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
|
|
@ -39,21 +41,26 @@
|
|||
<field name="model">crm.team.member</field>
|
||||
<field name="inherit_id" ref="sales_team.crm_team_member_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//group[@name='member_partner_info']" position="after">
|
||||
<group name="group_assign" attrs="{'invisible': [('assignment_enabled', '=', False)]}">
|
||||
<field name="assignment_enabled" invisible="1"/>
|
||||
<field name="assignment_optout"/>
|
||||
<label for="lead_month_count" attrs="{'invisible': [('assignment_optout', '=', True)]}"/>
|
||||
<div attrs="{'invisible': [('assignment_optout', '=', True)]}">
|
||||
<field name="lead_month_count" class="oe_inline"/>
|
||||
<span class="oe_inline"> / </span>
|
||||
<field name="assignment_max" class="oe_inline"/>
|
||||
<span class="oe_inline"> (max) </span>
|
||||
</div>
|
||||
<field name="assignment_domain" string="Domain" widget="domain"
|
||||
options="{'model': 'crm.lead'}"
|
||||
attrs="{'invisible': ['|', ('assignment_max', '=', 0), ('assignment_optout', '=', True)]}"/>
|
||||
</group>
|
||||
<xpath expr="//sheet" position="inside">
|
||||
<notebook>
|
||||
<page string="Lead Assignment" name="lead_assign">
|
||||
<group>
|
||||
<label for="assignment_max" class="o_form_label text-900" string="Capacity" invisible="assignment_optout"/>
|
||||
<span invisible="assignment_optout">
|
||||
<field name="lead_month_count" class="oe_inline"/>
|
||||
<span> leads assigned the last 30 days out of a maximum of </span>
|
||||
<field name="assignment_max" class="oe_inline o_field_highlight o_input_6ch border-bottom border-dark"/>
|
||||
</span>
|
||||
<field name="assignment_optout"/>
|
||||
<field name="assignment_domain_preferred" string="Lead Priority Filter" widget="domain"
|
||||
options="{'model': 'crm.lead', 'foldable': True}"
|
||||
invisible="not assignment_enabled or assignment_max == 0 or assignment_optout"/>
|
||||
<field name="assignment_domain" string="Lead Assignment Filter" widget="domain"
|
||||
options="{'model': 'crm.lead', 'foldable': True}"
|
||||
invisible="not assignment_enabled or assignment_max == 0 or assignment_optout"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<record id="crm_case_form_view_salesteams_lead" model="ir.actions.act_window">
|
||||
<field name="name">Leads</field>
|
||||
<field name="res_model">crm.lead</field>
|
||||
<field name="view_mode">tree,kanban,form</field>
|
||||
<field name="view_mode">list,kanban,form</field>
|
||||
<field name="domain">['|', ('type','=','lead'), ('type','=',False)]</field>
|
||||
<field name="view_ids"
|
||||
eval="[(5, 0, 0),
|
||||
(0, 0, {'view_mode': 'tree', 'view_id': ref('crm_case_tree_view_leads')}),
|
||||
(0, 0, {'view_mode': 'list', 'view_id': ref('crm_case_tree_view_leads')}),
|
||||
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_crm_lead_kanban')})]"/>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_leads_filter"/>
|
||||
<field name="context">{
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<record id="crm_case_form_view_salesteams_opportunity" model="ir.actions.act_window">
|
||||
<field name="name">Opportunities</field>
|
||||
<field name="res_model">crm.lead</field>
|
||||
<field name="view_mode">kanban,tree,graph,form,calendar,pivot</field>
|
||||
<field name="view_mode">kanban,list,graph,form,calendar,pivot</field>
|
||||
<field name="domain">[('type','=','opportunity')]</field>
|
||||
<field name="view_id" ref="crm.crm_case_kanban_view_leads"/>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
<record id="crm_lead_action_team_overdue_opportunity" model="ir.actions.act_window">
|
||||
<field name="name">Overdue Opportunities</field>
|
||||
<field name="res_model">crm.lead</field>
|
||||
<field name="view_mode">kanban,tree,graph,form,calendar,pivot</field>
|
||||
<field name="view_mode">kanban,list,graph,form,calendar,pivot</field>
|
||||
<field name="domain">[('type','=','opportunity')]</field>
|
||||
<field name="view_id" ref="crm.crm_case_kanban_view_leads"/>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
<field name="res_model">crm.lead</field>
|
||||
<field name="context">{'search_default_team_id': [active_id], 'search_default_filter_create_date': 1}</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="view_mode">graph,pivot,tree,form</field>
|
||||
<field name="view_mode">graph,pivot,list,form</field>
|
||||
<field name="view_id" ref="crm_lead_view_graph"/>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_leads_filter"/>
|
||||
<field name="help">Leads Analysis allows you to check different CRM related information like the treatment delays or number of leads per state. You can sort out your leads analysis by different groups to get accurate grained analysis.</field>
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
</record>
|
||||
<record id="action_report_crm_lead_salesteam_view_tree" model="ir.actions.act_window.view">
|
||||
<field name="sequence">4</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="view_id" ref="crm_lead_view_tree_reporting"/>
|
||||
<field name="act_window_id" ref="action_report_crm_lead_salesteam"/>
|
||||
</record>
|
||||
|
|
@ -108,11 +108,11 @@
|
|||
<record id="action_report_crm_opportunity_salesteam" model="ir.actions.act_window">
|
||||
<field name="name">Pipeline Analysis</field>
|
||||
<field name="res_model">crm.lead</field>
|
||||
<field name="view_mode">graph,pivot,tree,form</field>
|
||||
<field name="view_mode">graph,pivot,list,form</field>
|
||||
<field name="search_view_id" ref="crm.crm_opportunity_report_view_search"/>
|
||||
<field name="context">{
|
||||
'search_default_team_id': [active_id],
|
||||
'tree_view_ref': 'crm.crm_case_tree_view_oppor',
|
||||
'list_view_ref': 'crm.crm_lead_view_tree_opportunity_reporting',
|
||||
'search_default_filter_opportunity': True,
|
||||
'search_default_filter_create_date': 1}</field>
|
||||
<field name="domain">[]</field>
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
</record>
|
||||
|
||||
<record id="crm_team_view_tree" model="ir.ui.view">
|
||||
<field name="name">crm.team.tree.inherit.crm</field>
|
||||
<field name="name">crm.team.list.inherit.crm</field>
|
||||
<field name="model">crm.team</field>
|
||||
<field name="inherit_id" ref="sales_team.crm_team_view_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
|
|
@ -136,70 +136,69 @@
|
|||
<field name="inherit_id" ref="sales_team.crm_team_view_form"/>
|
||||
<field name="priority">12</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//sheet" position="before">
|
||||
<xpath expr="//form/*[1]" position="before">
|
||||
<field name="use_leads" invisible="1"/>
|
||||
<header>
|
||||
<field name="use_opportunities" invisible="1"/>
|
||||
<header invisible="not use_leads and not use_opportunities or not assignment_enabled">
|
||||
<button name="action_assign_leads" type="object"
|
||||
string="Assign Leads"
|
||||
class="oe_highlight"
|
||||
confirm="This will assign leads to all members. Do you want to proceed?"
|
||||
attrs="{'invisible': ['|', '&', ('use_leads', '=', False), ('use_opportunities', '=', False), ('assignment_enabled', '=', False)]}"/>
|
||||
invisible="not use_leads and not use_opportunities or not assignment_enabled"
|
||||
confirm-label="Assign Leads"/>
|
||||
</header>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='options_active']" position="inside">
|
||||
<div class="o_row">
|
||||
<span name="opportunities">
|
||||
<field name="use_opportunities"/>
|
||||
<label for="use_opportunities"/>
|
||||
</span>
|
||||
<span class="o_row" groups="crm.group_use_lead">
|
||||
<field name="use_leads"/>
|
||||
<label for="use_leads" string="Leads"/>
|
||||
</span>
|
||||
</div>
|
||||
<span name="opportunities" groups="crm.group_use_lead">
|
||||
<field name="use_opportunities"/>
|
||||
<label for="use_opportunities"/>
|
||||
</span>
|
||||
<span name="leads" groups="crm.group_use_lead">
|
||||
<field name="use_leads"/>
|
||||
<label for="use_leads" string="Leads"/>
|
||||
</span>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='user_id']" position="after">
|
||||
<label for="alias_name" string="Email Alias"
|
||||
attrs="{'invisible': [('use_leads', '=', False),('use_opportunities', '=', False)]}"/>
|
||||
<div class="oe_inline" name="alias_def"
|
||||
attrs="{'invisible': [('use_leads', '=', False),('use_opportunities', '=', False)]}">
|
||||
<field name="alias_id" class="oe_read_only oe_inline"
|
||||
string="Email Alias" required="0"
|
||||
attrs="{'invisible': [('alias_domain', '=', False)]}"/>
|
||||
<div class="oe_inline" name="edit_alias" style="display: inline;" >
|
||||
<div class="oe_edit_only" attrs="{'invisible': [('alias_domain', '=', False)]}" dir="ltr">
|
||||
<field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
|
||||
</div>
|
||||
<button icon="fa-arrow-right" type="action" name="%(base_setup.action_general_configuration)d" string="Configure a custom domain" class="p-0 btn-link" attrs="{'invisible': [('alias_domain', '!=', False)]}"/>
|
||||
invisible="not use_leads and not use_opportunities"/>
|
||||
<div name="alias_def" invisible="not use_leads and not use_opportunities">
|
||||
<field name="alias_id" string="Email Alias" class="oe_read_only" required="0"/>
|
||||
<div class="oe_edit_only" name="edit_alias" dir="ltr">
|
||||
<field name="alias_name" placeholder="alias" class="oe_inline"/>@
|
||||
<field name="alias_domain_id" class="oe_inline" placeholder="e.g. mycompany.com"
|
||||
options="{'no_create': True, 'no_open': True}"/>
|
||||
</div>
|
||||
</div>
|
||||
<field name="alias_contact"
|
||||
string="Accept Emails From"
|
||||
attrs="{'invisible': [('use_leads', '=', False), ('use_opportunities', '=', False)]}"/>
|
||||
invisible="not use_leads and not use_opportunities"/>
|
||||
</xpath>
|
||||
<xpath expr="//group[@name='right']" position="attributes">
|
||||
<attribute name="string">Assignment Rules</attribute>
|
||||
<attribute name="attrs">{'invisible': [('assignment_enabled', '=', False)]}</attribute>
|
||||
<attribute name="invisible">not assignment_enabled</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//group[@name='right']" position="inside">
|
||||
<field name="assignment_enabled" invisible="1"/>
|
||||
<field name="assignment_auto_enabled" invisible="1"/>
|
||||
<field name="assignment_domain" widget="domain" string="Domain"
|
||||
options="{'model': 'crm.lead', 'in_dialog': True}"
|
||||
attrs="{'invisible': [('assignment_enabled', '=', False)]}"/>
|
||||
<label for="lead_all_assigned_month_count" string="Assigned Leads Count"
|
||||
attrs="{'invisible': [('assignment_enabled', '=', False)]}"/>
|
||||
<div attrs="{'invisible': [('assignment_enabled', '=', False)]}">
|
||||
<field name="lead_all_assigned_month_count" class="oe_inline"/> /
|
||||
<field name="assignment_max" class="oe_inline"/>
|
||||
<field name="lead_all_assigned_month_exceeded" invisible="1"/>
|
||||
<div colspan="2">
|
||||
<div class="o_crm_lead_all_assigned_month_exceeded" invisible="not lead_all_assigned_month_exceeded"/>
|
||||
<div class="o_crm_lead_month_assignment text-muted" invisible="not assignment_enabled">
|
||||
<i class="fa fa-info-circle me-2" title="Assigned Lead Count"/>
|
||||
<field name="lead_all_assigned_month_count" class="oe_inline"/><span> leads assigned this month
|
||||
on a maximum of </span><field name="assignment_max" class="oe_inline"/>
|
||||
</div>
|
||||
</div>
|
||||
<field name="assignment_optout" attrs="{'invisible': [('assignment_auto_enabled', '=', False)]}"/>
|
||||
<field name="assignment_domain" widget="domain" string="Domain"
|
||||
options="{'foldable': True, 'model': 'crm.lead', 'in_dialog': True}"
|
||||
invisible="not assignment_enabled"/>
|
||||
<field name="assignment_optout" invisible="not assignment_auto_enabled"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='member_ids']" position="attributes">
|
||||
<attribute name="attrs">{'invisible': [('assignment_enabled', '=', True)]}</attribute>
|
||||
<attribute name="invisible">assignment_enabled</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='crm_team_member_ids']" position="attributes">
|
||||
<attribute name="attrs">{'invisible': [('assignment_enabled', '=', False)]}</attribute>
|
||||
<attribute name="invisible">not assignment_enabled</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
@ -214,7 +213,7 @@
|
|||
|
||||
<record id="action_crm_tag_tree_view_salesteams_oppor11" 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="crm_case_tree_view_oppor"/>
|
||||
<field name="act_window_id" ref="crm_case_form_view_salesteams_opportunity"/>
|
||||
</record>
|
||||
|
|
@ -222,7 +221,6 @@
|
|||
<record id="action_opportunity_form" model="ir.actions.act_window">
|
||||
<field name="name">New Opportunity</field>
|
||||
<field name="res_model">crm.lead</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="crm_lead_view_form"/>
|
||||
<field name="domain">[('type','=','opportunity')]</field>
|
||||
|
|
@ -247,56 +245,28 @@
|
|||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//templates" position="before">
|
||||
<field name="alias_id"/>
|
||||
<field name="alias_name"/>
|
||||
<field name="alias_domain"/>
|
||||
<field name="use_opportunities"/>
|
||||
<field name="use_leads"/>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[hasclass('o_primary')]" position="after">
|
||||
<div t-if="record.alias_name.value and record.alias_domain.value">
|
||||
<xpath expr="//field[@name='name']" position="after">
|
||||
<div class="ms-2" t-if="record.alias_name.value and record.alias_domain.value">
|
||||
<span t-translation="off"><i class="fa fa-envelope-o" aria-label="Leads" title="Leads" role="img"></i>&nbsp; <field name="alias_id"/></span>
|
||||
</div>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//t[@name='first_options']" position="after">
|
||||
<div class="row" t-if="record.lead_unassigned_count.raw_value">
|
||||
<div class="col-8">
|
||||
<a name="%(crm_case_form_view_salesteams_lead)d" type="action" context="{'search_default_unassigned_leads': 1}">
|
||||
<field name="lead_unassigned_count" class="me-1"/>
|
||||
<t t-if="record.lead_unassigned_count.raw_value == 1">Unassigned Lead</t>
|
||||
<t t-else="">Unassigned Leads</t>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" t-if="record.opportunities_count.raw_value">
|
||||
<div class="col-8">
|
||||
<a name="%(crm_case_form_view_salesteams_opportunity)d" type="action" context="{'search_default_open_opportunities': True}"> <!-- context="{'search_default_probability': NOT or < 100}" -->
|
||||
<field name="opportunities_count" class="me-1"/>
|
||||
<t t-if="record.opportunities_count.raw_value == 1">Open Opportunity</t>
|
||||
<t t-else="">Open Opportunities</t>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-4 text-end text-truncate">
|
||||
<field name="opportunities_amount" widget="monetary" options="{'currency_field': 'currency_id'}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" t-if="record.opportunities_overdue_count.raw_value">
|
||||
<div class="col-8">
|
||||
<a name="%(crm_lead_action_team_overdue_opportunity)d" type="action">
|
||||
<field name="opportunities_overdue_count" class="me-1"/>
|
||||
<t t-if="record.opportunities_overdue_count.raw_value == 1">Overdue Opportunity</t>
|
||||
<t t-else="">Overdue Opportunities</t>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-4 text-end text-truncate">
|
||||
<field name="opportunities_overdue_amount" widget="monetary" options="{'currency_field': 'currency_id'}"/>
|
||||
</div>
|
||||
</div>
|
||||
<xpath expr="//div[hasclass('crm_team_kanban_bottom')]/field" position="before">
|
||||
<a name="action_open_unassigned_leads" type="object" class="ms-2 me-auto" invisible="not lead_unassigned_count">
|
||||
<field name="lead_unassigned_count" class="me-1"/>Unassigned Leads
|
||||
</a>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[hasclass('o_kanban_manage_view')]/div[hasclass('o_kanban_card_manage_title')]" position="after">
|
||||
<xpath expr="//div[@name='manage_view']" position="attributes">
|
||||
<attribute name="class" add="col-5" remove="col-4"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='manage_view']/h5[hasclass('o_kanban_card_manage_title')]" position="after">
|
||||
<div t-if="record.use_leads.raw_value" groups="crm.group_use_lead">
|
||||
<a name="%(crm_case_form_view_salesteams_lead)d" type="action">
|
||||
Leads
|
||||
|
|
@ -308,8 +278,11 @@
|
|||
</a>
|
||||
</div>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[hasclass('o_kanban_manage_new')]/div[hasclass('o_kanban_card_manage_title')]" position="after">
|
||||
|
||||
<xpath expr="//div[@name='manage_new']" position="attributes">
|
||||
<attribute name="class" add="col-5" remove="col-4"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='manage_new']/h5[hasclass('o_kanban_card_manage_title')]" position="after">
|
||||
<div t-if="record.use_leads.raw_value" groups="crm.group_use_lead">
|
||||
<a name="%(crm_lead_action_open_lead_form)d" type="action">
|
||||
Leads
|
||||
|
|
@ -322,7 +295,10 @@
|
|||
</div>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[hasclass('o_kanban_manage_reports')]/div[hasclass('o_kanban_card_manage_title')]" position="after">
|
||||
<xpath expr="//div[@name='manage_reports']" position="attributes">
|
||||
<attribute name="class" add="col-5" remove="col-4"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='manage_reports']/h5[hasclass('o_kanban_card_manage_title')]" position="after">
|
||||
<div t-if="record.use_leads.raw_value" groups="crm.group_use_lead">
|
||||
<a name="%(action_report_crm_lead_salesteam)d" type="action">
|
||||
Leads
|
||||
|
|
@ -335,13 +311,11 @@
|
|||
</div>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[hasclass('o_kanban_manage_reports')]/div[@name='o_team_kanban_report_separator']" position="after">
|
||||
<div name="activity_report">
|
||||
<div t-if="record.use_opportunities.raw_value">
|
||||
<a name="%(crm.crm_activity_report_action_team)d" type="action" style="color: #444B5A;">
|
||||
Activities
|
||||
</a>
|
||||
</div>
|
||||
<xpath expr="//div[@name='manage_reports']/div[@name='o_team_kanban_report_separator']" position="after">
|
||||
<div t-if="record.use_opportunities.raw_value">
|
||||
<a name="%(crm.crm_activity_report_action_team)d" type="action">
|
||||
Activities
|
||||
</a>
|
||||
</div>
|
||||
</xpath>
|
||||
</data>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="mail_activity_plan_action_lead" model="ir.actions.act_window">
|
||||
<field name="name">Lead Activity Plans</field>
|
||||
<field name="res_model">mail.activity.plan</field>
|
||||
<field name="view_mode">list,kanban,form</field>
|
||||
<field name="search_view_id" ref="mail.mail_activity_plan_view_search"/>
|
||||
<field name="context">{'default_res_model': 'crm.lead'}</field>
|
||||
<field name="domain">[('res_model', '=', 'crm.lead')]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a Lead Activity Plan
|
||||
</p>
|
||||
<p>
|
||||
Activity plans are used to assign a list of activities in just a few clicks
|
||||
(e.g. "Demo Preparation Process", "Qualification", ...)
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -7,175 +7,112 @@
|
|||
<field name="priority" eval="5"/>
|
||||
<field name="inherit_id" ref="base.res_config_settings_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[hasclass('settings')]" position="inside">
|
||||
<div class="app_settings_block" data-string="CRM" string="CRM" data-key="crm" groups="sales_team.group_sale_manager">
|
||||
<h2>CRM</h2>
|
||||
<div class="row mt16 o_settings_container">
|
||||
<div class="col-lg-6 o_setting_box">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="group_use_recurring_revenues"/>
|
||||
<xpath expr="//form" position="inside">
|
||||
<app data-string="CRM" string="CRM" name="crm" groups="sales_team.group_sale_manager">
|
||||
<block title="CRM">
|
||||
<setting help="Define recurring plans and revenues on Opportunities">
|
||||
<field name="group_use_recurring_revenues"/>
|
||||
<div invisible="not group_use_recurring_revenues">
|
||||
<button type="action" name="crm.crm_recurring_plan_action"
|
||||
string="Manage Recurring Plans" icon="oi-arrow-right" class="oe_link"/>
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="group_use_recurring_revenues"/>
|
||||
<div class="text-muted">
|
||||
Define recurring plans and revenues on Opportunities
|
||||
</div>
|
||||
<div attrs="{'invisible': [('group_use_recurring_revenues', '=', False)]}">
|
||||
<button type="action" name="crm.crm_recurring_plan_action"
|
||||
string="Manage Recurring Plans" icon="fa-arrow-right" class="oe_link"/>
|
||||
</setting>
|
||||
<setting id="crm_lead" title="Use leads if you need a qualification step before creating an opportunity or a customer. It can be a business card you received, a contact form filled in your website, or a file of unqualified prospects you import, etc. Once qualified, the lead can be converted into a business opportunity and/or a new customer in your address book." help="Add a qualification step before the creation of an opportunity">
|
||||
<field name="group_use_lead"/>
|
||||
</setting>
|
||||
</block>
|
||||
<block>
|
||||
<setting help="Assign salespersons into multiple Sales Teams.">
|
||||
<field name="is_membership_multi"/>
|
||||
</setting>
|
||||
<setting string="Ringover VOIP Phone" id="ringover-voip" help="Make and receive calls from Odoo with Ringover's dialer. Track calls, SMS messages, and get AI-powered transcripts of your conversations.">
|
||||
<a class="oe_link fw-bold" href="https://chromewebstore.google.com/detail/ringover-voip-phone-for-o/bdeapcnahigpibeoehandgaiijljkdnl" target="_blank">
|
||||
<i class="oi oi-arrow-right"/>
|
||||
Install Extension
|
||||
</a>
|
||||
</setting>
|
||||
<setting id="partnership_settings" help="Manage members or partners. Members get grades and pricelists, partners allow lead assignment and commission plans.">
|
||||
<field name="module_partnership"/>
|
||||
</setting>
|
||||
</block>
|
||||
<block>
|
||||
<field name="predictive_lead_scoring_fields_str" invisible="1"/>
|
||||
<field name="predictive_lead_scoring_start_date_str" invisible="1"/>
|
||||
<setting title="This can be used to compute statistical probability to close a lead" name="predictive_lead_setting_container" string="Predictive Lead Scoring">
|
||||
<div class="text-muted">
|
||||
The success rate is computed based on <b>
|
||||
<field name="predictive_lead_scoring_field_labels" class="d-inline"/>
|
||||
</b>
|
||||
for the leads created as of the
|
||||
<b><field name="predictive_lead_scoring_start_date" class="oe_inline" readonly="1"/></b>.
|
||||
</div>
|
||||
<div class="mt16" groups="base.group_erp_manager">
|
||||
<button name="%(crm_lead_pls_update_action)d" type="action"
|
||||
string="Update Probabilities"
|
||||
class="btn-primary"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 o_setting_box" id="crm_lead"
|
||||
title="Use leads if you need a qualification step before creating an opportunity or a customer. It can be a business card you received, a contact form filled in your website, or a file of unqualified prospects you import, etc. Once qualified, the lead can be converted into a business opportunity and/or a new customer in your address book.">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="group_use_lead"/>
|
||||
</setting>
|
||||
<setting title="This can be used to automatically assign leads to sales persons based on rules" documentation="/applications/sales/crm/track_leads/lead_scoring.html#assign-leads">
|
||||
<field name="crm_use_auto_assignment"/>
|
||||
<div class="text-muted">
|
||||
<span>Periodically assign leads based on priorities and filters.</span><br />
|
||||
<span invisible="not crm_use_auto_assignment">
|
||||
All sales teams will use this setting by default unless
|
||||
specified otherwise.
|
||||
</span>
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="group_use_lead"/>
|
||||
<div class="text-muted">
|
||||
Add a qualification step before the creation of an opportunity
|
||||
</div>
|
||||
<div class="row flex-row flex-nowrap mt16" invisible="not crm_use_auto_assignment">
|
||||
<label string="Running" for="crm_auto_assignment_action" class="col-lg-3 o_light_label"/>
|
||||
<field name="crm_auto_assignment_action"
|
||||
required="crm_use_auto_assignment"/>
|
||||
<button name="action_crm_assign_leads" type="object" class="btn-link w-auto">
|
||||
<i title="Update now" role="img" aria-label="Update now" class="fa fa-fw fa-refresh"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt16 o_settings_container">
|
||||
<div class="col-12 col-lg-6 o_setting_box">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="is_membership_multi"/>
|
||||
<div class="row mt16" invisible="not crm_use_auto_assignment or crm_auto_assignment_action == 'manual'">
|
||||
<label string="Repeat every" for="crm_auto_assignment_interval_type" class="col-lg-3 o_light_label"/>
|
||||
<field name="crm_auto_assignment_interval_number"
|
||||
class="oe_inline me-2"
|
||||
required="crm_use_auto_assignment and crm_auto_assignment_action == 'auto'"/>
|
||||
<field name="crm_auto_assignment_interval_type"
|
||||
class="oe_inline"
|
||||
required="crm_use_auto_assignment and crm_auto_assignment_action == 'auto'"/>
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="is_membership_multi"/>
|
||||
<div class="text-muted">
|
||||
Assign salespersons into multiple Sales Teams.
|
||||
</div>
|
||||
<div class="row" invisible="not crm_use_auto_assignment or crm_auto_assignment_action == 'manual'">
|
||||
<label string="Next Run" for="crm_auto_assignment_run_datetime" class="col-lg-3 o_light_label"/>
|
||||
<field name="crm_auto_assignment_run_datetime"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt16 o_settings_container">
|
||||
<div class="col-lg-6 o_setting_box"
|
||||
title="This can be used to compute statistical probability to close a lead"
|
||||
name="predictive_lead_setting_container">
|
||||
<field name="predictive_lead_scoring_fields_str" invisible="1"/>
|
||||
<field name="predictive_lead_scoring_start_date_str" invisible="1"/>
|
||||
<div class="o_setting_left_pane"></div>
|
||||
<div class="o_setting_right_pane">
|
||||
<b>Predictive Lead Scoring</b>
|
||||
<div class="text-muted">
|
||||
The success rate is computed based on <b>
|
||||
<field name="predictive_lead_scoring_field_labels" class="d-inline"/>
|
||||
</b>
|
||||
for the leads created as of the
|
||||
<b><field name="predictive_lead_scoring_start_date" class="oe_inline" readonly="1"/></b>.
|
||||
</div>
|
||||
<div class="mt16" groups="base.group_erp_manager">
|
||||
<button name="%(crm_lead_pls_update_action)d" type="action"
|
||||
string="Update Probabilities"
|
||||
class="btn-primary"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-6 o_setting_box"
|
||||
title="This can be used to automatically assign leads to sales persons based on rules">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="crm_use_auto_assignment"/>
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="crm_use_auto_assignment"/>
|
||||
<a href="https://www.odoo.com/documentation/16.0/applications/sales/crm/track_leads/lead_scoring.html#assign-leads"
|
||||
title="Assign Documentation" class="o_doc_link" target="_blank"></a>
|
||||
<div class="text-muted">
|
||||
<span>Periodically assign leads based on rules</span><br />
|
||||
<span attrs="{'invisible': [('crm_use_auto_assignment', '=', False)]}">
|
||||
All sales teams will use this setting by default unless
|
||||
specified otherwise.
|
||||
</span>
|
||||
</div>
|
||||
<div class="row flex-row flex-nowrap mt16" attrs="{'invisible': [('crm_use_auto_assignment', '=', False)]}">
|
||||
<label string="Running" for="crm_auto_assignment_action" class="col-lg-3 o_light_label"/>
|
||||
<field name="crm_auto_assignment_action"
|
||||
attrs="{'required': [('crm_use_auto_assignment', '=', True)]}"/>
|
||||
<button name="action_crm_assign_leads" type="object" class="btn-link w-auto">
|
||||
<i title="Update now" role="img" aria-label="Update now" class="fa fa-fw fa-refresh"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="row mt16" attrs="{'invisible': ['|', ('crm_use_auto_assignment', '=', False), ('crm_auto_assignment_action', '=', 'manual')]}">
|
||||
<label string="Repeat every" for="crm_auto_assignment_interval_type" class="col-lg-3 o_light_label"/>
|
||||
<field name="crm_auto_assignment_interval_number"
|
||||
class="oe_inline me-2"
|
||||
attrs="{'required': [('crm_use_auto_assignment', '=', True), ('crm_auto_assignment_action', '=', 'auto')]}"/>
|
||||
<field name="crm_auto_assignment_interval_type"
|
||||
class="oe_inline"
|
||||
attrs="{'required': [('crm_use_auto_assignment', '=', True), ('crm_auto_assignment_action', '=', 'auto')]}"/>
|
||||
</div>
|
||||
<div class="row" attrs="{'invisible': ['|', ('crm_use_auto_assignment', '=', False), ('crm_auto_assignment_action', '=', 'manual')]}">
|
||||
<label string="Next Run" for="crm_auto_assignment_run_datetime" class="col-lg-3 o_light_label"/>
|
||||
<field name="crm_auto_assignment_run_datetime"/>
|
||||
</div>
|
||||
</setting>
|
||||
</block>
|
||||
|
||||
<block title="Lead Generation" name="convert_visitor_setting_container">
|
||||
<setting string="Lead Enrichment" help="Enrich your leads with company data based on their email addresses">
|
||||
<field name="module_crm_iap_enrich"/>
|
||||
<div class="mt8" invisible="not module_crm_iap_enrich">
|
||||
<field name="lead_enrich_auto" class="o_light_label" widget="radio" required="True"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</setting>
|
||||
|
||||
<h2>Lead Generation</h2>
|
||||
<div class="row mt16 o_settings_container" name="convert_visitor_setting_container">
|
||||
<div class="col-lg-6 o_setting_box">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="module_crm_iap_enrich"/>
|
||||
</div>
|
||||
<setting id="crm_iap_mine_settings" string="Lead Mining" documentation="/applications/sales/crm/acquire_leads/lead_mining.html" help="Generate new leads based on their country, industry, size, etc.">
|
||||
<field name="module_crm_iap_mine"/>
|
||||
</setting>
|
||||
|
||||
<div class="o_setting_right_pane" id="crm_iap_enrich_settings">
|
||||
<label string="Lead Enrichment" for="module_crm_iap_enrich"/>
|
||||
<div class="text-muted">
|
||||
Enrich your leads with company data based on their email addresses
|
||||
</div>
|
||||
<div class="mt8" attrs="{'invisible': [('module_crm_iap_enrich','=',False)]}">
|
||||
<field name="lead_enrich_auto" class="o_light_label" widget="radio" required="True"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 o_setting_box">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="module_crm_iap_mine"/>
|
||||
</div>
|
||||
|
||||
<div class="o_setting_right_pane" id="crm_iap_mine_settings">
|
||||
<label string="Lead Mining" for="module_crm_iap_mine"/>
|
||||
<a href="https://www.odoo.com/documentation/16.0/applications/sales/crm/acquire_leads/lead_mining.html" title="Documentation" class="o_doc_link" target="_blank"></a>
|
||||
<div class="text-muted">
|
||||
Generate new leads based on their country, industry, size, etc.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row mt16 o_settings_container" name="generate_lead_setting_container">
|
||||
<div class="col-lg-6 o_setting_box">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="module_website_crm_iap_reveal"/>
|
||||
</div>
|
||||
|
||||
<div class="o_setting_right_pane" id="website_crm_iap_reveal_settings">
|
||||
<label string="Visits to Leads" for="module_website_crm_iap_reveal"/>
|
||||
<div class="text-muted">
|
||||
Convert visitors of your website into leads and perform data enrichment based on their IP address
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</block>
|
||||
<block name="generate_lead_setting_container">
|
||||
<setting id="website_crm_iap_reveal_settings" string="Visits to Leads" help="Convert visitors of your website into leads and perform data enrichment based on their IP address">
|
||||
<field name="module_website_crm_iap_reveal"/>
|
||||
</setting>
|
||||
</block>
|
||||
</app>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="crm_config_settings_action" model="ir.actions.act_window">
|
||||
<field name="name">Settings</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">res.config.settings</field>
|
||||
<field name="view_id" ref="res_config_settings_view_form"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">inline</field>
|
||||
<field name="context">{'module' : 'crm', 'bin_size': False}</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,31 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
|
||||
<!-- Partner kanban view inherit -->
|
||||
<record id="crm_lead_partner_kanban_view" model="ir.ui.view">
|
||||
<field name="name">res.partner.kanban.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.res_partner_kanban_view"/>
|
||||
<field name="priority" eval="10"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="mobile" position="after">
|
||||
<field name="opportunity_count" groups="sales_team.group_sale_salesman"/>
|
||||
</field>
|
||||
<xpath expr="//div[hasclass('oe_kanban_bottom_left')]" position="inside">
|
||||
<a t-if="record.opportunity_count.value>0" href="#"
|
||||
groups="sales_team.group_sale_salesman"
|
||||
data-type="object" data-name="action_view_opportunity"
|
||||
class="oe_kanban_action oe_kanban_action_a me-1">
|
||||
<span class="badge rounded-pill">
|
||||
<i class="fa fa-fw fa-star" aria-label="Opportunities"
|
||||
role="img" title="Opportunities"/>
|
||||
<t t-out="record.opportunity_count.value"/>
|
||||
</span>
|
||||
</a>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Add contextual button on partner form view -->
|
||||
<record id="view_partners_form_crm1" model="ir.ui.view">
|
||||
<field name="name">view.res.partner.form.crm.inherited1</field>
|
||||
|
|
@ -39,7 +13,7 @@
|
|||
name="action_view_opportunity"
|
||||
icon="fa-star"
|
||||
groups="sales_team.group_sale_salesman"
|
||||
context="{'default_partner_id': active_id, 'default_type':'opportunity'}">
|
||||
context="{'default_partner_id': id, 'default_type':'opportunity'}">
|
||||
<field string="Opportunities" name="opportunity_count" widget="statinfo"/>
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,15 +5,24 @@
|
|||
<field name="model">utm.campaign</field>
|
||||
<field name="inherit_id" ref="utm.utm_campaign_view_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='user_id']" position="after">
|
||||
<xpath expr="//field[@name='active']" position="after">
|
||||
<field name="use_leads"/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@id='utm_statistics']" position="inside">
|
||||
<div class="me-3"
|
||||
groups="sales_team.group_sale_salesman"
|
||||
t-att-title="record.use_leads.raw_value ? 'Leads' : 'Opportunities'">
|
||||
<i class="fa fa-star text-muted"></i> <small class="fw-bold"><field name="crm_lead_count"/></small>
|
||||
</div>
|
||||
<xpath expr="//footer/div" position="inside">
|
||||
<t t-if="record.use_leads.raw_value">
|
||||
<t t-set="crm_lead_count_label">Leads</t>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<t t-set="crm_lead_count_label">Opportunities</t>
|
||||
</t>
|
||||
<a t-if="record.crm_lead_count" href="#" t-att-title="crm_lead_count_label" role="button"
|
||||
groups="sales_team.group_sale_salesman" type="object" name="action_redirect_to_leads_opportunities"
|
||||
class="btn-outline-primary rounded-pill me-1 order-3">
|
||||
<span class="badge">
|
||||
<i class="fa fa-fw fa-star" t-att-aria-label="crm_lead_count_label" role="img"/>
|
||||
<field name="crm_lead_count"/>
|
||||
</span>
|
||||
</a>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
@ -32,8 +41,8 @@
|
|||
<div class="o_field_widget o_stat_info">
|
||||
<field name="use_leads" invisible="1"/>
|
||||
<span class="o_stat_value"><field nolabel="1" name="crm_lead_count"/></span>
|
||||
<span class="o_stat_text" attrs="{'invisible': [('use_leads', '=', False)]}">Leads</span>
|
||||
<span class="o_stat_text" attrs="{'invisible': [('use_leads', '=', True)]}">Opportunities</span>
|
||||
<span class="o_stat_text" invisible="not use_leads">Leads</span>
|
||||
<span class="o_stat_text" invisible="use_leads">Opportunities</span>
|
||||
</div>
|
||||
</button>
|
||||
</xpath>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue