diff --git a/addons/project/project.py b/addons/project/project.py index d17980fd33b6f611a727d6d27882efaf64d69b0e..27eb688c0b4555f8032d2731002ff476342661f5 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -591,12 +591,12 @@ def Project(): if vals.get('type', False) not in ('template', 'contract'): vals['type'] = 'contract' + ir_values = self.pool.get('ir.values').get_default(cr, uid, 'project.config.settings', 'generate_project_alias') + if ir_values: + vals['alias_name'] = vals.get('alias_name') or vals.get('name') project_id = super(project, self).create(cr, uid, vals, context=create_context) project_rec = self.browse(cr, uid, project_id, context=context) - ir_values = self.pool.get('ir.values').get_default( cr, uid, 'project.config.settings', 'generate_project_alias' ) - values = { 'alias_parent_thread_id': project_id, 'alias_defaults': {'project_id': project_id}} - if ir_values: - values = dict(values, alias_name=vals['name']) + values = {'alias_parent_thread_id': project_id, 'alias_defaults': {'project_id': project_id}} self.pool.get('mail.alias').write(cr, uid, [project_rec.alias_id.id], values, context=context) return project_id diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml index 12a028151bcc98a3abf16349477785ae60c8eace..bf3eed10aae3cea54bc6568b9983ca3298e4d98a 100644 --- a/addons/project/project_data.xml +++ b/addons/project/project_data.xml @@ -24,6 +24,9 @@ <field name="type">view</field> </record> <function id="parent_project_default_set" model="ir.values" name="set" eval="('default',False,'parent_id', [('project.project', False)], all_projects_account, True, False, False, False, True)"/> + + <!-- alias domain: project.config.settings --> + <function id="default_alias_domain_project" model="ir.values" name="set_default" eval="('project.config.settings', 'generate_project_alias', True)"/> <!-- Task Stages -->