[FIX] mail: fixed content_subtype stripped from context; fixed posting a message using the composer on res.users.

bzr revid: tde@openerp.com-20121019113408-ynxtc73mfaojh56p
This commit is contained in:
Thibault Delavallée 2012-10-19 13:34:08 +02:00
parent b366eee770
commit 1e6e375662
2 changed files with 14 additions and 1 deletions

View File

@ -126,6 +126,19 @@ class res_users(osv.Model):
return self.pool.get('res.partner').message_post_api(cr, uid, partner_id, body=body, subject=subject,
type=type, subtype=subtype, parent_id=parent_id, attachments=attachments, context=context, **kwargs)
def message_post(self, cr, uid, thread_id, context=None, **kwargs):
""" Redirect the posting of message on res.users to the related partner.
This is done because when giving the context of Chatter on the
various mailboxes, we do not have access to the current partner_id.
We therefore post on the user and redirect on its partner. """
assert thread_id, "res.users does not support posting global messages"
if context and 'thread_model' in context:
context['thread_model'] = 'res.partner'
if isinstance(thread_id, (list, tuple)):
thread_id = thread_id[0]
partner_id = self.pool.get('res.users').read(cr, uid, thread_id, ['partner_id'], context=context)['partner_id'][0]
return self.pool.get('res.partner').message_post(cr, uid, partner_id, context=context, **kwargs)
def message_update(self, cr, uid, ids, msg_dict, update_vals=None, context=None):
partner_id = self.pool.get('res.users').browse(cr, uid, ids)[0].partner_id.id
return self.pool.get('res.partner').message_update(cr, uid, [partner_id], msg_dict,

View File

@ -23,7 +23,7 @@ openerp.mail = function(session) {
*/
var context_keys = ['default_template_id', 'default_composition_mode',
'default_use_template', 'default_partner_ids', 'default_model',
'default_res_id', 'default_subtype', 'active_id', 'lang',
'default_res_id', 'default_content_subtype', 'active_id', 'lang',
'bin_raw', 'tz', 'active_model', 'edi_web_url_view', 'active_ids']
for (var key in action.context) {
if (_.indexOf(context_keys, key) == -1) {