summaryrefslogtreecommitdiff
path: root/addons/crm_iap_lead/views
diff options
context:
space:
mode:
Diffstat (limited to 'addons/crm_iap_lead/views')
-rw-r--r--addons/crm_iap_lead/views/assets.xml9
-rw-r--r--addons/crm_iap_lead/views/crm_iap_lead_views.xml159
-rw-r--r--addons/crm_iap_lead/views/crm_lead_view.xml47
-rw-r--r--addons/crm_iap_lead/views/mail_templates.xml59
-rw-r--r--addons/crm_iap_lead/views/res_config_settings_views.xml13
5 files changed, 287 insertions, 0 deletions
diff --git a/addons/crm_iap_lead/views/assets.xml b/addons/crm_iap_lead/views/assets.xml
new file mode 100644
index 00000000..107a1140
--- /dev/null
+++ b/addons/crm_iap_lead/views/assets.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <template id="assets_backend" name="crm_iap_lead assets" inherit_id="web.assets_backend">
+ <xpath expr="." position="inside">
+ <script type="text/javascript" src="/crm_iap_lead/static/src/js/leads_tree_generate_leads.js"/>
+ <script type="text/javascript" src="/crm_iap_lead/static/src/js/tours/crm_iap_lead.js"></script>
+ </xpath>
+ </template>
+</odoo> \ No newline at end of file
diff --git a/addons/crm_iap_lead/views/crm_iap_lead_views.xml b/addons/crm_iap_lead/views/crm_iap_lead_views.xml
new file mode 100644
index 00000000..f1c7abb3
--- /dev/null
+++ b/addons/crm_iap_lead/views/crm_iap_lead_views.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="crm_iap_lead_mining_request_form" model="ir.ui.view">
+ <field name="name">crm.iap.lead.mining.request.form</field>
+ <field name="model">crm.iap.lead.mining.request</field>
+ <field name="arch" type="xml">
+ <form>
+ <header>
+ <button name="action_submit" type="object" string="Submit" states="draft" class="oe_highlight" invisible="context.get('is_modal')"/>
+ <button name="action_submit" type="object" string="Retry" states="error" class="oe_highlight"/>
+ <field name="state" widget="statusbar" statusbar_visible="draft,done" invisible="context.get('is_modal')"/>
+ </header>
+ <sheet>
+ <div class="oe_button_box" name="button_box">
+ <button name="action_get_opportunity_action" class="oe_stat_button" type="object" icon="fa-handshake-o" attrs="{'invisible': ['|', ('lead_type', '!=', 'opportunity'), ('state', '!=' , 'done')]}">
+ <div class="o_stat_info">
+ <field name="lead_count"/>
+ <span class="o_stat_text">Opportunities</span>
+ </div>
+ </button>
+ <button name="action_get_lead_action" class="oe_stat_button" type="object" icon="fa-handshake-o" groups="crm.group_use_lead" attrs="{'invisible': ['|', ('lead_type', '!=', 'lead'), ('state', '!=' , 'done')]}">
+ <div class="o_stat_info">
+ <field name="lead_count"/>
+ <span class="o_stat_text">Leads</span>
+ </div>
+ </button>
+ </div>
+ <span invisible="context.get('is_modal')">
+ <div class="row">
+ <div class="col-md-6">
+ <div class="oe_title">
+ <h1>
+ <field name="name"/>
+ </h1>
+ </div>
+ </div>
+ </div>
+ </span>
+
+ <h2>What do you need ?</h2>
+
+ <group name="requests">
+ <group>
+ <div class="o_row">
+ <field name="lead_number" attrs="{'readonly': [('state', '!=', 'draft')]}" nolabel="1" class="oe_inline col-md-2 pl-0"/>
+ <field name="search_type" widget="selection" attrs="{'readonly': [('state', '!=', 'draft')]}" nolabel="1" class="oe_inline col-md-6"/>
+ <field name="error" attrs="{'invisible': [('state', '!=', 'error')]}"/>
+ </div>
+ </group>
+ </group>
+
+ <group>
+ <group name="companies">
+ <field name="country_ids" widget="many2many_tags" attrs="{'readonly': [('state', '!=', 'draft')]}" required="True" options="{'no_create': True, 'no_open': True}"/>
+ <field name="state_ids" widget="many2many_tags" attrs="{'invisible': [('country_ids', '=', [])], 'readonly': [('state', '!=', 'draft')]}" domain="[('country_id', 'in', country_ids)]" options="{'no_create': True, 'no_open': True}"/>
+ <field name="industry_ids" widget="many2many_tags" attrs="{'readonly': [('state', '!=', 'draft')]}" options="{'no_create': True, 'no_open': True}" class="o_industry"/>
+ <field name="filter_on_size" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
+ <label for="company_size_min" attrs="{'invisible': [('filter_on_size', '=', False)]}"/>
+ <div attrs="{'invisible': [('filter_on_size', '=', False)]}">
+ From
+ <field name="company_size_min" class="oe_inline col-sm-3" attrs="{'required': [('filter_on_size', '=', True)], 'readonly': [('state', '!=', 'draft')]}"/>
+ to
+ <field name="company_size_max" class="oe_inline col-sm-3" attrs="{'required': [('filter_on_size', '=', True)], 'readonly': [('state', '!=', 'draft')]}"/>
+ employees
+ </div>
+
+ </group>
+ <group name="lead_info">
+ <field name="lead_type" groups="crm.group_use_lead" invisible="context.get('is_modal')" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
+ <field name="team_id" no_create="1" no_open="1" attrs="{'readonly': [('state', '!=', 'draft')]}" kanban_view_ref="%(sales_team.crm_team_view_kanban)s"/>
+ <field name="user_id" no_create="1" no_open="1" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
+ <field name="tag_ids" string="Default Tags" widget="many2many_tags" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
+ </group>
+ </group>
+
+ <group name="contacts" attrs="{'invisible': [('search_type', '!=', 'people')]}">
+ <div>
+ <field name="contact_number" attrs="{'readonly': [('state', '!=', 'draft')], 'required': [('search_type', '=', 'people')]}" nolabel="1" class="col-md-1"/>
+ <span class="col-md-6">Extra contacts per Company</span>
+ </div>
+ </group>
+ <group attrs="{'invisible': [('search_type', '!=', 'people')]}">
+ <group>
+ <field name="contact_filter_type" widget="radio" attrs="{'readonly': [('state', '!=', 'draft')]}" options="{'horizontal': true}"/>
+ <field name="preferred_role_id" options="{'no_create_edit': True, 'no_quick_create': True}" attrs="{'invisible': [('contact_filter_type','!=', 'role')], 'required': [('search_type', '=', 'people'), ('contact_filter_type', '=', 'role')], 'readonly': [('state', '!=', 'draft')]}"/>
+ <field name="role_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True, 'no_quick_create': True}" attrs="{'invisible': ['|', ('preferred_role_id','=', False), ('contact_filter_type','!=', 'role')], 'readonly': [('state', '!=', 'draft')]}"/>
+ <field name="seniority_id" options="{'no_create_edit': True, 'no_quick_create': True}" attrs="{'invisible': [('contact_filter_type', '!=', 'seniority')], 'required': [('search_type', '=', 'people'), ('contact_filter_type', '=', 'seniority')], 'readonly': [('state', '!=', 'draft')]}"/>
+ </group>
+ </group>
+ <footer>
+ <button string="Generate Leads" name="action_submit" type="object" default_focus="1" class="btn-primary" invisible="not context.get('is_modal')"/>
+ <button string="Cancel" class="btn-secondary" special="cancel" invisible="not context.get('is_modal')"/>
+ </footer>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="crm_iap_lead_mining_request_tree" model="ir.ui.view">
+ <field name="name">crm.iap.lead.mining.request.tree</field>
+ <field name="model">crm.iap.lead.mining.request</field>
+ <field name="arch" type="xml">
+ <tree>
+ <field name="name" decoration-bf="1"/>
+ <field name="display_lead_label" string="Number of Leads"/>
+ <field name="search_type"/>
+ <field name="country_ids" widget="many2many_tags"/>
+ <field name="team_id"/>
+ <field name="user_id"/>
+ <field name="tag_ids" widget="many2many_tags"/>
+ <field name="state" readonly="1" decoration-info="state == 'draft'" decoration-success="state == 'done'" decoration-danger="state == 'error'" widget="badge"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="crm_iap_lead_mining_request_search" model="ir.ui.view">
+ <field name="name">crm.iap.lead.mining.request.search</field>
+ <field name="model">crm.iap.lead.mining.request</field>
+ <field name="arch" type="xml">
+ <search string="Lead Mining Request">
+ <field name="name"/>
+ <field name="team_id"/>
+ <field name="user_id"/>
+ <field name="tag_ids"/>
+ <filter name="state_is_draft" string="Draft" domain="[('state', '=', 'draft')]"/>
+ <filter name="state_is_done" string="Done" domain="[('state', '=', 'done')]"/>
+ <filter name="state_is_error" string="Error" domain="[('state', '=', 'error')]"/>
+ <separator/>
+ <filter name="type_is_lead" string="Leads" domain="[('lead_type', '=', 'lead')]"/>
+ <filter name="type_is_opportunity" string="Opportunities" domain="[('lead_type', '=', 'opportunity')]"/>
+ <group expand="0" string="Group By">
+ <filter string="Type" name="groupby_lead_type" domain="[]" context="{'group_by':'lead_type'}"/>
+ <filter string="Sales Team" name="groupby_team_id" domain="[]" context="{'group_by':'team_id'}"/>
+ <filter string="Salesperson" name="groupby_user_id" domain="[]" context="{'group_by':'user_id'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="crm_iap_lead_mining_request_action" model="ir.actions.act_window">
+ <field name="name">Lead Mining Requests</field>
+ <field name="res_model">crm.iap.lead.mining.request</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <!-- This menu is display in CRM app when crm_iap_lead is installed-->
+ <menuitem
+ id="crm_menu_lead_generation"
+ name="Lead Generation"
+ parent="crm.crm_menu_config"
+ sequence="20"/>
+
+ <menuitem
+ id="crm_iap_lead_mining_request_menu_action"
+ action="crm_iap_lead_mining_request_action"
+ parent="crm_menu_lead_generation"
+ sequence="0"/>
+
+</odoo>
diff --git a/addons/crm_iap_lead/views/crm_lead_view.xml b/addons/crm_iap_lead/views/crm_lead_view.xml
new file mode 100644
index 00000000..9386b197
--- /dev/null
+++ b/addons/crm_iap_lead/views/crm_lead_view.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<odoo>
+ <record id="crm_iap_opportunity_tree" model="ir.ui.view">
+ <field name="name">crm.opportunity.inherited.tree</field>
+ <field name="model">crm.lead</field>
+ <field name="inherit_id" ref="crm.crm_case_tree_view_oppor" />
+ <field name="arch" type="xml">
+ <xpath expr="//tree" position="attributes">
+ <attribute name="js_class">crm_iap_lead_mining_request_tree</attribute>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="crm_iap_opportunity_kanban" model="ir.ui.view">
+ <field name="name">crm.opportunity.inherited.kanban</field>
+ <field name="model">crm.lead</field>
+ <field name="inherit_id" ref="crm.crm_case_kanban_view_leads" />
+ <field name="arch" type="xml">
+ <xpath expr="//kanban" position="attributes">
+ <attribute name="js_class">crm_iap_lead_mining_request_kanban</attribute>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="crm_iap_lead_tree" model="ir.ui.view">
+ <field name="name">crm.lead.inherited.tree</field>
+ <field name="model">crm.lead</field>
+ <field name="inherit_id" ref="crm.crm_case_tree_view_leads" />
+ <field name="arch" type="xml">
+ <xpath expr="//tree" position="attributes">
+ <attribute name="js_class">crm_iap_lead_mining_request_tree</attribute>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="crm_iap_lead_kanban" model="ir.ui.view">
+ <field name="name">crm.lead.inherited.kanban</field>
+ <field name="model">crm.lead</field>
+ <field name="inherit_id" ref="crm.view_crm_lead_kanban" />
+ <field name="arch" type="xml">
+ <xpath expr="//kanban" position="attributes">
+ <attribute name="js_class">crm_iap_lead_mining_request_kanban</attribute>
+ </xpath>
+ </field>
+ </record>
+</odoo>
diff --git a/addons/crm_iap_lead/views/mail_templates.xml b/addons/crm_iap_lead/views/mail_templates.xml
new file mode 100644
index 00000000..dbb4fa1a
--- /dev/null
+++ b/addons/crm_iap_lead/views/mail_templates.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<odoo>
+ <template id="enrich_company" inherit_id="iap_mail.enrich_company">
+ <xpath expr="//div[hasclass('o_partner_autocomplete_enrich_info')]" position="inside">
+ <t t-if="people_data">
+ <div style="font-size:16px; margin: 9px 0;">
+ <b>Contacts</b>
+ </div>
+ <table style="width:100%;
+ border-top-style: solid;border-top-color: #eeeeee;border-top-width: 1px;
+ border-bottom-style: solid;border-bottom-color: #eeeeee;border-bottom-width: 1px;
+ border-left-style: solid;border-left-color: #eeeeee;border-left-width: 1px;
+ border-right-style: solid;border-right-color: #eeeeee;border-right-width: 1px;" t-if="people_data">
+ <thead>
+ <tr style="background-color: #eeeeee">
+ <th style="padding: 5px; width: 20%;">
+ Name
+ </th>
+ <th style="padding: 5px; width: 20%;">
+ Title
+ </th>
+ <th style="padding: 5px; width: 30%;">
+ <img style="vertical-align: text-top;" src="web_editor/font_to_img/61664/rgb(102,102,102)/13"/>
+ Email
+ </th>
+ <th style="padding: 5px; width: 30%;">
+ <img style="vertical-align: text-top;" src="web_editor/font_to_img/61589/rgb(102,102,102)/13"/>
+ Phone
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <t t-foreach="people_data" t-as="people">
+ <tr t-att-style="people_odd and 'background-color:#eeeeee' or None">
+ <td style="padding: 5px">
+ <t t-esc="people['full_name'] or ''"/>
+ </td>
+ <td style="padding: 5px">
+ <t t-esc="people['title'] or ''"/>
+ </td>
+ <td style="padding: 5px">
+ <a t-if="people['email']" t-attf-href="mailto:{{people['email']}}" target="_top">
+ <t t-esc="people['email']"/>
+ </a>
+ </td>
+ <td style="padding: 5px">
+ <a t-if="people['phone']" t-attf-href="tel:{{people['phone']}}">
+ <t t-esc="people['phone']"/>
+ </a>
+ </td>
+ </tr>
+ </t>
+ </tbody>
+ </table>
+ </t>
+ </xpath>
+ </template>
+</odoo>
diff --git a/addons/crm_iap_lead/views/res_config_settings_views.xml b/addons/crm_iap_lead/views/res_config_settings_views.xml
new file mode 100644
index 00000000..01888e3c
--- /dev/null
+++ b/addons/crm_iap_lead/views/res_config_settings_views.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="res_config_settings_view_form" model="ir.ui.view">
+ <field name="name">res.config.settings.view.form.inherit.crm.iap.lead</field>
+ <field name="model">res.config.settings</field>
+ <field name="inherit_id" ref="crm.res_config_settings_view_form"/>
+ <field name="arch" type="xml">
+ <div id="crm_iap_lead_settings" position="inside">
+ <widget name="iap_buy_more_credits" service_name="reveal"/>
+ </div>
+ </field>
+ </record>
+</odoo>