diff --git a/poweremail_generic_template/__init__.py b/poweremail_generic_template/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/poweremail_generic_template/__terp__.py b/poweremail_generic_template/__terp__.py new file mode 100644 index 0000000..c2ec593 --- /dev/null +++ b/poweremail_generic_template/__terp__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +{ + "name": "poweremail_basic_template", + "description": """Implements a generic email template using the banners module""", + "version": "0-dev", + "author": "GISCE", + "category": "GISCEMaster", + "depends": [ + "poweremail", + "report_banner" + ], + "init_xml": [], + "demo_xml": [], + "update_xml": [ + "data/banners/banner_generic_email_template_title.xml", + "data/banners/banner_generic_email_template_header.xml", + "data/banners/banner_generic_email_template_preheader.xml", + "data/banners/banner_generic_email_template_body.xml", + "data/banners/banner_generic_email_template_footer.xml", + "data/banners/banner_generic_email_template_css.xml", + ], + "active": False, + "installable": True +} diff --git a/poweremail_generic_template/data/banners/banner_generic_email_template_body.xml b/poweremail_generic_template/data/banners/banner_generic_email_template_body.xml new file mode 100644 index 0000000..7bf95f7 --- /dev/null +++ b/poweremail_generic_template/data/banners/banner_generic_email_template_body.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/poweremail_generic_template/data/banners/banner_generic_email_template_css.xml b/poweremail_generic_template/data/banners/banner_generic_email_template_css.xml new file mode 100644 index 0000000..fb96442 --- /dev/null +++ b/poweremail_generic_template/data/banners/banner_generic_email_template_css.xml @@ -0,0 +1,16 @@ + + + + + + diff --git a/poweremail_generic_template/data/banners/banner_generic_email_template_footer.xml b/poweremail_generic_template/data/banners/banner_generic_email_template_footer.xml new file mode 100644 index 0000000..e59030c --- /dev/null +++ b/poweremail_generic_template/data/banners/banner_generic_email_template_footer.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/poweremail_generic_template/data/banners/banner_generic_email_template_header.xml b/poweremail_generic_template/data/banners/banner_generic_email_template_header.xml new file mode 100644 index 0000000..ee2ed67 --- /dev/null +++ b/poweremail_generic_template/data/banners/banner_generic_email_template_header.xml @@ -0,0 +1,16 @@ + + + + + + diff --git a/poweremail_generic_template/data/banners/banner_generic_email_template_preheader.xml b/poweremail_generic_template/data/banners/banner_generic_email_template_preheader.xml new file mode 100644 index 0000000..bd53270 --- /dev/null +++ b/poweremail_generic_template/data/banners/banner_generic_email_template_preheader.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/poweremail_generic_template/data/banners/banner_generic_email_template_title.xml b/poweremail_generic_template/data/banners/banner_generic_email_template_title.xml new file mode 100644 index 0000000..971c088 --- /dev/null +++ b/poweremail_generic_template/data/banners/banner_generic_email_template_title.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/poweremail_generic_template/emails/generic/components/body/ca.mako b/poweremail_generic_template/emails/generic/components/body/ca.mako new file mode 100644 index 0000000..ca26fb6 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/body/ca.mako @@ -0,0 +1,9 @@ + + + + +
+

Hello!

+

This an example of the generic email.

+

Kind regards,

+
diff --git a/poweremail_generic_template/emails/generic/components/body/en.mako b/poweremail_generic_template/emails/generic/components/body/en.mako new file mode 100644 index 0000000..c7c325d --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/body/en.mako @@ -0,0 +1,9 @@ + + + + +
+

Bon dia!

+

Això és un exemple del correu electrònic genèric.

+

Atentament,

+
diff --git a/poweremail_generic_template/emails/generic/components/body/es.mako b/poweremail_generic_template/emails/generic/components/body/es.mako new file mode 100644 index 0000000..caedfe6 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/body/es.mako @@ -0,0 +1,9 @@ + + + + +
+

Hola!

+

Esto es un ejemplo del cuerpo del correo electrónico genérico.

+

Atentamente,

