diff options
| author | Rémy Baranx (bar) <bar@odoo.com> | 2020-03-05 13:09:39 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2020-03-23 09:08:47 +0000 |
| commit | fd4798195d0d2d2c72a779dbceca4a63205c6421 (patch) | |
| tree | 1d4793c7e1b72bcca9fe354926b9f8844ec80b0d /addons/sales_team | |
| parent | 32ec8a974ddd8715bd76faf7a2d95e4a870c6132 (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__.py | 5 | ||||
| -rw-r--r-- | addons/sales_team/data/crm_tag_demo.xml | 39 | ||||
| -rw-r--r-- | addons/sales_team/models/__init__.py | 1 | ||||
| -rw-r--r-- | addons/sales_team/models/crm_tag.py | 17 | ||||
| -rw-r--r-- | addons/sales_team/security/ir.model.access.csv | 3 | ||||
| -rw-r--r-- | addons/sales_team/views/crm_tag_views.xml | 54 |
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> |
