summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/crm/crm_lead.py36
-rw-r--r--addons/crm/crm_lead_menu.xml17
-rw-r--r--addons/crm/crm_lead_view.xml3
-rw-r--r--addons/crm/data/crm_stage_demo.xml1
-rw-r--r--addons/sales_team/sales_team.py37
-rw-r--r--addons/sales_team/sales_team.xml4
-rw-r--r--addons/sales_team/sales_team_dashboard.xml7
-rw-r--r--addons/sales_team/sales_team_demo.xml1
-rw-r--r--addons/sales_team/static/src/xml/sales_team_dashboard.xml4
-rw-r--r--addons/website_crm/data/website_crm_data.xml1
-rw-r--r--addons/website_sale/data/data.xml1
-rw-r--r--addons/website_sale/data/demo.xml6
12 files changed, 63 insertions, 55 deletions
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 2adf9fb84e4..b488137e50a 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -1221,3 +1221,39 @@ class crm_lost_reason(osv.Model):
_columns = {
'name': fields.char('Name', required=True),
}
+
+
+class crm_team(osv.Model):
+ _inherit = "crm.team"
+ def action_your_pipeline(self, cr, uid, context={}):
+ imd = self.pool.get('ir.actions.act_window')
+ action = imd.for_xml_id(cr, uid, 'crm', "crm_lead_opportunities_tree_view", context=context)
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ team_id = user.sale_team_id.id
+ if not team_id:
+ team_id = self.search(cr, uid, [], context=context, limit=1)
+ team_id = team_id and team_id[0]
+ action['help'] = """
+ <p class='oe_view_nocontent_create'>Click here to add new opportunities</p><p>
+ Looks like you are not a member of a sales team. You should add yourself
+ as a member of one of the sales team.
+ </p>"""
+ if team_id:
+ action['help'] += "<p>As you don't belong to any sales team, Odoo opens the first one by default.</p>"
+ newcontext = eval(action['context'], {'uid': uid})
+ if team_id:
+ newcontext.update({
+ 'default_team_id': team_id,
+ 'search_default_team_id': team_id
+ })
+ result = {
+ 'name': action['name'],
+ 'help': action['help'],
+ 'type': action['type'],
+ 'views': [[False, 'kanban'], [False, 'tree'], [False, 'form'], [False, 'graph'], [False, 'calendar'], [False, 'pivot']],
+ 'target': action['target'],
+ 'context': newcontext,
+ 'res_model': action['res_model'],
+ }
+ return result
+
diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml
index f1245382535..d569110a2e0 100644
--- a/addons/crm/crm_lead_menu.xml
+++ b/addons/crm/crm_lead_menu.xml
@@ -54,18 +54,25 @@
</field>
</record>
+ <record id="action_your_pipeline" model="ir.actions.server">
+ <field name="name">Your Pipeline</field>
+ <field name="model_id" ref="crm.model_crm_team"/>
+ <field name="state">code</field>
+ <field name="code">action = self.action_your_pipeline(cr, uid, context=context)</field>
+ <field eval="True" name="condition"/>
+ </record>
+
<record model="ir.actions.act_window" id="crm_lead_opportunities_tree_view">
- <field name="name">Pipeline</field>
+ <field name="name">Your Pipeline</field>
<field name="res_model">crm.lead</field>
- <field name="view_mode">tree,graph,pivot,form,calendar</field>
+ <field name="view_mode">kanban,tree,graph,pivot,form,calendar</field>
<field name="domain">[('type','=','opportunity')]</field>
<field name="context">{
'stage_type': 'opportunity',
'default_type': 'opportunity',
'default_user_id': uid,
'search_default_assigned_to_me': 1,
- }
- </field>
+}</field>
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
<field name="help" type="html">
<p>
@@ -102,7 +109,7 @@
<menuitem id="base.menu_sales" name="Sales" parent="base.menu_base_partner" sequence="5"/>
<menuitem name="Leads" id="menu_crm_leads" parent="base.menu_sales" sequence="1"
action="crm_lead_all_leads" groups="crm.group_use_lead"/>
- <menuitem name="Pipeline" id="menu_crm_opportunities" action="crm_lead_opportunities_tree_view" parent="base.menu_sales" sequence="1"/>
+ <menuitem id="menu_crm_opportunities" action="action_your_pipeline" parent="base.menu_sales" sequence="4"/>
<record id="crm_lead_action_activities" model="ir.actions.act_window">
<field name="name">Next Activities</field>
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index f4874d6c5ea..d0e6258bd80 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -368,7 +368,8 @@
name="type_opportunity"
domain="[('type', '=', 'opportunity')]"/>
<separator/>
- <filter string="My Leads"
+ <filter string="My Opportunities"
+ name="assigned_to_me"
domain="[('user_id','=',uid)]"
help="Leads that are assigned to me"/>
<filter string="Unassigned" name="unassigned"
diff --git a/addons/crm/data/crm_stage_demo.xml b/addons/crm/data/crm_stage_demo.xml
index d72e1481678..c233d9849e6 100644
--- a/addons/crm/data/crm_stage_demo.xml
+++ b/addons/crm/data/crm_stage_demo.xml
@@ -60,7 +60,6 @@
(4, ref('stage_lead4'))]"/>
</record>
<record model="crm.team" id="sales_team.crm_team_1">
- <field name="member_ids" eval="[(4, ref('base.user_root')),(4, ref('base.user_demo'))]"/>
<field name="stage_ids" eval="[(4, ref('crm_stage_2_1')),
(4, ref('crm_stage_2_2')),
(4, ref('crm_stage_2_3')),
diff --git a/addons/sales_team/sales_team.py b/addons/sales_team/sales_team.py
index ec99ca6bdf2..d6c523bf548 100644
--- a/addons/sales_team/sales_team.py
+++ b/addons/sales_team/sales_team.py
@@ -8,12 +8,9 @@ class crm_team(osv.Model):
_name = "crm.team"
_inherit = ['mail.thread', 'ir.needaction_mixin']
_description = "Sales Team"
- _order = "complete_name"
+ _order = "name"
_period_number = 5
- def get_full_name(self, cr, uid, ids, field_name, arg, context=None):
- return dict(self.name_get(cr, uid, ids, context=context))
-
def _get_default_team_id(self, cr, uid, context=None, user_id=None):
if context is None:
context = {}
@@ -29,16 +26,13 @@ class crm_team(osv.Model):
_columns = {
'name': fields.char('Sales Team', size=64, required=True, translate=True),
- 'complete_name': fields.function(get_full_name, type='char', size=256, readonly=True, store=True, string="Full Name"),
'code': fields.char('Code', size=8),
'active': fields.boolean('Active', 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', 'Company'),
'user_id': fields.many2one('res.users', 'Team Leader'),
- 'member_ids': fields.many2many('res.users', 'sale_member_rel', 'team_id', 'member_id', 'Team Members'),
+ 'member_ids': fields.one2many('res.users', 'sale_team_id', 'Team Members'),
'reply_to': fields.char('Reply-To', size=64, help="The email address put in the 'Reply-To' of all emails sent by Odoo about cases in this sales team"),
- 'parent_id': fields.many2one('crm.team', 'Parent Team'),
- 'child_ids': fields.one2many('crm.team', 'parent_id', 'Child Teams'),
'working_hours': fields.float('Working Hours', digits=(16, 2)),
'color': fields.integer('Color Index'),
}
@@ -51,35 +45,22 @@ class crm_team(osv.Model):
('code_uniq', 'unique (code)', 'The code of the sales team must be unique !')
]
- _constraints = [
- (osv.osv._check_recursion, 'Error ! You cannot create recursive Sales team.', ['parent_id'])
- ]
-
def create(self, cr, uid, values, context=None):
if context is None:
context = {}
context['mail_create_nosubscribe'] = True
return super(crm_team, self).create(cr, uid, values, context=context)
- def name_get(self, cr, uid, ids, context=None):
- """Overrides orm name_get method"""
- if not isinstance(ids, list):
- ids = [ids]
- res = []
- if not ids:
- return res
- reads = self.read(cr, uid, ids, ['name', 'parent_id'], context)
-
- for record in reads:
- name = record['name']
- if record['parent_id']:
- name = record['parent_id'][1] + ' / ' + name
- res.append((record['id'], name))
- return res
-
class res_partner(osv.Model):
_inherit = 'res.partner'
_columns = {
'team_id': fields.many2one('crm.team', 'Sales Team', oldname='section_id'),
}
+
+class res_users(osv.Model):
+ _inherit = ['res.users']
+ _columns = {
+ 'sale_team_id': fields.many2one('crm.team','Sales Team')
+ }
+
diff --git a/addons/sales_team/sales_team.xml b/addons/sales_team/sales_team.xml
index b4d07b55cb0..942ddb6851d 100644
--- a/addons/sales_team/sales_team.xml
+++ b/addons/sales_team/sales_team.xml
@@ -14,12 +14,10 @@
<search string="Salesteams Search">
<filter name="personal" string="My Salesteams" domain="['|', ('member_ids', '=', uid), ('user_id', '=', uid)]"/>
<field name="name"/>
- <field name="parent_id"/>
<field name="user_id"/>
<field name="code"/>
<group expand="0" string="Group By...">
<filter string="Team Leader" domain="[]" context="{'group_by':'user_id'}"/>
- <filter string="Parent Sales Teams" domain="[]" context="{'group_by':'parent_id'}"/>
</group>
</search>
</field>
@@ -27,7 +25,7 @@
<!-- Case Teams Action -->
<record id="crm_team_salesteams_act" model="ir.actions.act_window">
- <field name="name">Sales Teams</field>
+ <field name="name">Dashboard</field>
<field name="res_model">crm.team</field>
<field name="view_type">form</field>
<field name="view_mode">sales_team_dashboard</field>
diff --git a/addons/sales_team/sales_team_dashboard.xml b/addons/sales_team/sales_team_dashboard.xml
index 79f2bfba168..d94efdb385a 100644
--- a/addons/sales_team/sales_team_dashboard.xml
+++ b/addons/sales_team/sales_team_dashboard.xml
@@ -62,11 +62,4 @@
</field>
</record>
- <record id="action_sales_team_dashboard" model="ir.actions.client">
- <field name="name">Sales Team Dashboard</field>
- <field name="res_model">crm.team</field>
- <field name="tag">sales_team_dashboard</field>
- </record>
-
- <menuitem action="action_sales_team_dashboard" id="menu_sales_team_dashboard" parent="base.menu_sales" sequence="20" groups="base.group_sale_salesman,base.group_sale_manager"/>
</odoo>
diff --git a/addons/sales_team/sales_team_demo.xml b/addons/sales_team/sales_team_demo.xml
index 68cc2e0f7a0..552e89b93f0 100644
--- a/addons/sales_team/sales_team_demo.xml
+++ b/addons/sales_team/sales_team_demo.xml
@@ -10,7 +10,6 @@
</record>
<record model="crm.team" id="crm_team_1">
<field name="name">Indirect Sales</field>
- <field name="member_ids" eval="[(4, ref('base.user_root')),(4, ref('base.user_demo'))]"/>
</record>
</data>
</odoo>
diff --git a/addons/sales_team/static/src/xml/sales_team_dashboard.xml b/addons/sales_team/static/src/xml/sales_team_dashboard.xml
index bce1fac5d8c..eb67da5934a 100644
--- a/addons/sales_team/static/src/xml/sales_team_dashboard.xml
+++ b/addons/sales_team/static/src/xml/sales_team_dashboard.xml
@@ -3,7 +3,7 @@
<templates>
<!--
- This template is the rubbon at the top of the salesteam dashboard that adds
+ This template is the ribbon at the top of the salesteam dashboard that adds
some figures to it. We call this rubbon the "SalesDashboard".
-->
<t t-name="sales_team.SalesDashboard">
@@ -233,7 +233,7 @@
<h2>Hi there!</h2>
<h4>Great sales journeys start with a clean pipeline.</h4>
<h4>Create a few opportunities to activate your dashboard.</h4>
- <a class="btn btn-primary btn-lg o_dashboard_action" name="crm.crm_lead_opportunities">Your Pipeline</a>
+ <a class="btn btn-primary o_dashboard_action" name="crm.action_your_pipeline">Your Pipeline</a>
</div>
</div>
</div>
diff --git a/addons/website_crm/data/website_crm_data.xml b/addons/website_crm/data/website_crm_data.xml
index a116a6ae411..e74672c71b1 100644
--- a/addons/website_crm/data/website_crm_data.xml
+++ b/addons/website_crm/data/website_crm_data.xml
@@ -21,7 +21,6 @@
<record model="crm.team" id="website.salesteam_website_sales">
<field name="name">Website Sales</field>
<field name="code">WS</field>
- <field name="member_ids" eval="[(4, ref('base.user_root'))]"/>
<field name="use_leads">True</field>
<field name="use_opportunities" eval="False"/>
</record>
diff --git a/addons/website_sale/data/data.xml b/addons/website_sale/data/data.xml
index e0eaeec4b5a..798d2221c81 100644
--- a/addons/website_sale/data/data.xml
+++ b/addons/website_sale/data/data.xml
@@ -30,7 +30,6 @@
<record model="crm.team" id="website.salesteam_website_sales">
<field name="name">Website Sales</field>
<field name="code">WS</field>
- <field name="member_ids" eval="[(4, ref('base.user_root'))]"/>
<field name="use_quotations" eval="False"/>
</record>
diff --git a/addons/website_sale/data/demo.xml b/addons/website_sale/data/demo.xml
index 115356a469f..fb43f644bb1 100644
--- a/addons/website_sale/data/demo.xml
+++ b/addons/website_sale/data/demo.xml
@@ -548,13 +548,9 @@ Weight: 31 grams</field>
<field name="price_discount">-0.2000</field>
<field name="sequence">1</field>
</record>
-
- <record model="crm.team" id="website.salesteam_website_sales">
- <field name="member_ids" eval="[(4, ref('base.user_root'), ref('base.user_demo'))]"/>
- </record>
<!-- product.public.category -->
-
+
<record id="product.Components" model="product.public.category">
<field name="name">Components</field>
<field name="sequence">15</field>