[IMP] crm, sales: add crm tags on sale orders
As the crm.lead.tags model shall be used in CRM and/or Sales apps, it has been moved to the sales_team module, which is a depedency of the CRM and Sales apps. As these tags becomes more generic than just "lead tags", the model has been renamed from crm.lead.tags to crm.tags. Tags on sale orders were already present but not visible. They are now visible in the "Other Info" section, and optionally in sale order tree views. When a quotation is created from an opportunity (CRM app), existing tags are populated from the opportunity to the sale order (Sales app). Views and demo data of several modules have been updated accordingly. Task ID 2191276
This commit is contained in:
committed by
Thibault Delavallée
parent
32ec8a974d
commit
fd4798195d
@@ -1,41 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- crm categories -->
|
||||
<record id="categ_oppor1" model="crm.lead.tag">
|
||||
<field name="name">Product</field>
|
||||
<field name="color" eval="1"/>
|
||||
</record>
|
||||
<record id="categ_oppor2" model="crm.lead.tag">
|
||||
<field name="name">Software</field>
|
||||
<field name="color" eval="2"/>
|
||||
</record>
|
||||
<record id="categ_oppor3" model="crm.lead.tag">
|
||||
<field name="name">Services</field>
|
||||
<field name="color" eval="3"/>
|
||||
</record>
|
||||
<record id="categ_oppor4" model="crm.lead.tag">
|
||||
<field name="name">Information</field>
|
||||
<field name="color" eval="4"/>
|
||||
</record>
|
||||
<record id="categ_oppor5" model="crm.lead.tag">
|
||||
<field name="name">Design</field>
|
||||
<field name="color" eval="5"/>
|
||||
</record>
|
||||
<record id="categ_oppor6" model="crm.lead.tag">
|
||||
<field name="name">Training</field>
|
||||
<field name="color" eval="6"/>
|
||||
</record>
|
||||
<record id="categ_oppor7" model="crm.lead.tag">
|
||||
<field name="name">Consulting</field>
|
||||
<field name="color" eval="7"/>
|
||||
</record>
|
||||
<record id="categ_oppor8" model="crm.lead.tag">
|
||||
<field name="name">Other</field>
|
||||
<field name="color" eval="8"/>
|
||||
</record>
|
||||
|
||||
<!-- Demo Leads -->
|
||||
<record id="crm_case_1" model="crm.lead">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=8)"/>
|
||||
@@ -50,7 +15,7 @@
|
||||
<field name="zip">93190</field>
|
||||
<field name="street">Rue Léon Dierx 73</field>
|
||||
<field name="phone">+33 1 25 54 45 69</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor6])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor6')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -86,7 +51,7 @@
|
||||
<field name="zip">33000</field>
|
||||
<field name="street">Rue Ignasse Blanchoux 214/32</field>
|
||||
<field name="phone">+33 1 25 54 45 69</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor2')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -119,7 +84,7 @@
|
||||
<field name="zip">10001</field>
|
||||
<field name="street">Lafayette Ave 450/12</field>
|
||||
<field name="phone">+1 555 754 3010</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor4, categ_oppor5])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor4'), ref('sales_team.categ_oppor5')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -141,7 +106,7 @@
|
||||
<field name="city">Manchester</field>
|
||||
<field name="zip">03101</field>
|
||||
<field name="street">United Street 68</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor5])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor5')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -165,7 +130,7 @@
|
||||
<field name="zip">1909</field>
|
||||
<field name="street">West Allegheny Ave 800</field>
|
||||
<field name="phone">+1 813 494 5005</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -204,7 +169,7 @@ Contact: +1 813 494 5005</p>]]></field>
|
||||
<field name="country_id" ref="base.it"/>
|
||||
<field name="city">Roma</field>
|
||||
<field name="zip">00118</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor3, categ_oppor4])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor3'), ref('sales_team.categ_oppor4')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -226,7 +191,7 @@ Contact: +1 813 494 5005</p>]]></field>
|
||||
<field name="zip">29000</field>
|
||||
<field name="street">R. Sen. Pompeu</field>
|
||||
<field name="phone">+11 55 21 5555 5555</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor4])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor4')])]"/>
|
||||
<field name="priority">0</field>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -247,7 +212,7 @@ Contact: +1 813 494 5005</p>]]></field>
|
||||
<field name="country_id" ref="base.uk"/>
|
||||
<field name="city">London</field>
|
||||
<field name="zip">E1AB</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor4, categ_oppor8])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor4'), ref('sales_team.categ_oppor8')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -282,7 +247,7 @@ ESM Expert<br />]]></field>
|
||||
<field name="country_id" ref="base.uk"/>
|
||||
<field name="city">Oxford</field>
|
||||
<field name="zip">OX1 1RQ</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor4, categ_oppor7])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor4'), ref('sales_team.categ_oppor7')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
@@ -303,7 +268,7 @@ ESM Expert<br />]]></field>
|
||||
<field name="country_id" ref="base.es"/>
|
||||
<field name="city">Madrid</field>
|
||||
<field name="zip">28001</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
@@ -338,7 +303,7 @@ Andrew</p>]]></field>
|
||||
<field name="country_id" ref="base.be"/>
|
||||
<field name="city">Wavre</field>
|
||||
<field name="zip">1300</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor7')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -358,7 +323,7 @@ Andrew</p>]]></field>
|
||||
<field name="partner_id" ref="base.res_partner_1"/>
|
||||
<field name="country_id" ref="base.cn"/>
|
||||
<field name="city">Shenzhen</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -386,7 +351,7 @@ Andrew</p>]]></field>
|
||||
<field name="country_id" ref="base.au"/>
|
||||
<field name="city">Melbourne</field>
|
||||
<field name="street">Kensington Road 189</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
@@ -412,7 +377,7 @@ Andrew</p>]]></field>
|
||||
<field name="zip">1300</field>
|
||||
<field name="street">Rue de Namur 69</field>
|
||||
<field name="phone">+32 10 588 558</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor2')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
@@ -435,7 +400,7 @@ Andrew</p>]]></field>
|
||||
<field name="city">Wavre</field>
|
||||
<field name="street">Rue de Namur 69</field>
|
||||
<field name="phone">+32 10 588 558</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
@@ -528,7 +493,7 @@ Andrew</p>]]></field>
|
||||
<field name="city">Liverpool</field>
|
||||
<field name="zip">L25 4RL</field>
|
||||
<field name="street">Union Road</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor5])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor5')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
@@ -553,7 +518,7 @@ Andrew</p>]]></field>
|
||||
<field name="city">Brussels</field>
|
||||
<field name="zip">1100</field>
|
||||
<field name="street">Rue des Palais 51, bte 33</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor3,categ_oppor4])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor3'),ref('sales_team.categ_oppor4')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(days=3)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
@@ -586,7 +551,7 @@ Andrew</p>]]></field>
|
||||
<field name="street">3661 Station Street</field>
|
||||
<field name="country_id" ref="base.uk"/>
|
||||
<field name="partner_id" ref="base.res_partner_4"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor4,categ_oppor6])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor4'),ref('sales_team.categ_oppor6')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=3)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
@@ -636,7 +601,7 @@ Andrew</p>]]></field>
|
||||
<field name="street">3rd Floor, Room 3-C,</field>
|
||||
<field name="street2">Carretera Panamericana, Km 1, Urb. Delgado Chalbaud</field>
|
||||
<field name="phone">+58 212 681 0538</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=1)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
@@ -661,7 +626,7 @@ Andrew</p>]]></field>
|
||||
<field name="zip">60610</field>
|
||||
<field name="city">Chicago</field>
|
||||
<field name="phone">+1 312 349 2324</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor4,categ_oppor8])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor4'),ref('sales_team.categ_oppor8')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -681,7 +646,7 @@ Andrew</p>]]></field>
|
||||
<field name="city">Birmingham</field>
|
||||
<field name="zip">B46 3AG</field>
|
||||
<field name="street">Cannon Hill Park</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor7')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -700,7 +665,7 @@ Andrew</p>]]></field>
|
||||
<field name="contact_name">Benjamin Flores</field>
|
||||
<field name="partner_name">Nebula Business</field>
|
||||
<field name="partner_id" ref="base.res_partner_12"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor3])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor3')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
@@ -718,7 +683,7 @@ Andrew</p>]]></field>
|
||||
<field name="probability">80.0</field>
|
||||
<field name="partner_id" ref="base.res_partner_18"/>
|
||||
<field name="priority">0</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor3])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor3')])]"/>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
@@ -737,7 +702,7 @@ Andrew</p>]]></field>
|
||||
<field name="country_id" ref="base.pe"/>
|
||||
<field name="city">Lima</field>
|
||||
<field name="priority">0</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor7')])]"/>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
@@ -761,7 +726,7 @@ Andrew</p>]]></field>
|
||||
<field name="street">Palermo, Capital Federal</field>
|
||||
<field name="street2">C1414CMS Capital Federal</field>
|
||||
<field name="priority">2</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor4])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor4')])]"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
@@ -784,7 +749,7 @@ Andrew</p>]]></field>
|
||||
<field name="city">Wavre</field>
|
||||
<field name="zip">1300</field>
|
||||
<field name="priority">2</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor2')])]"/>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(days=6)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
@@ -808,7 +773,7 @@ Andrew</p>]]></field>
|
||||
<field name="zip">1300</field>
|
||||
<field name="street">Rue de Namur 69</field>
|
||||
<field name="priority">2</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor2')])]"/>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(days=6)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
@@ -832,7 +797,7 @@ Andrew</p>]]></field>
|
||||
<field name="zip">1300</field>
|
||||
<field name="street">Rue de Namur 69</field>
|
||||
<field name="priority">0</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1, categ_oppor5])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1'), ref('sales_team.categ_oppor5')])]"/>
|
||||
<field name="date_deadline" eval="DateTime.today() + relativedelta(days=12)"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
@@ -852,7 +817,7 @@ Andrew</p>]]></field>
|
||||
<field name="zip">93190</field>
|
||||
<field name="street">Rue Léon Dierx 73</field>
|
||||
<field name="phone">+33 1 25 54 45 69</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor6])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor6')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_open" eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="stage_lead2"/>
|
||||
@@ -874,7 +839,7 @@ Andrew</p>]]></field>
|
||||
<field name="zip">1080</field>
|
||||
<field name="street">Rue du Commerce 93</field>
|
||||
<field name="phone">+32 22 33 54 07</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor6])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor6')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_open" eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="stage_lead1"/>
|
||||
@@ -894,7 +859,7 @@ Andrew</p>]]></field>
|
||||
<field name="country_id" ref="base.au"/>
|
||||
<field name="city">Chevy Chase</field>
|
||||
<field name="street">1920 Del Dew Drive</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
@@ -916,7 +881,7 @@ Andrew</p>]]></field>
|
||||
<field name="country_id" ref="base.au"/>
|
||||
<field name="city">Chevy Chase</field>
|
||||
<field name="street">1920 Del Dew Drive</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
@@ -937,7 +902,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">max123@itconsult.com</field>
|
||||
<field name="country_id" ref="base.it"/>
|
||||
<field name="city">Milan</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead2"/>
|
||||
@@ -957,7 +922,7 @@ Andrew</p>]]></field>
|
||||
<field name="country_id" ref="base.gr"/>
|
||||
<field name="city">London</field>
|
||||
<field name="street">1 Russel square</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
@@ -977,7 +942,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">roxshott9@trellian.com</field>
|
||||
<field name="country_id" ref="base.br"/>
|
||||
<field name="city">Canguaretama</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead2"/>
|
||||
@@ -996,7 +961,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">mlimprecht8@fastcompany.com</field>
|
||||
<field name="country_id" ref="base.pt"/>
|
||||
<field name="city">Valejas</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead2"/>
|
||||
@@ -1016,7 +981,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">akalinovich7@tinypic.com</field>
|
||||
<field name="country_id" ref="base.id"/>
|
||||
<field name="city">Boafeo</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead2"/>
|
||||
@@ -1036,7 +1001,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">jjobbins6@simplemachines.org</field>
|
||||
<field name="country_id" ref="base.ru"/>
|
||||
<field name="city">Gvardeysk</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead2"/>
|
||||
@@ -1056,7 +1021,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">eespinazo5@reuters.com</field>
|
||||
<field name="country_id" ref="base.nl"/>
|
||||
<field name="city">Amsterdam</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor3])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor3')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||
@@ -1076,7 +1041,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">credford4@salon.com</field>
|
||||
<field name="country_id" ref="base.ru"/>
|
||||
<field name="city">Odoyev</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
@@ -1098,7 +1063,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">ikirvell3@gnu.org</field>
|
||||
<field name="country_id" ref="base.id"/>
|
||||
<field name="city">Dahu Satu</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
@@ -1118,7 +1083,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">ngrabert2@dailymail.co.uk</field>
|
||||
<field name="country_id" ref="base.jp"/>
|
||||
<field name="city">Tokyo</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead2"/>
|
||||
@@ -1138,7 +1103,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">fseiller1@theglobeandmail.com</field>
|
||||
<field name="country_id" ref="base.id"/>
|
||||
<field name="city">Wurigelebur</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
@@ -1159,7 +1124,7 @@ Andrew</p>]]></field>
|
||||
<field name="email_from">tbrockhouse0@google.pl</field>
|
||||
<field name="country_id" ref="base.be"/>
|
||||
<field name="city">Brussels</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">1</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(weeks=2)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
from . import res_users
|
||||
from . import calendar
|
||||
from . import crm_lead
|
||||
from . import crm_lead_tag
|
||||
from . import crm_lost_reason
|
||||
from . import crm_stage
|
||||
from . import crm_team
|
||||
|
||||
@@ -98,7 +98,7 @@ class Lead(models.Model):
|
||||
('grey', 'No next activity planned'), ('red', 'Next activity late'), ('green', 'Next activity is planned')],
|
||||
string='Kanban State', compute='_compute_kanban_state')
|
||||
tag_ids = fields.Many2many(
|
||||
'crm.lead.tag', 'crm_lead_tag_rel', 'lead_id', 'tag_id', string='Tags',
|
||||
'crm.tag', 'crm_tag_rel', 'lead_id', 'tag_id', string='Tags',
|
||||
help="Classify and analyze your lead/opportunity categories like: Training, Service")
|
||||
color = fields.Integer('Color Index', default=0)
|
||||
# Opportunity specific
|
||||
@@ -1526,8 +1526,8 @@ class Lead(models.Model):
|
||||
# get all tag_ids won / lost count
|
||||
self.flush(['probability', 'active'])
|
||||
query = """select l.probability, l.active, t.id, count(l.probability) as count
|
||||
from crm_lead_tag_rel rel
|
||||
inner join crm_lead_tag t on rel.tag_id = t.id
|
||||
from crm_tag_rel rel
|
||||
inner join crm_tag t on rel.tag_id = t.id
|
||||
inner join crm_lead l on l.id = rel.lead_id
|
||||
where (l.probability = 0 or l.probability >= 100)
|
||||
and l.create_date > %%s
|
||||
@@ -1590,8 +1590,8 @@ class Lead(models.Model):
|
||||
|
||||
query = """SELECT l.id as lead_id, t.id as tag_id
|
||||
FROM crm_lead l
|
||||
LEFT JOIN crm_lead_tag_rel rel ON l.id = rel.lead_id
|
||||
LEFT JOIN crm_lead_tag t ON rel.tag_id = t.id
|
||||
LEFT JOIN crm_tag_rel rel ON l.id = rel.lead_id
|
||||
LEFT JOIN crm_tag t ON rel.tag_id = t.id
|
||||
WHERE ((l.probability > 0 AND l.probability < 100) OR l.probability is null) AND l.active = True AND l.id in %s order by l.team_id asc"""
|
||||
self._cr.execute(query, [tuple(self.ids)])
|
||||
tag_results = self._cr.dictfetchall()
|
||||
|
||||
@@ -8,9 +8,6 @@ access_res_partner_category_manager,res.partner.category.crm.manager,base.model_
|
||||
access_res_partner,res.partner.crm.user,base.model_res_partner,sales_team.group_sale_salesman,1,1,1,0
|
||||
access_res_partner_category,res.partner.category.crm.user,base.model_res_partner_category,sales_team.group_sale_salesman,1,1,1,0
|
||||
access_crm_lead_partner_manager,crm.lead.partner.manager,model_crm_lead,base.group_partner_manager,1,0,0,0
|
||||
access_crm_lead_tag,crm_lead_tag,model_crm_lead_tag,base.group_user,1,0,0,0
|
||||
access_crm_lead_tag_salesman,crm_lead_tag salesman,model_crm_lead_tag,sales_team.group_sale_salesman,1,1,1,0
|
||||
access_crm_lead_tag_manager,crm_lead_tag manager,model_crm_lead_tag,sales_team.group_sale_manager,1,1,1,1
|
||||
access_crm_lost_reason_manager,crm.lost.reason.manager,model_crm_lost_reason,sales_team.group_sale_manager,1,1,1,1
|
||||
access_crm_lost_reason_salesman,crm.lost.reason.salesman,model_crm_lost_reason,sales_team.group_sale_salesman,1,0,0,0
|
||||
access_crm_lost_reason_user,crm.lost.reason.user,model_crm_lost_reason,base.group_user,1,0,0,0
|
||||
|
||||
|
@@ -1,43 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<!--
|
||||
crm.lead.tag views
|
||||
-->
|
||||
<record id="crm_lead_tag_form" model="ir.ui.view">
|
||||
<field name="name">crm.lead.tag.form</field>
|
||||
<field name="model">crm.lead.tag</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Lead Tags">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<div class="oe_edit_only">
|
||||
<label for="name"/>
|
||||
</div>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="color" required="True"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="crm_lead_tag_tree" model="ir.ui.view">
|
||||
<field name="name">crm.lead.tag.tree</field>
|
||||
<field name="model">crm.lead.tag</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Lead Tags" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="color" groups="base.group_no_one"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="crm_lead_view_form" model="ir.ui.view">
|
||||
<field name="name">crm.lead.form</field>
|
||||
<field name="model">crm.lead</field>
|
||||
@@ -954,24 +916,10 @@ if record:
|
||||
name="CRM"
|
||||
action="action_your_pipeline"/>
|
||||
|
||||
<!-- Configuration/Lead & Opporotunities/Lead Tags Menu -->
|
||||
<record id="crm_lead_tag_action" model="ir.actions.act_window">
|
||||
<field name="name">Tags</field>
|
||||
<field name="res_model">crm.lead.tag</field>
|
||||
<field name="view_id" ref="crm_lead_tag_tree"/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create new tags for your opportunities
|
||||
</p><p>
|
||||
Create tags that fit your business (product structure, sales type, etc.) to better manage and track your opportunities.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_crm_lead_categ"
|
||||
name="Tags"
|
||||
action="crm_lead_tag_action"
|
||||
action="sales_team.sales_team_crm_tag_action"
|
||||
parent="menu_crm_config_lead"
|
||||
sequence="1"/>
|
||||
</odoo>
|
||||
|
||||
@@ -40,7 +40,7 @@ class CRMLeadMiningRequest(models.Model):
|
||||
lead_type = fields.Selection([('lead', 'Lead'), ('opportunity', 'Opportunity')], string='Type', required=True, default=_default_lead_type)
|
||||
team_id = fields.Many2one('crm.team', string='Sales Team', domain="[('use_opportunities', '=', True)]")
|
||||
user_id = fields.Many2one('res.users', string='Salesperson')
|
||||
tag_ids = fields.Many2many('crm.lead.tag', string='Tags')
|
||||
tag_ids = fields.Many2many('crm.tag', string='Tags')
|
||||
lead_ids = fields.One2many('crm.lead', 'lead_mining_request_id', string='Generated Lead / Opportunity')
|
||||
leads_count = fields.Integer(compute='_compute_leads_count', string='Number of Generated Leads')
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ class CRMRevealRule(models.Model):
|
||||
lead_type = fields.Selection([('lead', 'Lead'), ('opportunity', 'Opportunity')], string='Type', required=True, default='opportunity')
|
||||
suffix = fields.Char(string='Suffix', help='This will be appended in name of generated lead so you can identify lead/opportunity is generated with this rule')
|
||||
team_id = fields.Many2one('crm.team', string='Sales Team')
|
||||
tag_ids = fields.Many2many('crm.lead.tag', string='Tags')
|
||||
tag_ids = fields.Many2many('crm.tag', string='Tags')
|
||||
user_id = fields.Many2one('res.users', string='Salesperson')
|
||||
priority = fields.Selection(crm_stage.AVAILABLE_PRIORITIES, string='Priority')
|
||||
lead_ids = fields.One2many('crm.lead', 'reveal_rule_id', string='Generated Lead / Opportunity')
|
||||
|
||||
@@ -251,6 +251,7 @@ class SaleOrder(models.Model):
|
||||
show_update_pricelist = fields.Boolean(string='Has Pricelist Changed',
|
||||
help="Technical Field, True if the pricelist was changed;\n"
|
||||
" this will then display a recomputation button")
|
||||
tag_ids = fields.Many2many('crm.tag', 'sale_order_tag_rel', 'order_id', 'tag_id', string='Tags')
|
||||
|
||||
_sql_constraints = [
|
||||
('date_order_conditional_required', "CHECK( (state IN ('sale', 'done') AND date_order IS NOT NULL) OR state NOT IN ('sale', 'done') )", "A confirmed sales order requires a confirmation date."),
|
||||
|
||||
@@ -51,9 +51,16 @@
|
||||
|
||||
<menuitem id="menu_sales_config"
|
||||
parent="menu_sale_config"
|
||||
sequence="3"
|
||||
sequence="4"
|
||||
name="Sales Orders"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_tag_config"
|
||||
name="Tags"
|
||||
parent="sale.menu_sales_config"
|
||||
action="sales_team.sales_team_crm_tag_action"
|
||||
sequence="2"/>
|
||||
|
||||
<record id="product_template_action" model="ir.actions.act_window">
|
||||
<field name="name">Products</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
@@ -202,6 +209,7 @@
|
||||
<field name="amount_total" sum="Total Tax Included" widget="monetary" optional="show"/>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="invoice_status" optional="show"/>
|
||||
<field name="tag_ids" optional="hide" widget="many2many_tags" options="{'color_field': 'color'}"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="activity_exception_decoration" widget="activity_exception"/>
|
||||
</tree>
|
||||
@@ -229,6 +237,7 @@
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="state" optional="show"/>
|
||||
<field name="invoice_status" optional="hide"/>
|
||||
<field name="tag_ids" optional="hide" widget="many2many_tags" options="{'color_field': 'color'}"/>
|
||||
<field name="activity_exception_decoration" widget="activity_exception"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -653,6 +662,7 @@
|
||||
<field name="require_payment"/>
|
||||
<field name="reference" readonly="1" attrs="{'invisible': [('reference', '=', False)]}"/>
|
||||
<field name="client_order_ref"/>
|
||||
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"/>
|
||||
</group>
|
||||
<group name="sale_info" string="Invoicing">
|
||||
<field name="fiscal_position_id" options="{'no_create': True}"/>
|
||||
|
||||
@@ -81,6 +81,7 @@ class CrmLead(models.Model):
|
||||
'default_origin': self.name,
|
||||
'default_source_id': self.source_id.id,
|
||||
'default_company_id': self.company_id.id or self.env.company.id,
|
||||
'default_tag_ids': [(6, 0, self.tag_ids.ids)]
|
||||
}
|
||||
return action
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ from odoo import fields, models
|
||||
class SaleOrder(models.Model):
|
||||
_inherit = 'sale.order'
|
||||
|
||||
tag_ids = fields.Many2many('crm.lead.tag', 'sale_order_tag_rel', 'order_id', 'tag_id', string='Tags')
|
||||
opportunity_id = fields.Many2one(
|
||||
'crm.lead', string='Opportunity', check_company=True,
|
||||
domain="[('type', '=', 'opportunity'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]")
|
||||
|
||||
@@ -20,28 +20,6 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_quotation_tree" model="ir.ui.view">
|
||||
<field name="name">sale.order.tree.inherit.sale.crm</field>
|
||||
<field name="model">sale.order</field>
|
||||
<field name="inherit_id" ref="sale.view_quotation_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='invoice_status']" position="after">
|
||||
<field name="tag_ids" optional="hide" widget="many2many_tags"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_order_tree" model="ir.ui.view">
|
||||
<field name="name">sale.order.tree.inherit.sale.crm</field>
|
||||
<field name="model">sale.order</field>
|
||||
<field name="inherit_id" ref="sale.view_order_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='invoice_status']" position="after">
|
||||
<field name="tag_ids" optional="hide" widget="many2many_tags"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- This menu is display in CRM app when sale is installed-->
|
||||
<menuitem
|
||||
id="sale_order_menu_quotations_crm"
|
||||
|
||||
@@ -16,8 +16,11 @@ Using this application you can manage Sales Teams with CRM and/or Sales
|
||||
'data/sales_team_data.xml',
|
||||
'views/crm_team_views.xml',
|
||||
'views/sales_team_dashboard.xml',
|
||||
'views/crm_tag_views.xml',
|
||||
],
|
||||
'demo': ['data/sales_team_demo.xml',
|
||||
'data/crm_tag_demo.xml',
|
||||
],
|
||||
'demo': ['data/sales_team_demo.xml'],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- crm categories -->
|
||||
<record id="categ_oppor1" model="crm.tag">
|
||||
<field name="name">Product</field>
|
||||
<field name="color" eval="1"/>
|
||||
</record>
|
||||
<record id="categ_oppor2" model="crm.tag">
|
||||
<field name="name">Software</field>
|
||||
<field name="color" eval="2"/>
|
||||
</record>
|
||||
<record id="categ_oppor3" model="crm.tag">
|
||||
<field name="name">Services</field>
|
||||
<field name="color" eval="3"/>
|
||||
</record>
|
||||
<record id="categ_oppor4" model="crm.tag">
|
||||
<field name="name">Information</field>
|
||||
<field name="color" eval="4"/>
|
||||
</record>
|
||||
<record id="categ_oppor5" model="crm.tag">
|
||||
<field name="name">Design</field>
|
||||
<field name="color" eval="5"/>
|
||||
</record>
|
||||
<record id="categ_oppor6" model="crm.tag">
|
||||
<field name="name">Training</field>
|
||||
<field name="color" eval="6"/>
|
||||
</record>
|
||||
<record id="categ_oppor7" model="crm.tag">
|
||||
<field name="name">Consulting</field>
|
||||
<field name="color" eval="7"/>
|
||||
</record>
|
||||
<record id="categ_oppor8" model="crm.tag">
|
||||
<field name="name">Other</field>
|
||||
<field name="color" eval="8"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -2,5 +2,6 @@
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import crm_team
|
||||
from . import crm_tag
|
||||
from . import res_partner
|
||||
from . import res_users
|
||||
|
||||
@@ -6,8 +6,8 @@ from odoo import fields, models
|
||||
|
||||
class Tag(models.Model):
|
||||
|
||||
_name = "crm.lead.tag"
|
||||
_description = "Lead Tag"
|
||||
_name = "crm.tag"
|
||||
_description = "CRM Tag"
|
||||
|
||||
name = fields.Char('Tag Name', required=True, translate=True)
|
||||
color = fields.Integer('Color Index')
|
||||
@@ -2,3 +2,6 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_crm_team,crm.team,model_crm_team,base.group_user,1,0,0,0
|
||||
access_crm_team_user,crm.team.user,model_crm_team,sales_team.group_sale_salesman,1,0,0,0
|
||||
access_crm_team_manager,crm.team.manager,model_crm_team,sales_team.group_sale_manager,1,1,1,1
|
||||
access_crm_tag,crm_tag,model_crm_tag,base.group_user,1,0,0,0
|
||||
access_crm_tag_salesman,crm_tag salesman,model_crm_tag,sales_team.group_sale_salesman,1,1,1,0
|
||||
access_crm_tag_manager,crm_tag manager,model_crm_tag,sales_team.group_sale_manager,1,1,1,1
|
||||
|
||||
|
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<!--
|
||||
crm.tag views
|
||||
-->
|
||||
<record id="sales_team_crm_tag_view_form" model="ir.ui.view">
|
||||
<field name="name">sales.team.crm.tag.view.form</field>
|
||||
<field name="model">crm.tag</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Tags">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<div class="oe_edit_only">
|
||||
<label for="name"/>
|
||||
</div>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="color" required="True"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sales_team_crm_tag_view_tree" model="ir.ui.view">
|
||||
<field name="name">sales.team.crm.tag.view.tree</field>
|
||||
<field name="model">crm.tag</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Tags" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="color" groups="base.group_no_one"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Tags Configuration -->
|
||||
<record id="sales_team_crm_tag_action" model="ir.actions.act_window">
|
||||
<field name="name">Tags</field>
|
||||
<field name="res_model">crm.tag</field>
|
||||
<field name="view_id" ref="sales_team_crm_tag_view_tree"/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create new tags for your opportunities
|
||||
</p><p>
|
||||
Create tags that fit your business (product structure, sales type, etc.) to better manage and track your opportunities.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -12,7 +12,7 @@
|
||||
<field name="function">Reseller</field>
|
||||
<field name="country_id" ref="base.uk"/>
|
||||
<field name="city">Edinburgh</field>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('crm.categ_oppor1')])]"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('sales_team.categ_oppor1')])]"/>
|
||||
<field name="priority">2</field>
|
||||
<field name="team_id" ref="sales_team.crm_team_1"/>
|
||||
<field name="user_id" ref=""/>
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record model="crm.lead.tag" id="tag_portal_lead_partner_unavailable">
|
||||
<record model="crm.tag" id="tag_portal_lead_partner_unavailable">
|
||||
<field name="name">No more partner available</field>
|
||||
<field name="color">3</field>
|
||||
</record>
|
||||
<record model="crm.lead.tag" id="tag_portal_lead_is_spam">
|
||||
<record model="crm.tag" id="tag_portal_lead_is_spam">
|
||||
<field name="name">Spam</field>
|
||||
<field name="color">3</field>
|
||||
</record>
|
||||
<record model="crm.lead.tag" id="tag_portal_lead_own_opp">
|
||||
<record model="crm.tag" id="tag_portal_lead_own_opp">
|
||||
<field name="name">Created by Partner</field>
|
||||
<field name="color">4</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user