From 0bfb7d6915bbb644df858bba796404e5cf2995c1 Mon Sep 17 00:00:00 2001 From: Hitesh Trivedi <htr@openerp.com> Date: Wed, 8 Apr 2015 11:53:32 +0530 Subject: [PATCH] [IMP] sales_team: Make sales team company specific --- addons/crm/web_planner.py | 3 ++- addons/sales_team/sales_team.py | 1 + addons/sales_team/sales_team.xml | 2 ++ addons/sales_team/security/sales_team_security.xml | 5 +++++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/addons/crm/web_planner.py b/addons/crm/web_planner.py index a01c7c7c5bc7..727885b4828c 100644 --- a/addons/crm/web_planner.py +++ b/addons/crm/web_planner.py @@ -14,7 +14,8 @@ class PlannerCrm(models.Model): @api.model def _prepare_planner_crm_data(self): - sales_team = self.env.ref('sales_team.team_sales_department') + # sudo is needed to avoid error message when current user's company != sale_department company + sales_team = self.sudo().env.ref('sales_team.team_sales_department') values = { 'alias_domain': sales_team.alias_domain, 'alias_name': sales_team.alias_name, diff --git a/addons/sales_team/sales_team.py b/addons/sales_team/sales_team.py index 74157c5357b0..f5bf2aef52a2 100644 --- a/addons/sales_team/sales_team.py +++ b/addons/sales_team/sales_team.py @@ -44,6 +44,7 @@ class crm_team(osv.Model): 'code': fields.char('Code', size=8), 'active': fields.boolean('Active', help="If the active field is set to "\ "true, it will allow you to hide the sales team without removing it."), + 'company_id': fields.many2one('res.company', 'Company'), 'change_responsible': fields.boolean('Reassign Escalated', help="When escalating to this team override the salesman with the team leader."), 'user_id': fields.many2one('res.users', 'Team Leader'), 'member_ids': fields.many2many('res.users', 'sale_member_rel', 'team_id', 'member_id', 'Team Members'), diff --git a/addons/sales_team/sales_team.xml b/addons/sales_team/sales_team.xml index b6337fd9e991..4bf0c95ec16c 100644 --- a/addons/sales_team/sales_team.xml +++ b/addons/sales_team/sales_team.xml @@ -98,6 +98,8 @@ </group> <group> <field name="active"/> + <field name="company_id" groups="base.group_multi_company" + options="{'no_create': True}"/> </group> </group> </page> diff --git a/addons/sales_team/security/sales_team_security.xml b/addons/sales_team/security/sales_team_security.xml index ae872edd301b..5cf3db05eac1 100644 --- a/addons/sales_team/security/sales_team_security.xml +++ b/addons/sales_team/security/sales_team_security.xml @@ -5,5 +5,10 @@ <field name="name">Manage Sales Teams</field> <field name="category_id" ref="base.module_category_hidden"/> </record> + <record model="ir.rule" id="sale_team_comp_rule"> + <field name="name">Sales Team multi-company</field> + <field name="model_id" ref="model_crm_team"/> + <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> + </record> </data> </openerp> -- GitLab