diff options
Diffstat (limited to 'addons/crm_iap_lead/views')
| -rw-r--r-- | addons/crm_iap_lead/views/assets.xml | 9 | ||||
| -rw-r--r-- | addons/crm_iap_lead/views/crm_iap_lead_views.xml | 159 | ||||
| -rw-r--r-- | addons/crm_iap_lead/views/crm_lead_view.xml | 47 | ||||
| -rw-r--r-- | addons/crm_iap_lead/views/mail_templates.xml | 59 | ||||
| -rw-r--r-- | addons/crm_iap_lead/views/res_config_settings_views.xml | 13 |
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> |
