diff --git a/addons/crm/wizard/crm_lead_to_opportunity.py b/addons/crm/wizard/crm_lead_to_opportunity.py
index 5f7442002a6..799863f3aa6 100644
--- a/addons/crm/wizard/crm_lead_to_opportunity.py
+++ b/addons/crm/wizard/crm_lead_to_opportunity.py
@@ -50,7 +50,7 @@ class Lead2OpportunityPartner(models.TransientModel):
], 'Conversion Action', required=True)
opportunity_ids = fields.Many2many('crm.lead', string='Opportunities')
user_id = fields.Many2one('res.users', 'Salesperson', index=True)
- team_id = fields.Many2one('crm.team', 'Sales Channel', oldname='section_id', index=True)
+ team_id = fields.Many2one('crm.team', 'Sales Team', oldname='section_id', index=True)
@api.onchange('action')
def onchange_action(self):
@@ -174,7 +174,7 @@ class Lead2OpportunityMassConvert(models.TransientModel):
return res
user_ids = fields.Many2many('res.users', string='Salesmen')
- team_id = fields.Many2one('crm.team', 'Sales Channel', index=True, oldname='section_id')
+ team_id = fields.Many2one('crm.team', 'Sales Team', index=True, oldname='section_id')
deduplicate = fields.Boolean('Apply deduplication', default=True, help='Merge with existing leads/opportunities of each partner')
action = fields.Selection([
('each_exist_or_create', 'Use existing partner or create'),
diff --git a/addons/crm/wizard/crm_merge_opportunities.py b/addons/crm/wizard/crm_merge_opportunities.py
index 55c76f0a80d..c0e2a6cc7ba 100644
--- a/addons/crm/wizard/crm_merge_opportunities.py
+++ b/addons/crm/wizard/crm_merge_opportunities.py
@@ -34,7 +34,7 @@ class MergeOpportunity(models.TransientModel):
opportunity_ids = fields.Many2many('crm.lead', 'merge_opportunity_rel', 'merge_id', 'opportunity_id', string='Leads/Opportunities')
user_id = fields.Many2one('res.users', 'Salesperson', index=True)
- team_id = fields.Many2one('crm.team', 'Sales Channel', oldname='section_id', index=True)
+ team_id = fields.Many2one('crm.team', 'Sales Team', oldname='section_id', index=True)
@api.multi
def action_merge(self):
diff --git a/addons/hr/README.md b/addons/hr/README.md
index 739620ff85a..a561812b47a 100644
--- a/addons/hr/README.md
+++ b/addons/hr/README.md
@@ -80,7 +80,7 @@ performers to the entire channel and publicly recognize a job well done.
### Leaderboards
-Promote leaders and competition amongst sales channel with performance ratios.
+Promote leaders and competition amongst Sales Team with performance ratios.
### Personal Objectives
diff --git a/addons/mail/data/mail_channel_demo.xml b/addons/mail/data/mail_channel_demo.xml
index 0d3f49ff132..d5a378dfe46 100644
--- a/addons/mail/data/mail_channel_demo.xml
+++ b/addons/mail/data/mail_channel_demo.xml
@@ -134,7 +134,7 @@
diff --git a/addons/point_of_sale/README.md b/addons/point_of_sale/README.md
index dc00e4a8f40..2fc73d87472 100644
--- a/addons/point_of_sale/README.md
+++ b/addons/point_of_sale/README.md
@@ -63,7 +63,7 @@ about products with the blasting fast filter accross all your products.
Integrated Inventory Management
-------------------------------
-Consolidate all your sales channels in real time: stores, ecommerce, sales
+Consolidate all your Sales Teams in real time: stores, ecommerce, sales
teams. Get real time control of the inventory and accurate forecasts to manage
procurements.
diff --git a/addons/point_of_sale/static/description/index.html b/addons/point_of_sale/static/description/index.html
index ad09d34a437..4ddce2eb266 100644
--- a/addons/point_of_sale/static/description/index.html
+++ b/addons/point_of_sale/static/description/index.html
@@ -112,7 +112,7 @@
- Consolidate all your sales channels in real time: stores, e-commerce, inside sales. Get real time control of the inventory and accurate forecasts to manage procurements.
+ Consolidate all your Sales Teams in real time: stores, e-commerce, inside sales. Get real time control of the inventory and accurate forecasts to manage procurements.
Odoo POS is fully integrated with other Odoo apps. Odoo Inventory app automatically inputs any transaction from the POS in the stock. You can see in real time the availability of products without losing time. Furthermore, the POS is compatible with Odoo e-commerce. You won't need to setup separate stocks for the two apps and be a truly multi-channel business, without headache.
diff --git a/addons/pos_sale/__manifest__.py b/addons/pos_sale/__manifest__.py
index 5d779866351..bda1ccafa89 100644
--- a/addons/pos_sale/__manifest__.py
+++ b/addons/pos_sale/__manifest__.py
@@ -10,7 +10,7 @@
'summary': 'Link module between Point of Sale and Sales',
'description': """
-This module adds a custom Sales Channel for the point of sale to be able to view and manage your point of sale sales with more ease.
+This module adds a custom Sales Team for the point of sale to be able to view and manage your point of sale sales with more ease.
""",
'depends': ['point_of_sale', 'sale_management'],
'data': [
diff --git a/addons/pos_sale/models/pos_config.py b/addons/pos_sale/models/pos_config.py
index 269a4471ff6..559499fcd08 100644
--- a/addons/pos_sale/models/pos_config.py
+++ b/addons/pos_sale/models/pos_config.py
@@ -8,6 +8,6 @@ class PosConfig(models.Model):
_inherit = 'pos.config'
crm_team_id = fields.Many2one(
- 'crm.team', string="Sales Channel", domain=[('team_type', '=', 'pos')],
+ 'crm.team', string="Sales Team", domain=[('team_type', '=', 'pos')],
default=lambda self: self.env['crm.team'].search([('team_type', '=', 'pos')], limit=1).id,
- help="This Point of sale's sales will be related to this Sales Channel.")
+ help="This Point of sale's sales will be related to this Sales Team.")
diff --git a/addons/pos_sale/models/pos_session.py b/addons/pos_sale/models/pos_session.py
index cde76bfd6cd..3f4848bb0ee 100644
--- a/addons/pos_sale/models/pos_session.py
+++ b/addons/pos_sale/models/pos_session.py
@@ -7,4 +7,4 @@ from odoo import fields, models
class PosSession(models.Model):
_inherit = 'pos.session'
- crm_team_id = fields.Many2one('crm.team', related='config_id.crm_team_id', string="Sales Channel", readonly=True)
+ crm_team_id = fields.Many2one('crm.team', related='config_id.crm_team_id', string="Sales Team", readonly=True)
diff --git a/addons/pos_sale/security/pos_sale_security.xml b/addons/pos_sale/security/pos_sale_security.xml
index 8b14025fa02..62f9afaa838 100644
--- a/addons/pos_sale/security/pos_sale_security.xml
+++ b/addons/pos_sale/security/pos_sale_security.xml
@@ -1,7 +1,7 @@
- POS Sales Channel
+ POS Sales Team
[('team_type', '=', 'pos')]
diff --git a/addons/sale/README.md b/addons/sale/README.md
index 6790375d4df..d8feee7fcfc 100644
--- a/addons/sale/README.md
+++ b/addons/sale/README.md
@@ -87,7 +87,7 @@ Opportunities can be converted into quotations in just one click.
Drive Engagement with Gamification
----------------------------------
-Align sales channels on clear targets. Define clear commission plans. Get real
+Align Sales Teams on clear targets. Define clear commission plans. Get real
time statistics on the performance of individual sales or channels. Motivate your
teams with challenges, rewards and leaderboards.
@@ -96,5 +96,5 @@ Have Clear Pricing Strategies
Use pricelists to record special conditions for a specific customer or to
define prices for a segment of customers. Define promotions and have them
-applied automatically for all your sales channels.
+applied automatically for all your Sales Teams.
diff --git a/addons/sale/models/account_invoice.py b/addons/sale/models/account_invoice.py
index 226b1c04d85..24cb6aa7bb1 100644
--- a/addons/sale/models/account_invoice.py
+++ b/addons/sale/models/account_invoice.py
@@ -16,7 +16,7 @@ class AccountInvoice(models.Model):
if invoice_type == 'out_invoice' and self.env['ir.config_parameter'].sudo().get_param('sale.use_sale_note'):
return self.env.user.company_id.sale_note
- team_id = fields.Many2one('crm.team', string='Sales Channel', default=_get_default_team, oldname='section_id')
+ team_id = fields.Many2one('crm.team', string='Sales Team', default=_get_default_team, oldname='section_id')
comment = fields.Text(default=_default_comment)
partner_shipping_id = fields.Many2one(
'res.partner',
diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py
index 18452106d23..2b1d9e886a0 100644
--- a/addons/sale/models/sale.py
+++ b/addons/sale/models/sale.py
@@ -158,7 +158,7 @@ class SaleOrder(models.Model):
payment_term_id = fields.Many2one('account.payment.term', string='Payment Terms', oldname='payment_term')
fiscal_position_id = fields.Many2one('account.fiscal.position', oldname='fiscal_position', string='Fiscal Position')
company_id = fields.Many2one('res.company', 'Company', default=lambda self: self.env['res.company']._company_default_get('sale.order'))
- team_id = fields.Many2one('crm.team', 'Sales Channel', change_default=True, default=_get_default_team, oldname='section_id')
+ team_id = fields.Many2one('crm.team', 'Sales Team', change_default=True, default=_get_default_team, oldname='section_id')
signature = fields.Binary('Signature', help='Signature received through the portal.', copy=False, attachment=True)
signed_by = fields.Char('Signed by', help='Name of the person that signed the SO.', copy=False)
diff --git a/addons/sale/models/sales_team.py b/addons/sale/models/sales_team.py
index ff90e706c94..b3c9de0b5fe 100644
--- a/addons/sale/models/sales_team.py
+++ b/addons/sale/models/sales_team.py
@@ -11,7 +11,7 @@ class CrmTeam(models.Model):
use_quotations = fields.Boolean(string='Quotations', help="Check this box if you send quotations to your customers rather than confirming orders straight away. "
"This will add specific action buttons to your dashboard.")
- use_invoices = fields.Boolean('Set Invoicing Target', help="Check this box to set an invoicing target for this sales channel.")
+ use_invoices = fields.Boolean('Set Invoicing Target', help="Check this box to set an invoicing target for this Sales Team.")
invoiced = fields.Integer(
compute='_compute_invoiced',
string='Invoiced This Month', readonly=True,
diff --git a/addons/sale/report/invoice_report.py b/addons/sale/report/invoice_report.py
index 24b0f131a2a..c70f82afe6c 100644
--- a/addons/sale/report/invoice_report.py
+++ b/addons/sale/report/invoice_report.py
@@ -7,7 +7,7 @@ from odoo import fields, models
class AccountInvoiceReport(models.Model):
_inherit = 'account.invoice.report'
- team_id = fields.Many2one('crm.team', string='Sales Channel')
+ team_id = fields.Many2one('crm.team', string='Sales Team')
def _select(self):
return super(AccountInvoiceReport, self)._select() + ", sub.team_id as team_id"
diff --git a/addons/sale/report/report_all_channels_sales.py b/addons/sale/report/report_all_channels_sales.py
index 5af76ba85ec..7c2e6edcc00 100644
--- a/addons/sale/report/report_all_channels_sales.py
+++ b/addons/sale/report/report_all_channels_sales.py
@@ -6,7 +6,7 @@ from odoo import api, fields, models, tools
class PosSaleReport(models.Model):
_name = "report.all.channels.sales"
- _description = "All sales orders grouped by sales channels"
+ _description = "All sales orders grouped by Sales Teams"
_auto = False
name = fields.Char('Order Reference', readonly=True)
@@ -23,7 +23,7 @@ class PosSaleReport(models.Model):
price_subtotal = fields.Float(string='Price Subtotal', readonly=True)
product_qty = fields.Float('Product Quantity', readonly=True)
analytic_account_id = fields.Many2one('account.analytic.account', 'Analytic Account', readonly=True)
- team_id = fields.Many2one('crm.team', 'Sales Channel', readonly=True)
+ team_id = fields.Many2one('crm.team', 'Sales Team', readonly=True)
def _so(self):
so_str = """
diff --git a/addons/sale/report/report_all_channels_sales_views.xml b/addons/sale/report/report_all_channels_sales_views.xml
index 4b146e5f894..a29bf412a6c 100644
--- a/addons/sale/report/report_all_channels_sales_views.xml
+++ b/addons/sale/report/report_all_channels_sales_views.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/addons/sale/report/sale_report.py b/addons/sale/report/sale_report.py
index 23bcb4bd13b..38d2409c9f7 100644
--- a/addons/sale/report/sale_report.py
+++ b/addons/sale/report/sale_report.py
@@ -33,7 +33,7 @@ class SaleReport(models.Model):
nbr = fields.Integer('# of Lines', readonly=True)
pricelist_id = fields.Many2one('product.pricelist', 'Pricelist', readonly=True)
analytic_account_id = fields.Many2one('account.analytic.account', 'Analytic Account', readonly=True)
- team_id = fields.Many2one('crm.team', 'Sales Channel', readonly=True, oldname='section_id')
+ team_id = fields.Many2one('crm.team', 'Sales Team', readonly=True, oldname='section_id')
country_id = fields.Many2one('res.country', 'Customer Country', readonly=True)
commercial_partner_id = fields.Many2one('res.partner', 'Commercial Entity', readonly=True)
state = fields.Selection([
diff --git a/addons/sale/report/sale_report_views.xml b/addons/sale/report/sale_report_views.xml
index 70b2954ceaf..e1ddb6361a1 100644
--- a/addons/sale/report/sale_report_views.xml
+++ b/addons/sale/report/sale_report_views.xml
@@ -43,7 +43,7 @@
-
+
diff --git a/addons/sale/tests/test_access_rights.py b/addons/sale/tests/test_access_rights.py
index 757acdd8b04..11f9faa3a57 100644
--- a/addons/sale/tests/test_access_rights.py
+++ b/addons/sale/tests/test_access_rights.py
@@ -47,7 +47,7 @@ class TestAccessRights(TestCommonSaleNoChart):
'groups_id': [(6, 0, [self.env.ref('base.group_user').id])]
})
- # Create a sales channel
+ # Create a Sales Team
self.sales_channel = self.env['crm.team'].with_context(tracking_disable=True).create({
'name': 'Test Channel',
})
@@ -80,17 +80,17 @@ class TestAccessRights(TestCommonSaleNoChart):
self.order.sudo(self.user_manager).unlink()
self.assertNotIn(self.order.id, SaleOrder.search([]).ids, 'Sales manager should be able to delete the SO')
- # Manager can create a sales channel
+ # Manager can create a Sales Team
india_channel = self.env['crm.team'].with_context(tracking_disable=True).sudo(self.user_manager).create({
'name': 'India',
})
- self.assertIn(india_channel.id, self.env['crm.team'].search([]).ids, 'Sales manager should be able to create a sales channel')
- # Manager can edit a sales channel
+ self.assertIn(india_channel.id, self.env['crm.team'].search([]).ids, 'Sales manager should be able to create a Sales Team')
+ # Manager can edit a Sales Team
india_channel.sudo(self.user_manager).write({'dashboard_graph_group': 'week'})
- self.assertEquals(india_channel.dashboard_graph_group, 'week', 'Sales manager should be able to edit a sales channel')
- # Manager can delete a sales channel
+ self.assertEquals(india_channel.dashboard_graph_group, 'week', 'Sales manager should be able to edit a Sales Team')
+ # Manager can delete a Sales Team
india_channel.sudo(self.user_manager).unlink()
- self.assertNotIn(india_channel.id, self.env['crm.team'].search([]).ids, 'Sales manager should be able to delete a sales channel')
+ self.assertNotIn(india_channel.id, self.env['crm.team'].search([]).ids, 'Sales manager should be able to delete a Sales Team')
def test_access_sales_person(self):
""" Test Salesperson's access rights """
@@ -100,7 +100,7 @@ class TestAccessRights(TestCommonSaleNoChart):
# Now assign the SO to themselves
self.order.write({'user_id': self.user_salesperson_1.id})
self.order.sudo(self.user_salesperson_1).read()
- # Salesperson can change a sales channel of SO
+ # Salesperson can change a Sales Team of SO
self.order.sudo(self.user_salesperson_1).write({'team_id': self.sales_channel.id})
# Salesperson can't create the SO of other salesperson
with self.assertRaises(AccessError):
diff --git a/addons/sale/views/sale_views.xml b/addons/sale/views/sale_views.xml
index 5fe7cbda5be..0415bf1ded1 100644
--- a/addons/sale/views/sale_views.xml
+++ b/addons/sale/views/sale_views.xml
@@ -32,7 +32,7 @@
groups= "sales_team.group_sale_manager,account.group_account_manager,account.group_account_user"/>
@@ -50,7 +50,7 @@
sequence="1"/>
@@ -571,7 +571,7 @@
-
+
+
New Quotation
sale.order
diff --git a/addons/sales_team/__manifest__.py b/addons/sales_team/__manifest__.py
index fd8ce74a30c..3ecf2d97481 100644
--- a/addons/sales_team/__manifest__.py
+++ b/addons/sales_team/__manifest__.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
- 'name': 'Sales Channels',
+ 'name': 'Sales Teams',
'version': '1.0',
'category': 'Sales',
- 'summary': 'Sales Channels',
+ 'summary': 'Sales Teams',
'description': """
-Using this application you can manage Sales Channels with CRM and/or Sales
+Using this application you can manage Sales Teams with CRM and/or Sales
===========================================================================
""",
'website': 'https://www.odoo.com/page/crm',
diff --git a/addons/sales_team/models/crm_team.py b/addons/sales_team/models/crm_team.py
index f3708fc5b10..89905ae28f7 100644
--- a/addons/sales_team/models/crm_team.py
+++ b/addons/sales_team/models/crm_team.py
@@ -16,7 +16,7 @@ from odoo.tools import DEFAULT_SERVER_DATE_FORMAT as DF
class CrmTeam(models.Model):
_name = "crm.team"
_inherit = ['mail.thread']
- _description = "Sales Channel"
+ _description = "Sales Team"
_order = "name"
@api.model
@@ -40,14 +40,14 @@ class CrmTeam(models.Model):
def _get_default_favorite_user_ids(self):
return [(6, 0, [self.env.uid])]
- name = fields.Char('Sales Channel', required=True, translate=True)
- active = fields.Boolean(default=True, help="If the active field is set to false, it will allow you to hide the sales channel without removing it.")
+ name = fields.Char('Sales Team', required=True, translate=True)
+ active = fields.Boolean(default=True, help="If the active field is set to false, it will allow you to hide the Sales Team without removing it.")
company_id = fields.Many2one('res.company', string='Company',
default=lambda self: self.env['res.company']._company_default_get('crm.team'))
currency_id = fields.Many2one(
"res.currency", related='company_id.currency_id',
string="Currency", readonly=True)
- user_id = fields.Many2one('res.users', string='Channel Leader')
+ user_id = fields.Many2one('res.users', string='Team Leader')
member_ids = fields.One2many('res.users', 'sale_team_id', string='Channel Members')
favorite_user_ids = fields.Many2many(
'res.users', 'team_favorite_user_rel', 'team_id', 'user_id',
@@ -58,9 +58,9 @@ class CrmTeam(models.Model):
compute='_compute_is_favorite', inverse='_inverse_is_favorite',
help="Favorite teams to display them in the dashboard and access them easily.")
reply_to = fields.Char(string='Reply-To',
- help="The email address put in the 'Reply-To' of all emails sent by Odoo about cases in this sales channel")
+ help="The email address put in the 'Reply-To' of all emails sent by Odoo about cases in this Sales Team")
color = fields.Integer(string='Color Index', help="The color of the channel")
- team_type = fields.Selection([('sales', 'Sales'), ('website', 'Website')], string='Channel Type', default='sales', required=True,
+ team_type = fields.Selection([('sales', 'Sales'), ('website', 'Website')], string='Team Type', default='sales', required=True,
help="The type of this channel, it will define the resources this channel uses.")
dashboard_button_name = fields.Char(string="Dashboard Button", compute='_compute_dashboard_button_name')
dashboard_graph_data = fields.Text(compute='_compute_dashboard_graph')
@@ -143,7 +143,7 @@ class CrmTeam(models.Model):
return 'DATE(%s)' % self._graph_date_column()
def _graph_y_query(self):
- raise UserError(_('Undefined graph model for Sales Channel: %s') % self.name)
+ raise UserError(_('Undefined graph model for Sales Team: %s') % self.name)
def _extra_sql_conditions(self):
return ''
@@ -170,7 +170,7 @@ class CrmTeam(models.Model):
# apply rules
if not self.dashboard_graph_model:
- raise UserError(_('Undefined graph model for Sales Channel: %s') % self.name)
+ raise UserError(_('Undefined graph model for Sales Team: %s') % self.name)
GraphModel = self.env[self.dashboard_graph_model]
graph_table = GraphModel._table
extra_conditions = self._extra_sql_conditions()
@@ -263,14 +263,14 @@ class CrmTeam(models.Model):
return [{'values': values, 'area': True, 'title': graph_title, 'key': graph_key, 'color': color}]
def _compute_dashboard_button_name(self):
- """ Sets the adequate dashboard button name depending on the sales channel's options
+ """ Sets the adequate dashboard button name depending on the Sales Team's options
"""
for team in self:
team.dashboard_button_name = _("Big Pretty Button :)") # placeholder
def action_primary_channel_button(self):
""" skeleton function to be overloaded
- It will return the adequate action depending on the sales channel's options
+ It will return the adequate action depending on the Sales Team's options
"""
return False
diff --git a/addons/sales_team/models/res_partner.py b/addons/sales_team/models/res_partner.py
index 1df2395602d..cd36892861b 100644
--- a/addons/sales_team/models/res_partner.py
+++ b/addons/sales_team/models/res_partner.py
@@ -8,5 +8,5 @@ class ResPartner(models.Model):
_inherit = 'res.partner'
team_id = fields.Many2one(
- 'crm.team', 'Sales Channel',
- help='If set, this sales channel will be used for sales and assignations related to this partner')
+ 'crm.team', 'Sales Team',
+ help='If set, this Sales Team will be used for sales and assignations related to this partner')
diff --git a/addons/sales_team/models/res_users.py b/addons/sales_team/models/res_users.py
index 50b7e5cd28c..6ce0c27f983 100644
--- a/addons/sales_team/models/res_users.py
+++ b/addons/sales_team/models/res_users.py
@@ -8,8 +8,8 @@ class ResUsers(models.Model):
_inherit = 'res.users'
sale_team_id = fields.Many2one(
- 'crm.team', 'Sales Team',
- help='Sales Channel the user is member of. Used to compute the members of a sales channel through the inverse one2many')
+ 'crm.team', "User's Sales Team",
+ help='Sales Team the user is member of. Used to compute the members of a Sales Team through the inverse one2many')
group_sales_team_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_sales_management'),
diff --git a/addons/sales_team/security/sales_team_security.xml b/addons/sales_team/security/sales_team_security.xml
index cf23763913c..43571985b26 100644
--- a/addons/sales_team/security/sales_team_security.xml
+++ b/addons/sales_team/security/sales_team_security.xml
@@ -30,7 +30,7 @@
- Sales Channel multi-company
+ Sales Team multi-company
['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
diff --git a/addons/sales_team/views/crm_team_views.xml b/addons/sales_team/views/crm_team_views.xml
index 925c7651efa..413a41a7106 100644
--- a/addons/sales_team/views/crm_team_views.xml
+++ b/addons/sales_team/views/crm_team_views.xml
@@ -22,7 +22,7 @@
- Sales Channel Dashboard
+ Sales Teams
crm.team
form
kanban,form
@@ -30,9 +30,9 @@
- Define a new sales channel
+ Define a new Sales Team
- Use sales channels to organize your sales departments.
+ Use Sales Teams to organize your sales departments.
Each channel will work with a separate pipeline.
@@ -44,7 +44,7 @@
crm.team.form
crm.team
-