summaryrefslogtreecommitdiff
path: root/addons/project/project.py
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2012-08-14 17:26:34 +0200
committerThibault Delavallée <tde@openerp.com>2012-08-14 17:26:34 +0200
commitaac03b547ddf71f064b2ee55e1a401c03f850372 (patch)
tree2c4ef01d16a7073f16bca21a11c3e1038b81a581 /addons/project/project.py
parenta381c0adce6ff6a6db3ca34d24cd13a65f5d1a39 (diff)
parentcaa053c252d29a31bf7f4300d7b47860fdba9f1e (diff)
[MERGE] Merged with addons/trunk.
bzr revid: tde@openerp.com-20120814152634-ix63oxwcyrfkku4t
Diffstat (limited to 'addons/project/project.py')
-rw-r--r--addons/project/project.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/addons/project/project.py b/addons/project/project.py
index a3f1c85bb7e..fcc340d94ec 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -267,6 +267,7 @@ class project(osv.osv):
'type_ids': _get_type_common,
'alias_model': 'project.task',
'privacy_visibility': 'public',
+ 'alias_domain': False, # always hide alias during creation
}
# TODO: Why not using a SQL contraints ?
@@ -337,11 +338,11 @@ class project(osv.osv):
context['active_test'] = False
default['state'] = 'open'
default['tasks'] = []
- default['alias_id'] = False
+ default.pop('alias_name', None)
+ default.pop('alias_id', None)
proj = self.browse(cr, uid, id, context=context)
if not default.get('name', False):
default['name'] = proj.name + _(' (copy)')
- default['alias_name'] = default['name']
res = super(project, self).copy(cr, uid, id, default, context)
self.map_tasks(cr,uid,id,res,context)
return res
@@ -527,11 +528,13 @@ def Project():
context = dict(context, project_creation_in_progress=True)
mail_alias = self.pool.get('mail.alias')
if not vals.get('alias_id'):
- name = vals.pop('alias_name', None) or vals['name']
- alias_id = mail_alias.create_unique_alias(cr, uid,
- {'alias_name': "project_"+short_name(name)},
- model_name=vals.get('alias_model', 'project.task'),
- context=context)
+ vals.pop('alias_name', None) # prevent errors during copy()
+ alias_id = mail_alias.create_unique_alias(cr, uid,
+ # Using '+' allows using subaddressing for those who don't
+ # have a catchall domain setup.
+ {'alias_name': "project+"+short_name(vals['name'])},
+ model_name=vals.get('alias_model', 'project.task'),
+ context=context)
vals['alias_id'] = alias_id
project_id = super(project, self).create(cr, uid, vals, context)
mail_alias.write(cr, uid, [vals['alias_id']], {'alias_defaults': {'project_id': project_id} }, context)