diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index a5b045f8182..b790f9bc233 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -47,6 +47,7 @@ Dashboard for CRM will include:
'data/crm_action_data.xml',
'crm_data.xml',
'data/crm_stage_data.xml',
+ 'data/sales_config_settings_data.xml',
'crm_lead_data.xml',
'crm_tip_data.xml',
diff --git a/addons/crm/data/sales_config_settings_data.xml b/addons/crm/data/sales_config_settings_data.xml
new file mode 100644
index 00000000000..61bda872c46
--- /dev/null
+++ b/addons/crm/data/sales_config_settings_data.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/addons/crm/res_config.py b/addons/crm/res_config.py
index 45c1420d87e..25f42195e1a 100644
--- a/addons/crm/res_config.py
+++ b/addons/crm/res_config.py
@@ -16,6 +16,9 @@ class crm_configuration(osv.TransientModel):
'module_crm_claim': fields.boolean("Manage Customer Claims",
help='Allows you to track your customers/vendors claims and grievances.\n'
'-This installs the module crm_claim.'),
+ 'generate_sales_team_alias': fields.boolean(
+ "Automatically generate an email alias at the sales team creation",
+ help="Odoo will generate an email alias based on the sales team name"),
'alias_prefix': fields.char('Default Alias Name for Leads'),
'alias_domain' : fields.char('Alias Domain')
}
@@ -38,6 +41,14 @@ class crm_configuration(osv.TransientModel):
alias_id = alias_ids and alias_ids[0] or False
return alias_id
+ def get_default_generate_sales_team_alias(self, cr, uid, ids, context=None):
+ return {'generate_sales_team_alias': self.pool['ir.values'].get_default(
+ cr, uid, 'sales.config.settings', 'generate_sales_team_alias')}
+
+ def set_default_generate_sales_team_alias(self, cr, uid, ids, context=None):
+ config_value = self.browse(cr, uid, ids, context=context).generate_sales_team_alias
+ self.pool['ir.values'].set_default(cr, uid, 'sales.config.settings', 'generate_sales_team_alias', config_value)
+
def get_default_alias_prefix(self, cr, uid, ids, context=None):
alias_name = False
alias_id = self._find_default_lead_alias_id(cr, uid, context=context)
diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml
index f08c8e128ea..bf3917709bb 100644
--- a/addons/crm/res_config_view.xml
+++ b/addons/crm/res_config_view.xml
@@ -29,21 +29,25 @@
-
-
-
-
-
- @
-
-
-
+
+
+
+
+ @
+
+
+
+
+
+
+
diff --git a/addons/crm/sales_team.py b/addons/crm/sales_team.py
index dac4726e3ca..47bfc32769d 100644
--- a/addons/crm/sales_team.py
+++ b/addons/crm/sales_team.py
@@ -43,14 +43,21 @@ class crm_team(osv.Model):
_defaults = {
'stage_ids': _get_default_stage_ids,
- 'use_leads': True,
'use_opportunities': True,
}
+ def onchange_use_leads(self, cr, uid, ids, use_leads, context=None):
+ if not use_leads:
+ return {'values': {'alias_name': False}}
+ return {'values': {}}
+
def create(self, cr, uid, vals, context=None):
if context is None:
context = {}
create_context = dict(context, alias_model_name='crm.lead', alias_parent_model_name=self._name)
+ generate_alias_name = self.pool['ir.values'].get_default(cr, uid, 'sales.config.settings', 'generate_sales_team_alias')
+ if generate_alias_name and not vals.get('alias_name'):
+ vals['alias_name'] = vals.get('name')
team_id = super(crm_team, self).create(cr, uid, vals, context=create_context)
team = self.browse(cr, uid, team_id, context=context)
self.pool.get('mail.alias').write(cr, uid, [team.alias_id.id], {'alias_parent_thread_id': team_id, 'alias_defaults': {'team_id': team_id, 'type': 'lead'}}, context=context)
diff --git a/addons/crm/sales_team_view.xml b/addons/crm/sales_team_view.xml
index ae4b4fe4e2b..683afec1393 100644
--- a/addons/crm/sales_team_view.xml
+++ b/addons/crm/sales_team_view.xml
@@ -87,8 +87,10 @@
-
-
+
+
+
+
@@ -96,21 +98,22 @@
-
-
-
-