From 0d3d0e95636cf8ae0d52c650a28f505a89c3dc89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 5 Mar 2014 18:36:10 +0100 Subject: [PATCH] [IMP] mail: improved link in notification, now of form Sent from using , about , access in bzr revid: tde@openerp.com-20140305173610-yw71rophyt3iyfi4 --- addons/mail/mail_followers.py | 5 ++--- addons/mail/mail_mail.py | 17 ++++++++++++++--- addons/portal/mail_mail.py | 6 +++--- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/addons/mail/mail_followers.py b/addons/mail/mail_followers.py index 0059df90530..260d4849040 100644 --- a/addons/mail/mail_followers.py +++ b/addons/mail/mail_followers.py @@ -115,8 +115,7 @@ class mail_notification(osv.Model): Administrator

- Sent by Your Company using OpenERP. OR - Sent by Administrator using OpenERP. + Sent from Your Company using OpenERP.
""" footer = "" @@ -138,7 +137,7 @@ class mail_notification(osv.Model): company = "%s" % (website_url, user.company_id.name) else: company = user.company_id.name - sent_by = _('Sent by %(company)s using %(openerp)s.') + sent_by = _('Sent from %(company)s using %(openerp)s') signature_company = '%s' % (sent_by % { 'company': company, 'openerp': "OpenERP" diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py index a8726c16a0d..eb8aaf3356e 100644 --- a/addons/mail/mail_mail.py +++ b/addons/mail/mail_mail.py @@ -148,6 +148,8 @@ class mail_mail(osv.Model): """ Generate URLs for links in mails: - partner is an user and has read access to the document: direct link to document with model, res_id """ + if context is None: + context = {} if partner and partner.user_ids: base_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url') # the parameters to encode for the query and fragment part of url @@ -160,9 +162,9 @@ class mail_mail(osv.Model): fragment['message_id'] = mail.mail_message_id.id elif mail.model and mail.res_id: fragment.update(model=mail.model, res_id=mail.res_id) - + url = urljoin(base_url, "?%s#%s" % (urlencode(query), urlencode(fragment))) - return _("""Access your messages and documents in OpenERP""") % url + return _("""about %s %s""") % (url, context.get('model_name', ''), mail.record_name) else: return None @@ -239,10 +241,19 @@ class mail_mail(osv.Model): email sending process has failed :return: True """ + if context is None: + context = {} ir_mail_server = self.pool.get('ir.mail_server') - for mail in self.browse(cr, SUPERUSER_ID, ids, context=context): try: + # TDE note: remove me when model_id field is present on mail.message - done here to avoid doing it multiple times in the sub method + if mail.model: + model_id = self.pool['ir.model'].search(cr, SUPERUSER_ID, [('model', '=', mail.model)], context=context)[0] + model = self.pool['ir.model'].browse(cr, SUPERUSER_ID, model_id, context=context) + else: + model = None + if model: + context['model_name'] = model.name # handle attachments attachments = [] for attach in mail.attachment_ids: diff --git a/addons/portal/mail_mail.py b/addons/portal/mail_mail.py index 18eb15361a3..094b3223560 100644 --- a/addons/portal/mail_mail.py +++ b/addons/portal/mail_mail.py @@ -39,8 +39,8 @@ class mail_mail(osv.Model): if partner and not partner.user_ids: contex_signup = dict(context, signup_valid=True) signup_url = partner_obj._get_signup_url_for_action(cr, SUPERUSER_ID, [partner.id], - action='login', model=mail.model, res_id=mail.res_id, - context=contex_signup)[partner.id] - return _("""Access your messages and documents through our Customer Portal""") % signup_url + action='login', model=mail.model, res_id=mail.res_id, + context=contex_signup)[partner.id] + return _("""access %s %s through our Customer Portal""") % (context.get('model_name', ''), mail.record_name, signup_url) else: return super(mail_mail, self)._get_partner_access_link(cr, uid, mail, partner=partner, context=context)