diff --git a/addons/crm/crm_case_section_view.xml b/addons/crm/crm_case_section_view.xml index bc066db0a7a..4bc74ce880a 100644 --- a/addons/crm/crm_case_section_view.xml +++ b/addons/crm/crm_case_section_view.xml @@ -49,9 +49,7 @@ } -

- Click to create a new opportunity. -

+

OpenERP helps you keep track of your sales pipeline to follow up potential sales and better forecast your future revenues.

diff --git a/addons/crm/crm_data.xml b/addons/crm/crm_data.xml index 1f1bd74391a..231a7124824 100644 --- a/addons/crm/crm_data.xml +++ b/addons/crm/crm_data.xml @@ -30,7 +30,7 @@ Direct Sales DM True - info + sales @@ -56,6 +56,14 @@ + + + info + + + + + mail.group diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index a3bf47ee62a..b89c04a7d36 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -950,6 +950,14 @@ class crm_lead(format_address, osv.osv): default['stage_id'] = self._get_default_stage_id(cr, uid, local_context) return super(crm_lead, self).copy(cr, uid, id, default, context=context) + def get_empty_list_help(self, cr, uid, help, context=None): + context['empty_list_help_model'] = 'crm.case.section' + context['empty_list_help_id'] = context.get('default_section_id', None) + context['empty_list_help_document_name'] = _("opportunity") + if context.get('default_type') == 'lead': + context['empty_list_help_document_name'] = _("lead") + return super(crm_lead, self).get_empty_list_help(cr, uid, help, context=context) + # ---------------------------------------- # Mail Gateway # ---------------------------------------- diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml index 2f1a2ca16cd..dffe03dd4b3 100644 --- a/addons/crm/crm_lead_menu.xml +++ b/addons/crm/crm_lead_menu.xml @@ -44,9 +44,7 @@ -

- Click to create a new opportunity. -

+

OpenERP helps you keep track of your sales pipeline to follow up potential sales and better forecast your future revenues.

diff --git a/addons/crm/res_config.py b/addons/crm/res_config.py index 5f3ffe272e7..6af3dc93fce 100644 --- a/addons/crm/res_config.py +++ b/addons/crm/res_config.py @@ -19,6 +19,7 @@ # ############################################################################## +from openerp import SUPERUSER_ID from openerp.osv import fields, osv @@ -66,7 +67,42 @@ class crm_configuration(osv.TransientModel): 'group_multi_salesteams': fields.boolean("Organize Sales activities into multiple Sales Teams", implied_group='base.group_multi_salesteams', help="""Allows you to use Sales Teams to manage your leads and opportunities."""), + 'alias_prefix': fields.char('Default Alias Name for Leads'), + 'alias_domain' : fields.char('Alias Domain'), } + _defaults = { + 'alias_domain': lambda self, cr, uid, context: self.pool['mail.alias']._get_alias_domain(cr, SUPERUSER_ID, [1], None, None)[1], + } -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + def _find_default_lead_alias_id(self, cr, uid, context=None): + alias_id = self.pool['ir.model.data'].xmlid_to_res_id(cr, uid, 'crm.mail_alias_lead_info') + if not alias_id: + alias_ids = self.pool['mail.alias'].search( + cr, uid, [ + ('alias_model_id.model', '=', 'crm.lead'), + ('alias_force_thread_id', '=', False), + ('alias_parent_model_id.model', '=', 'crm.case.section'), + ('alias_parent_thread_id', '=', False), + ('alias_defaults', '=', '{}') + ], context=context) + alias_id = alias_ids and alias_ids[0] or False + return alias_id + + 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) + if alias_id: + alias_name = self.pool['mail.alias'].browse(cr, uid, alias_id, context=context).alias_name + return {'alias_prefix': alias_name} + + def set_default_alias_prefix(self, cr, uid, ids, context=None): + mail_alias = self.pool['mail.alias'] + for record in self.browse(cr, uid, ids, context=context): + alias_id = self._find_default_lead_alias_id(cr, uid, context=context) + if not alias_id: + create_ctx = dict(context, alias_model_name='crm.lead', alias_parent_model_name='crm.case.section') + alias_id = self.pool['mail.alias'].create(cr, uid, {'alias_name': record.alias_prefix}, context=create_ctx) + else: + mail_alias.write(cr, uid, alias_id, {'alias_name': record.alias_prefix}, context=context) + return True diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml index 9fd542c9dbd..b964cca5c7f 100644 --- a/addons/crm/res_config_view.xml +++ b/addons/crm/res_config_view.xml @@ -7,6 +7,7 @@ sale.config.settings +

@@ -26,11 +27,31 @@
+ + + + +
diff --git a/addons/hr_recruitment/res_config.py b/addons/hr_recruitment/res_config.py index 5f71d1f9bba..09d818d3ff2 100644 --- a/addons/hr_recruitment/res_config.py +++ b/addons/hr_recruitment/res_config.py @@ -50,9 +50,9 @@ class hr_applicant_settings(osv.TransientModel): alias_ids = self.pool['mail.alias'].search( cr, uid, [ ('alias_model_id.model', '=', 'hr.applicant'), - ('alias_force_thread_id', '=', 0), + ('alias_force_thread_id', '=', False), ('alias_parent_model_id.model', '=', 'hr.job'), - ('alias_parent_thread_id', '=', 0), + ('alias_parent_thread_id', '=', False), ('alias_defaults', '=', '{}') ], context=context) alias_id = alias_ids and alias_ids[0] or False