summaryrefslogtreecommitdiff
path: root/addons/sales_team
diff options
context:
space:
mode:
authorRémy Baranx (bar) <bar@odoo.com>2020-03-05 13:09:39 +0000
committerThibault Delavallée <tde@odoo.com>2020-03-23 09:08:47 +0000
commitfd4798195d0d2d2c72a779dbceca4a63205c6421 (patch)
tree1d4793c7e1b72bcca9fe354926b9f8844ec80b0d /addons/sales_team
parent32ec8a974ddd8715bd76faf7a2d95e4a870c6132 (diff)
[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
Diffstat (limited to 'addons/sales_team')
-rw-r--r--addons/sales_team/__manifest__.py5
-rw-r--r--addons/sales_team/data/crm_tag_demo.xml39
-rw-r--r--addons/sales_team/models/__init__.py1
-rw-r--r--addons/sales_team/models/crm_tag.py17
-rw-r--r--addons/sales_team/security/ir.model.access.csv3
-rw-r--r--addons/sales_team/views/crm_tag_views.xml54
6 files changed, 118 insertions, 1 deletions
diff --git a/addons/sales_team/__manifest__.py b/addons/sales_team/__manifest__.py
index 6e79a3afa7f..39fae18b93c 100644
--- a/addons/sales_team/__manifest__.py
+++ b/addons/sales_team/__manifest__.py
@@ -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,
}
diff --git a/addons/sales_team/data/crm_tag_demo.xml b/addons/sales_team/data/crm_tag_demo.xml
new file mode 100644
index 00000000000..4b409e0bf27
--- /dev/null
+++ b/addons/sales_team/data/crm_tag_demo.xml
@@ -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>
diff --git a/addons/sales_team/models/__init__.py b/addons/sales_team/models/__init__.py
index 96b35e08a86..2fa2d9bcbd2 100644
--- a/addons/sales_team/models/__init__.py
+++ b/addons/sales_team/models/__init__.py
@@ -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
diff --git a/addons/sales_team/models/crm_tag.py b/addons/sales_team/models/crm_tag.py
new file mode 100644
index 00000000000..a0db292a292
--- /dev/null
+++ b/addons/sales_team/models/crm_tag.py
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import fields, models
+
+
+class Tag(models.Model):
+
+ _name = "crm.tag"
+ _description = "CRM Tag"
+
+ name = fields.Char('Tag Name', required=True, translate=True)
+ color = fields.Integer('Color Index')
+
+ _sql_constraints = [
+ ('name_uniq', 'unique (name)', "Tag name already exists !"),
+ ]
diff --git a/addons/sales_team/security/ir.model.access.csv b/addons/sales_team/security/ir.model.access.csv
index 238d6611813..20ad54105d8 100644
--- a/addons/sales_team/security/ir.model.access.csv
+++ b/addons/sales_team/security/ir.model.access.csv
@@ -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
diff --git a/addons/sales_team/views/crm_tag_views.xml b/addons/sales_team/views/crm_tag_views.xml
new file mode 100644
index 00000000000..9862f7637da
--- /dev/null
+++ b/addons/sales_team/views/crm_tag_views.xml
@@ -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>