From 5e74714f398bc94e404812254a032ab162752212 Mon Sep 17 00:00:00 2001
From: Simone Orsi
Date: Mon, 2 Dec 2019 12:40:58 +0100
Subject: [PATCH 01/19] Add mail_layout_preview
---
mail_layout_preview/README.rst | 92 ++++
mail_layout_preview/__init__.py | 2 +
mail_layout_preview/__manifest__.py | 15 +
mail_layout_preview/controllers/__init__.py | 1 +
.../controllers/layout_preview.py | 47 ++
.../i18n/mail_layout_preview.pot | 86 ++++
mail_layout_preview/readme/CONTRIBUTORS.rst | 1 +
mail_layout_preview/readme/DESCRIPTION.rst | 6 +
mail_layout_preview/readme/USAGE.rst | 10 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 436 ++++++++++++++++++
.../templates/email_preview.xml | 47 ++
mail_layout_preview/tests/__init__.py | 1 +
.../tests/test_layout_preview.py | 77 ++++
mail_layout_preview/wizard/__init__.py | 1 +
.../wizard/email_template_preview.py | 26 ++
.../wizard/email_template_preview.xml | 14 +
17 files changed, 862 insertions(+)
create mode 100644 mail_layout_preview/README.rst
create mode 100644 mail_layout_preview/__init__.py
create mode 100644 mail_layout_preview/__manifest__.py
create mode 100644 mail_layout_preview/controllers/__init__.py
create mode 100644 mail_layout_preview/controllers/layout_preview.py
create mode 100644 mail_layout_preview/i18n/mail_layout_preview.pot
create mode 100644 mail_layout_preview/readme/CONTRIBUTORS.rst
create mode 100644 mail_layout_preview/readme/DESCRIPTION.rst
create mode 100644 mail_layout_preview/readme/USAGE.rst
create mode 100644 mail_layout_preview/static/description/icon.png
create mode 100644 mail_layout_preview/static/description/index.html
create mode 100644 mail_layout_preview/templates/email_preview.xml
create mode 100644 mail_layout_preview/tests/__init__.py
create mode 100644 mail_layout_preview/tests/test_layout_preview.py
create mode 100644 mail_layout_preview/wizard/__init__.py
create mode 100644 mail_layout_preview/wizard/email_template_preview.py
create mode 100644 mail_layout_preview/wizard/email_template_preview.xml
diff --git a/mail_layout_preview/README.rst b/mail_layout_preview/README.rst
new file mode 100644
index 00000000..9ab4c432
--- /dev/null
+++ b/mail_layout_preview/README.rst
@@ -0,0 +1,92 @@
+============
+Mail Preview
+============
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github
+ :target: https://github.com/OCA/social/tree/13.0/mail_layout_preview
+ :alt: OCA/social
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/social-13-0/social-13-0-mail_layout_preview
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/205/13.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+The purpose of this module is to help development of email templates
+allowing to render the full layout preview of each of them.
+
+Odoo already allows you do preview emails but they are wrapped into Odoo backend theme.
+
+NOTE: to make work properly your emails it's strongly recommended to use `mail_inline_css` to include all styles in the body of the email.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Usage
+=====
+
+* Go to a template and click on the preview button
+* Select desired params and click on "Full layout preview" link
+* You'll get to the preview
+
+As a developer, you can see a list of all templates for a model by going to:
+
+ /email-preview/$model.name
+
+You'll get a list of all the templates.
+Follow the instructions there on how to use the links.
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues `_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+`feedback `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Camptocamp SA
+
+Contributors
+~~~~~~~~~~~~
+
+* Simone Orsi
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+This module is part of the `OCA/social `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/mail_layout_preview/__init__.py b/mail_layout_preview/__init__.py
new file mode 100644
index 00000000..9b7fdc98
--- /dev/null
+++ b/mail_layout_preview/__init__.py
@@ -0,0 +1,2 @@
+from . import controllers
+from . import wizard
diff --git a/mail_layout_preview/__manifest__.py b/mail_layout_preview/__manifest__.py
new file mode 100644
index 00000000..a63cb381
--- /dev/null
+++ b/mail_layout_preview/__manifest__.py
@@ -0,0 +1,15 @@
+# Copyright 2020 Camptocamp SA
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+{
+ "name": "Mail Preview",
+ "summary": """
+ Preview email templates in the browser""",
+ "version": "13.0.1.0.0",
+ "license": "AGPL-3",
+ "author": "Camptocamp SA,Odoo Community Association (OCA)",
+ "website": "https://github.com/OCA/social",
+ "depends": ["mail"],
+ "data": ["templates/email_preview.xml", "wizard/email_template_preview.xml"],
+ "development_status": "Beta",
+}
diff --git a/mail_layout_preview/controllers/__init__.py b/mail_layout_preview/controllers/__init__.py
new file mode 100644
index 00000000..07dab3c8
--- /dev/null
+++ b/mail_layout_preview/controllers/__init__.py
@@ -0,0 +1 @@
+from . import layout_preview
diff --git a/mail_layout_preview/controllers/layout_preview.py b/mail_layout_preview/controllers/layout_preview.py
new file mode 100644
index 00000000..b2e72d85
--- /dev/null
+++ b/mail_layout_preview/controllers/layout_preview.py
@@ -0,0 +1,47 @@
+# Copyright 2020 Simone Orsi - Camptocamp SA
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
+
+from odoo import http
+from odoo.http import request
+
+
+class Preview(http.Controller):
+
+ _list_template = "mail_layout_preview.email_templates_list"
+
+ @http.route(
+ ["/email-preview/"], type="http", auth="user", website=True
+ )
+ def template_list(self, model, **kw):
+ env = request.env
+ templates = env["mail.template"].search([("model_id.model", "=", model)])
+ xids = templates.get_external_id()
+ return request.render(
+ self._list_template, {"model": model, "templates": templates, "xids": xids}
+ )
+
+ @http.route(
+ ["/email-preview///"],
+ type="http",
+ auth="user",
+ website=True,
+ )
+ def preview(self, model, templ_id, rec_id, **kw):
+ """Render an email template to verify look and feel.
+
+ Provide model, record id and an email template to render.
+
+ Example for event registration email:
+
+ /email-preview/event.registration/event.event_subscription/5
+ """
+ env = request.env
+ record = env[model].browse(rec_id)
+ if templ_id.isdigit():
+ # got an ID
+ template = env["mail.template"].browse(int(templ_id))
+ else:
+ # got a XID
+ template = env.ref(templ_id.strip())
+ result = template.generate_email(record.id)
+ return request.make_response(result["body_html"])
diff --git a/mail_layout_preview/i18n/mail_layout_preview.pot b/mail_layout_preview/i18n/mail_layout_preview.pot
new file mode 100644
index 00000000..49aef304
--- /dev/null
+++ b/mail_layout_preview/i18n/mail_layout_preview.pot
@@ -0,0 +1,86 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_layout_preview
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "Link:"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "Name:"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "XMLID:"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "Copy the link"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model:ir.model,name:mail_layout_preview.model_email_template_preview
+msgid "Email Template Preview"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "Email templates for:"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "Find your template"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model:ir.model.fields,field_description:mail_layout_preview.field_email_template_preview__layout_preview_url
+msgid "Full layout preview"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "Here you find all the template for the given model."
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "Load it"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "No template found."
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid ""
+"Paste into the address bar and change the record ID (the last value in the URL).\n"
+" If you don't know the ID of the record, just browse to the record via odoo interface and check its ID in the address bar `#id=XXX`."
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "Preview"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
+msgid "View in backend"
+msgstr ""
diff --git a/mail_layout_preview/readme/CONTRIBUTORS.rst b/mail_layout_preview/readme/CONTRIBUTORS.rst
new file mode 100644
index 00000000..f583948b
--- /dev/null
+++ b/mail_layout_preview/readme/CONTRIBUTORS.rst
@@ -0,0 +1 @@
+* Simone Orsi
diff --git a/mail_layout_preview/readme/DESCRIPTION.rst b/mail_layout_preview/readme/DESCRIPTION.rst
new file mode 100644
index 00000000..bf89037b
--- /dev/null
+++ b/mail_layout_preview/readme/DESCRIPTION.rst
@@ -0,0 +1,6 @@
+The purpose of this module is to help development of email templates
+allowing to render the full layout preview of each of them.
+
+Odoo already allows you do preview emails but they are wrapped into Odoo backend theme.
+
+NOTE: to make work properly your emails it's strongly recommended to use `mail_inline_css` to include all styles in the body of the email.
diff --git a/mail_layout_preview/readme/USAGE.rst b/mail_layout_preview/readme/USAGE.rst
new file mode 100644
index 00000000..26448e95
--- /dev/null
+++ b/mail_layout_preview/readme/USAGE.rst
@@ -0,0 +1,10 @@
+* Go to a template and click on the preview button
+* Select desired params and click on "Full layout preview" link
+* You'll get to the preview
+
+As a developer, you can see a list of all templates for a model by going to:
+
+ /email-preview/$model.name
+
+You'll get a list of all the templates.
+Follow the instructions there on how to use the links.
diff --git a/mail_layout_preview/static/description/icon.png b/mail_layout_preview/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp
zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zls4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6#
z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f#
zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC
zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv!
zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG
z-wfS
zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9
z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE#
z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz
zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t
z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN
zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q
ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k
zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG
z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff
z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1
zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO
zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$
zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV(
z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb
zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4
z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{
zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx}
z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov
zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22
zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq
zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t<
z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k
z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp
z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{}
zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/mail_layout_preview/static/description/index.html b/mail_layout_preview/static/description/index.html
new file mode 100644
index 00000000..5bc5b846
--- /dev/null
+++ b/mail_layout_preview/static/description/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+Mail Preview
+
+
+
+
+
Mail Preview
+
+
+
+
The purpose of this module is to help development of email templates
+allowing to render the full layout preview of each of them.
+
Odoo already allows you do preview emails but they are wrapped into Odoo backend theme.
+
NOTE: to make work properly your emails it’s strongly recommended to use mail_inline_css to include all styles in the body of the email.
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
This module is part of the OCA/social project on GitHub.
Here you find all the template for the given model.
+
+
Find your template
+
Copy the link
+
+ Paste into the address bar and change the record ID (the last value in the URL).
+ If you don't know the ID of the record, just browse to the record via odoo interface and check its ID in the address bar `#id=XXX`.
+
Paste into the address bar and change the record ID (the last value in the URL).
- If you don't know the ID of the record, just browse to the record via odoo interface and check its ID in the address bar `#id=XXX`.
+ If you don't know the ID of the record, just browse to the record via odoo interface and check its ID in the address bar `#id=XXX`.
Load it
@@ -31,10 +32,16 @@
XMLID: Link:
-
+
Preview
-
+
View in backend
diff --git a/mail_layout_preview/wizard/email_template_preview.xml b/mail_layout_preview/wizard/email_template_preview.xml
index 8070a1a0..a052694d 100644
--- a/mail_layout_preview/wizard/email_template_preview.xml
+++ b/mail_layout_preview/wizard/email_template_preview.xml
@@ -1,4 +1,4 @@
-
+
email_template.preview
@@ -6,7 +6,7 @@
From 991086db74ab9c7b3f31e651df2072e4735d4014 Mon Sep 17 00:00:00 2001
From: Tran Thanh Phuc
Date: Wed, 26 May 2021 14:19:09 +0700
Subject: [PATCH 03/19] [MIG] mail_layout_preview: Migration to 14.0
---
mail_layout_preview/README.rst | 18 +++++++++++-----
mail_layout_preview/__manifest__.py | 2 +-
.../controllers/layout_preview.py | 2 +-
.../i18n/mail_layout_preview.pot | 21 ++++++++++++++++---
mail_layout_preview/readme/CONTRIBUTORS.rst | 1 +
mail_layout_preview/readme/CREDITS.rst | 3 +++
.../static/description/index.html | 19 ++++++++++++-----
.../tests/test_layout_preview.py | 12 ++++++-----
.../wizard/email_template_preview.py | 12 +++++------
.../wizard/email_template_preview.xml | 4 ++--
10 files changed, 66 insertions(+), 28 deletions(-)
create mode 100644 mail_layout_preview/readme/CREDITS.rst
diff --git a/mail_layout_preview/README.rst b/mail_layout_preview/README.rst
index 9ab4c432..f464cc7e 100644
--- a/mail_layout_preview/README.rst
+++ b/mail_layout_preview/README.rst
@@ -14,13 +14,13 @@ Mail Preview
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github
- :target: https://github.com/OCA/social/tree/13.0/mail_layout_preview
+ :target: https://github.com/OCA/social/tree/14.0/mail_layout_preview
:alt: OCA/social
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/social-13-0/social-13-0-mail_layout_preview
+ :target: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_layout_preview
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/205/13.0
+ :target: https://runbot.odoo-community.org/runbot/205/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -57,7 +57,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -73,6 +73,14 @@ Contributors
~~~~~~~~~~~~
* Simone Orsi
+* Phuc Tran Thanh
+
+Other credits
+~~~~~~~~~~~~~
+
+The development of this module has been financially supported by:
+
+* Camptocamp
Maintainers
~~~~~~~~~~~
@@ -87,6 +95,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/social `_ project on GitHub.
+This module is part of the `OCA/social `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/mail_layout_preview/__manifest__.py b/mail_layout_preview/__manifest__.py
index a63cb381..425bccad 100644
--- a/mail_layout_preview/__manifest__.py
+++ b/mail_layout_preview/__manifest__.py
@@ -5,7 +5,7 @@
"name": "Mail Preview",
"summary": """
Preview email templates in the browser""",
- "version": "13.0.1.0.0",
+ "version": "14.0.1.0.0",
"license": "AGPL-3",
"author": "Camptocamp SA,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/social",
diff --git a/mail_layout_preview/controllers/layout_preview.py b/mail_layout_preview/controllers/layout_preview.py
index b2e72d85..9271357c 100644
--- a/mail_layout_preview/controllers/layout_preview.py
+++ b/mail_layout_preview/controllers/layout_preview.py
@@ -43,5 +43,5 @@ def preview(self, model, templ_id, rec_id, **kw):
else:
# got a XID
template = env.ref(templ_id.strip())
- result = template.generate_email(record.id)
+ result = template.generate_email(record.id, ["body_html"])
return request.make_response(result["body_html"])
diff --git a/mail_layout_preview/i18n/mail_layout_preview.pot b/mail_layout_preview/i18n/mail_layout_preview.pot
index 49aef304..d290be8d 100644
--- a/mail_layout_preview/i18n/mail_layout_preview.pot
+++ b/mail_layout_preview/i18n/mail_layout_preview.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 13.0\n"
+"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -34,7 +34,12 @@ msgid "Copy the link"
msgstr ""
#. module: mail_layout_preview
-#: model:ir.model,name:mail_layout_preview.model_email_template_preview
+#: model:ir.model.fields,field_description:mail_layout_preview.field_mail_template_preview__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model:ir.model,name:mail_layout_preview.model_mail_template_preview
msgid "Email Template Preview"
msgstr ""
@@ -49,7 +54,7 @@ msgid "Find your template"
msgstr ""
#. module: mail_layout_preview
-#: model:ir.model.fields,field_description:mail_layout_preview.field_email_template_preview__layout_preview_url
+#: model:ir.model.fields,field_description:mail_layout_preview.field_mail_template_preview__layout_preview_url
msgid "Full layout preview"
msgstr ""
@@ -58,6 +63,16 @@ msgstr ""
msgid "Here you find all the template for the given model."
msgstr ""
+#. module: mail_layout_preview
+#: model:ir.model.fields,field_description:mail_layout_preview.field_mail_template_preview__id
+msgid "ID"
+msgstr ""
+
+#. module: mail_layout_preview
+#: model:ir.model.fields,field_description:mail_layout_preview.field_mail_template_preview____last_update
+msgid "Last Modified on"
+msgstr ""
+
#. module: mail_layout_preview
#: model_terms:ir.ui.view,arch_db:mail_layout_preview.email_templates_list
msgid "Load it"
diff --git a/mail_layout_preview/readme/CONTRIBUTORS.rst b/mail_layout_preview/readme/CONTRIBUTORS.rst
index f583948b..2b607df8 100644
--- a/mail_layout_preview/readme/CONTRIBUTORS.rst
+++ b/mail_layout_preview/readme/CONTRIBUTORS.rst
@@ -1 +1,2 @@
* Simone Orsi
+* Phuc Tran Thanh
diff --git a/mail_layout_preview/readme/CREDITS.rst b/mail_layout_preview/readme/CREDITS.rst
new file mode 100644
index 00000000..f5cc070c
--- /dev/null
+++ b/mail_layout_preview/readme/CREDITS.rst
@@ -0,0 +1,3 @@
+The development of this module has been financially supported by:
+
+* Camptocamp
diff --git a/mail_layout_preview/static/description/index.html b/mail_layout_preview/static/description/index.html
index 5bc5b846..5f8d132f 100644
--- a/mail_layout_preview/static/description/index.html
+++ b/mail_layout_preview/static/description/index.html
@@ -367,7 +367,7 @@
Mail Preview
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
The purpose of this module is to help development of email templates
allowing to render the full layout preview of each of them.
Odoo already allows you do preview emails but they are wrapped into Odoo backend theme.
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-feedback.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/social project on GitHub.
+
This module is part of the OCA/social project on GitHub.