[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
try:
from premailer import transform
except (ImportError, IOError) as err:
from premailer import Premailer
except (ImportError, IOError) as err: # pragma: no cover
import logging
_logger = logging.getLogger(__name__)
_logger.debug(err)
@ -21,8 +21,19 @@ class MailTemplate(models.Model):
"""Use `premailer` to convert styles to inline styles."""
result = super().generate_email(res_ids, fields=fields)
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:
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
def _get_premailer_options(self):
return {}