[IMP] mail_inline_css: allow passing options to premailer

pull/471/head
mpanarin 2019-01-18 12:48:07 +02:00 committed by Simone Orsi
parent 15c0ab19b1
commit 7c30a62786
1 changed files with 15 additions and 4 deletions

View File

@ -6,8 +6,8 @@
from odoo import api, models from odoo import api, models
try: try:
from premailer import transform from premailer import Premailer
except (ImportError, IOError) as err: except (ImportError, IOError) as err: # pragma: no cover
import logging import logging
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
_logger.debug(err) _logger.debug(err)
@ -21,8 +21,19 @@ class MailTemplate(models.Model):
"""Use `premailer` to convert styles to inline styles.""" """Use `premailer` to convert styles to inline styles."""
result = super().generate_email(res_ids, fields=fields) result = super().generate_email(res_ids, fields=fields)
if isinstance(res_ids, int): if isinstance(res_ids, int):
result['body_html'] = transform(result['body_html']) premailer = Premailer(
html=result['body_html'],
**self._get_premailer_options(),
)
result['body_html'] = premailer.transform()
else: else:
for __, data in result.items(): for __, data in result.items():
data['body_html'] = transform(data['body_html']) premailer = Premailer(
html=data['body_html'],
**self._get_premailer_options(),
)
data['body_html'] = premailer.transform()
return result return result
def _get_premailer_options(self):
return {}