[FIX] mail_alias: aliases proposed in empty list fixed.
Check only aliases that effectively create new records (not aliases used for updating). When having several possible aliases, do not display any alias, because we do not have any information about the correct alias to display. bzr revid: tde@openerp.com-20130530124128-w7lz1jsrspyu38dv
This commit is contained in:
@@ -101,12 +101,16 @@ class mail_thread(osv.AbstractModel):
|
||||
|
||||
if catchall_domain and model and res_id: # specific res_id -> find its alias (i.e. section_id specified)
|
||||
object_id = self.pool.get(model).browse(cr, uid, res_id, context=context)
|
||||
alias = object_id.alias_id
|
||||
# check that the alias effectively creates new records
|
||||
if object_id.alias_id and object_id.alias_id.alias_model_id and \
|
||||
object_id.alias_id.alias_model_id.model == self._name and \
|
||||
object_id.alias_id.alias_force_thread_id == 0:
|
||||
alias = object_id.alias_id
|
||||
elif catchall_domain and model: # no specific res_id given -> generic help message, take an example alias (i.e. alias of some section_id)
|
||||
model_id = self.pool.get('ir.model').search(cr, uid, [("model", "=", self._name)], context=context)[0]
|
||||
alias_obj = self.pool.get('mail.alias')
|
||||
alias_ids = alias_obj.search(cr, uid, [("alias_model_id", "=", model_id)], context=context, limit=1, order='id ASC')
|
||||
if alias_ids:
|
||||
alias_ids = alias_obj.search(cr, uid, [("alias_model_id", "=", model_id), ('alias_force_thread_id', '=', 0)], context=context, order='id ASC')
|
||||
if alias_ids and len(alias_ids) == 1: # if several aliases -> incoherent to propose one guessed from nowhere, therefore avoid if several aliases
|
||||
alias = alias_obj.browse(cr, uid, alias_ids[0], context=context)
|
||||
|
||||
if alias:
|
||||
|
||||
Reference in New Issue
Block a user