[MERGE] [IMP] mail: slightly improved doc links in notification emails (shorter, clearer)

bzr revid: tde@openerp.com-20140423125319-kegutder49zzqmri
This commit is contained in:
Thibault Delavallée 2014-04-23 14:53:19 +02:00
commit d3ee65eed6
3 changed files with 18 additions and 8 deletions

View File

@ -109,8 +109,7 @@ class mail_notification(osv.Model):
Administrator Administrator
</p> </p>
<div> <div>
<small>Sent by <a ...>Your Company</a> using <a ...>OpenERP</a>.</small> OR <small>Sent from <a ...>Your Company</a> using <a ...>OpenERP</a>.</small>
<small>Sent by Administrator using <a ...>OpenERP</a>.</small>
</div> </div>
""" """
footer = "" footer = ""
@ -132,7 +131,7 @@ class mail_notification(osv.Model):
company = "<a style='color:inherit' href='%s'>%s</a>" % (website_url, user.company_id.name) company = "<a style='color:inherit' href='%s'>%s</a>" % (website_url, user.company_id.name)
else: else:
company = user.company_id.name 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 = '<small>%s</small>' % (sent_by % { signature_company = '<small>%s</small>' % (sent_by % {
'company': company, 'company': company,
'openerp': "<a style='color:inherit' href='https://www.openerp.com/'>OpenERP</a>" 'openerp': "<a style='color:inherit' href='https://www.openerp.com/'>OpenERP</a>"

View File

@ -147,6 +147,8 @@ class mail_mail(osv.Model):
def _get_partner_access_link(self, cr, uid, mail, partner=None, context=None): def _get_partner_access_link(self, cr, uid, mail, partner=None, context=None):
"""Generate URLs for links in mails: partner has access (is user): """Generate URLs for links in mails: partner has access (is user):
link to action_mail_redirect action that will redirect to doc or Inbox """ link to action_mail_redirect action that will redirect to doc or Inbox """
if context is None:
context = {}
if partner and partner.user_ids: if partner and partner.user_ids:
base_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url') 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 # the parameters to encode for the query and fragment part of url
@ -161,7 +163,7 @@ class mail_mail(osv.Model):
fragment.update(model=mail.model, res_id=mail.res_id) fragment.update(model=mail.model, res_id=mail.res_id)
url = urljoin(base_url, "/web?%s#%s" % (urlencode(query), urlencode(fragment))) url = urljoin(base_url, "/web?%s#%s" % (urlencode(query), urlencode(fragment)))
return _("""<span class='oe_mail_footer_access'><small>Access your messages and documents <a style='color:inherit' href="%s">in OpenERP</a></small></span>""") % url return _("""<span class='oe_mail_footer_access'><small>about <a style='color:inherit' href="%s">%s %s</a></small></span>""") % (url, context.get('model_name', ''), mail.record_name)
else: else:
return None return None
@ -233,10 +235,19 @@ class mail_mail(osv.Model):
email sending process has failed email sending process has failed
:return: True :return: True
""" """
if context is None:
context = {}
ir_mail_server = self.pool.get('ir.mail_server') ir_mail_server = self.pool.get('ir.mail_server')
for mail in self.browse(cr, SUPERUSER_ID, ids, context=context): for mail in self.browse(cr, SUPERUSER_ID, ids, context=context):
try: 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 # handle attachments
attachments = [] attachments = []
for attach in mail.attachment_ids: for attach in mail.attachment_ids:

View File

@ -39,8 +39,8 @@ class mail_mail(osv.Model):
if partner and not partner.user_ids: if partner and not partner.user_ids:
contex_signup = dict(context, signup_valid=True) contex_signup = dict(context, signup_valid=True)
signup_url = partner_obj._get_signup_url_for_action(cr, SUPERUSER_ID, [partner.id], signup_url = partner_obj._get_signup_url_for_action(cr, SUPERUSER_ID, [partner.id],
model=mail.model, res_id=mail.res_id, model=mail.model, res_id=mail.res_id,
context=contex_signup)[partner.id] context=contex_signup)[partner.id]
return _("""<span class='oe_mail_footer_access'><small>Access your messages and documents through <a style='color:inherit' href="%s">our Customer Portal</a></small></span>""") % signup_url return _(""", <span class='oe_mail_footer_access'><small>access %s %s through <a style='color:inherit' href="%s">our Customer Portal</a></small></span>""") % (context.get('model_name', ''), mail.record_name, signup_url)
else: else:
return super(mail_mail, self)._get_partner_access_link(cr, uid, mail, partner=partner, context=context) return super(mail_mail, self)._get_partner_access_link(cr, uid, mail, partner=partner, context=context)