+
diff --git a/poweremail_generic_template/emails/generic/components/footer/en.mako b/poweremail_generic_template/emails/generic/components/footer/en.mako new file mode 100644 index 0000000..4e9a37c --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/footer/en.mako @@ -0,0 +1,15 @@ +<% company = object.company_id %> + + + + + + + +
+ ${company.partner_id.address[0].street} +
📞 ${company.partner_id.address[0].phone} / ${company.partner_id.address[0].mobile} +
📨 ${company.partner_id.address[0].email} +
+ ${company.partner_id.name}. +
diff --git a/poweremail_generic_template/emails/generic/components/header/ca.mako b/poweremail_generic_template/emails/generic/components/header/ca.mako new file mode 100644 index 0000000..47289d1 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/header/ca.mako @@ -0,0 +1,7 @@ + + + + +
+ Logo empresa +
diff --git a/poweremail_generic_template/emails/generic/components/header/en.mako b/poweremail_generic_template/emails/generic/components/header/en.mako new file mode 100644 index 0000000..08ccfdb --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/header/en.mako @@ -0,0 +1,7 @@ + + + + +
+ Company logo +
diff --git a/poweremail_generic_template/emails/generic/components/header/es.mako b/poweremail_generic_template/emails/generic/components/header/es.mako new file mode 100644 index 0000000..47289d1 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/header/es.mako @@ -0,0 +1,7 @@ + + + + +
+ Logo empresa +
diff --git a/poweremail_generic_template/emails/generic/components/preheader/ca.mako b/poweremail_generic_template/emails/generic/components/preheader/ca.mako new file mode 100644 index 0000000..567f912 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/preheader/ca.mako @@ -0,0 +1 @@ +Preheader no configurado \ No newline at end of file diff --git a/poweremail_generic_template/emails/generic/components/preheader/en.mako b/poweremail_generic_template/emails/generic/components/preheader/en.mako new file mode 100644 index 0000000..28f4293 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/preheader/en.mako @@ -0,0 +1 @@ +No preheader configured \ No newline at end of file diff --git a/poweremail_generic_template/emails/generic/components/preheader/es.mako b/poweremail_generic_template/emails/generic/components/preheader/es.mako new file mode 100644 index 0000000..567f912 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/preheader/es.mako @@ -0,0 +1 @@ +Preheader no configurado \ No newline at end of file diff --git a/poweremail_generic_template/emails/generic/components/style.css b/poweremail_generic_template/emails/generic/components/style.css new file mode 100644 index 0000000..d12cc5e --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/style.css @@ -0,0 +1,289 @@ +/* ------------------------------------- + GLOBAL RESETS +------------------------------------- */ +/*All the styling goes here*/ +img { + border: none; + -ms-interpolation-mode: bicubic; + max-width: 100%; +} +body { + background-color: #eaebed; + font-family: sans-serif; + -webkit-font-smoothing: antialiased; + font-size: 14px; + line-height: 1.4; + margin: 0; + padding: 0; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +table { + border-collapse: separate; + mso-table-lspace: 0pt; + mso-table-rspace: 0pt; + min-width: 100%; + width: 100%; } + table td { + font-family: sans-serif; + font-size: 14px; + vertical-align: top; +} +/* ------------------------------------- + BODY & CONTAINER +------------------------------------- */ +.body { + background-color: #eaebed; + width: 100%; +} +/* Set a max-width, and make it display as block so it will automatically stretch to that width, but will also shrink down on a phone or something */ +.container { + display: block; + Margin: 0 auto !important; + /* makes it centered */ + max-width: 580px; + padding: 10px; + width: 580px; +} +/* This should also be a block element, so that it will fill 100% of the .container */ +.content { + box-sizing: border-box; + display: block; + Margin: 0 auto; + max-width: 580px; + padding: 10px; +} +/* ------------------------------------- + HEADER, FOOTER, MAIN +------------------------------------- */ +.main { + background: #ffffff; + border-radius: 3px; + width: 100%; +} +.header { + padding: 20px 0; +} +.wrapper { + box-sizing: border-box; + padding: 20px; +} +.content-block { + padding-bottom: 10px; + padding-top: 10px; +} +.footer { + clear: both; + Margin-top: 10px; + text-align: center; + width: 100%; +} + .footer td, + .footer p, + .footer span, + .footer a { + color: #9a9ea6; + font-size: 12px; + text-align: center; +} +/* ------------------------------------- + TYPOGRAPHY +------------------------------------- */ +h1, +h2, +h3, +h4 { + color: #06090f; + font-family: sans-serif; + font-weight: 400; + line-height: 1.4; + margin: 0; + margin-bottom: 30px; +} +h1 { + font-size: 35px; + font-weight: 300; + text-align: center; + text-transform: capitalize; +} +p, +ul, +ol { + font-family: sans-serif; + font-size: 14px; + font-weight: normal; + margin: 0; + margin-bottom: 15px; +} + p li, + ul li, + ol li { + list-style-position: inside; + margin-left: 5px; +} +a { + color: #ec0867; + text-decoration: underline; +} +/* ------------------------------------- + BUTTONS +------------------------------------- */ +.btn { + box-sizing: border-box; + width: 100%; } + .btn > tbody > tr > td { + padding-bottom: 15px; } + .btn table { + min-width: auto; + width: auto; +} + .btn table td { + background-color: #ffffff; + border-radius: 5px; + text-align: center; +} + .btn a { + background-color: #ffffff; + border: solid 1px #ec0867; + border-radius: 5px; + box-sizing: border-box; + color: #82A9ED; + cursor: pointer; + display: inline-block; + font-size: 14px; + font-weight: bold; + margin: 0; + padding: 12px 25px; + text-decoration: none; + text-transform: capitalize; +} +.btn-primary table td { + background-color: #ec0867; +} +.btn-primary a { + background-color: #6B99E8; + border-color: #6B99E8; + color: #ffffff; +} +/* ------------------------------------- + OTHER STYLES THAT MIGHT BE USEFUL +------------------------------------- */ +.last { + margin-bottom: 0; +} +.first { + margin-top: 0; +} +.align-center { + text-align: center; +} +.align-right { + text-align: right; +} +.align-left { + text-align: left; +} +.clear { + clear: both; +} +.mt0 { + margin-top: 0; +} +.mb0 { + margin-bottom: 0; +} +.preheader { + color: transparent; + display: none; + height: 0; + max-height: 0; + max-width: 0; + opacity: 0; + overflow: hidden; + mso-hide: all; + visibility: hidden; + width: 0; +} +.powered-by a { + text-decoration: none; +} +hr { + border: 0; + border-bottom: 1px solid #f6f6f6; + Margin: 20px 0; +} +/* ------------------------------------- + RESPONSIVE AND MOBILE FRIENDLY STYLES +------------------------------------- */ +@media only screen and (max-width: 620px) { + table[class=body] h1 { + font-size: 28px !important; + margin-bottom: 10px !important; + } + table[class=body] p, + table[class=body] ul, + table[class=body] ol, + table[class=body] td, + table[class=body] span, + table[class=body] a { + font-size: 16px !important; + } + table[class=body] .wrapper, + table[class=body] .article { + padding: 10px !important; + } + table[class=body] .content { + padding: 0 !important; + } + table[class=body] .container { + padding: 0 !important; + width: 100% !important; + } + table[class=body] .main { + border-left-width: 0 !important; + border-radius: 0 !important; + border-right-width: 0 !important; + } + table[class=body] .btn table { + width: 100% !important; + } + table[class=body] .btn a { + width: 100% !important; + } + table[class=body] .img-responsive { + height: auto !important; + max-width: 100% !important; + width: auto !important; + } +} +/* ------------------------------------- + PRESERVE THESE STYLES IN THE HEAD +------------------------------------- */ +@media all { + .ExternalClass { + width: 100%; + } + .ExternalClass, + .ExternalClass p, + .ExternalClass span, + .ExternalClass font, + .ExternalClass td, + .ExternalClass div { + line-height: 100%; + } + .apple-link a { + color: inherit !important; + font-family: inherit !important; + font-size: inherit !important; + font-weight: inherit !important; + line-height: inherit !important; + text-decoration: none !important; + } + .btn-primary table td:hover { + background-color: #82A9ED !important; + } + .btn-primary a:hover { + background-color: #82A9ED !important; + border-color: #82A9ED !important; + } +} diff --git a/poweremail_generic_template/emails/generic/components/title/ca.mako b/poweremail_generic_template/emails/generic/components/title/ca.mako new file mode 100644 index 0000000..6c0b868 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/title/ca.mako @@ -0,0 +1 @@ +Títol de l'email \ No newline at end of file diff --git a/poweremail_generic_template/emails/generic/components/title/en.mako b/poweremail_generic_template/emails/generic/components/title/en.mako new file mode 100644 index 0000000..6b3de52 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/title/en.mako @@ -0,0 +1 @@ +Email title \ No newline at end of file diff --git a/poweremail_generic_template/emails/generic/components/title/es.mako b/poweremail_generic_template/emails/generic/components/title/es.mako new file mode 100644 index 0000000..1531bf2 --- /dev/null +++ b/poweremail_generic_template/emails/generic/components/title/es.mako @@ -0,0 +1 @@ +Título del email \ No newline at end of file diff --git a/poweremail_generic_template/emails/generic/index.mako b/poweremail_generic_template/emails/generic/index.mako new file mode 100644 index 0000000..06881e6 --- /dev/null +++ b/poweremail_generic_template/emails/generic/index.mako @@ -0,0 +1,66 @@ + +<% +from datetime import datetime +from poweremail.poweremail_template import get_value + +pool = object.pool +cursor = object._cr +uid = object._uid +today = datetime.today().date().strftime('%Y-%m-%d') + +banner_o = pool.get('report.banner') + +banners = banner_o.get_report_banners( + cursor, uid, 'poweremail.templates,{}'.format(template.id), + today, object.id, context={'lang': lang} +) + +body_html = get_value(cursor, uid, object.id, message=banners['generic_email_template_body'], template=template, context={'lang': lang}) +footer_html = get_value(cursor, uid, object.id, message=banners['generic_email_template_footer'], template=template, context={'lang': lang}) +%> + + + + + ${banners['generic_email_template_title']} + + + + + + + + + + + + \ No newline at end of file