diff options
| author | Olivier Dony <odo@openerp.com> | 2014-05-27 20:49:49 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2014-05-27 20:49:49 +0200 |
| commit | 04211015fc3d4be2a8c65b9d977c2d9c4dac8be7 (patch) | |
| tree | b651a2900e630ed2ff780ddb960b55470f3bd118 /addons/mail | |
| parent | e16233217c6919b33e6d1135ff07538d839f6a2f (diff) | |
| parent | 045285123f2551ca74753260fcf807af4bc413d0 (diff) | |
[MERGE] Forward-port of latest saas-4 fixes, up to 0452851
Diffstat (limited to 'addons/mail')
| -rw-r--r-- | addons/mail/mail_thread.py | 7 | ||||
| -rw-r--r-- | addons/mail/static/src/js/mail.js | 30 | ||||
| -rw-r--r-- | addons/mail/static/src/xml/mail.xml | 4 |
3 files changed, 36 insertions, 5 deletions
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index acb1793b7bd..11f93e25632 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -669,9 +669,10 @@ class mail_thread(osv.AbstractModel): def message_get_default_recipients(self, cr, uid, ids, context=None): if context and context.get('thread_model') and context['thread_model'] in self.pool and context['thread_model'] != self._name: - sub_ctx = dict(context) - sub_ctx.pop('thread_model') - return self.pool[context['thread_model']].message_get_default_recipients(cr, uid, ids, context=sub_ctx) + if hasattr(self.pool[context['thread_model']], 'message_get_default_recipients'): + sub_ctx = dict(context) + sub_ctx.pop('thread_model') + return self.pool[context['thread_model']].message_get_default_recipients(cr, uid, ids, context=sub_ctx) res = {} for record in self.browse(cr, SUPERUSER_ID, ids, context=context): recipient_ids, email_to, email_cc = set(), False, False diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index 99a7751e15e..e5eca724659 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -919,15 +919,45 @@ openerp.mail = function (session) { this.$('.oe_mail_expand').on('click', this.on_expand); this.$('.oe_mail_reduce').on('click', this.on_expand); this.$('.oe_mail_action_model').on('click', this.on_record_clicked); + this.$('.oe_mail_action_author').on('click', this.on_record_author_clicked); }, on_record_clicked: function (event) { + event.preventDefault(); + var self = this; var state = { 'model': this.model, 'id': this.res_id, 'title': this.record_name }; session.webclient.action_manager.do_push_state(state); + this.context.params = { + model: this.model, + res_id: this.res_id, + }; + this.thread.ds_thread.call("message_redirect_action", {context: this.context}).then(function(action){ + self.do_action(action); + }); + }, + + on_record_author_clicked: function (event) { + event.preventDefault(); + var partner_id = $(event.target).data('partner'); + var state = { + 'model': 'res.partner', + 'id': partner_id, + 'title': this.record_name + }; + session.webclient.action_manager.do_push_state(state); + var action = { + type:'ir.actions.act_window', + view_type: 'form', + view_mode: 'form', + res_model: 'res.partner', + views: [[false, 'form']], + res_id: partner_id, + } + this.do_action(action); }, /* Call the on_compose_message on the thread of this message. */ diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml index ec7b0fa2911..3aea4a19555 100644 --- a/addons/mail/static/src/xml/mail.xml +++ b/addons/mail/static/src/xml/mail.xml @@ -273,7 +273,7 @@ <t t-if="widget.attachment_ids.length > 0"> <div class="oe_msg_attachment_list"></div> </t> - <a t-if="widget.author_id and widget.options.show_link and widget.author_id[0]" t-attf-href="#model=res.partner&id=#{widget.author_id[0]}"><t t-esc="widget.author_id[2]"/></a> + <a t-if="widget.author_id and widget.options.show_link and widget.author_id[0]" t-attf-href="#model=res.partner&id=#{widget.author_id[0]}" t-att-data-partner="widget.author_id[0]" class="oe_mail_action_author"><t t-esc="widget.author_id[2]"/></a> <span t-if="widget.author_id and (!widget.options.show_link or !widget.author_id[0])"><t t-esc="widget.author_id[2]"/></span> <t t-if="widget.type == 'notification'"> updated document @@ -293,7 +293,7 @@ <t t-if="widget.type == 'notification' or ( (widget.type == 'email' or widget.type == 'comment') and (widget.subtype or widget.partner_ids.length > 0))" t-foreach="widget.partner_ids.slice(0, 3)" t-as="partner"> <span t-attf-class="oe_partner_follower"> - <a t-if="widget.options.show_link" t-attf-href="#model=res.partner&id=#{partner[0]}"><t t-esc="partner[1]"/></a> + <a t-if="widget.options.show_link" t-attf-href="#model=res.partner&id=#{partner[0]}" t-att-data-partner="partner[0]" class="oe_mail_action_author"><t t-esc="partner[1]"/></a> <t t-if="!widget.options.show_link" t-esc="partner[1]"/> </span> <t t-if="!partner_last">,</t> |
