diff --git a/addons/mass_mailing/models/__init__.py b/addons/mass_mailing/models/__init__.py
index 1e9affea3e7..8ae20b69f90 100644
--- a/addons/mass_mailing/models/__init__.py
+++ b/addons/mass_mailing/models/__init__.py
@@ -6,4 +6,4 @@ import mail_mail
import mail_thread
import res_config
import mass_mailing_report
-import website_links
+import link_tracker
diff --git a/addons/mass_mailing/models/website_links.py b/addons/mass_mailing/models/link_tracker.py
similarity index 71%
rename from addons/mass_mailing/models/website_links.py
rename to addons/mass_mailing/models/link_tracker.py
index f5e10a817d0..02de2ec4cd6 100644
--- a/addons/mass_mailing/models/website_links.py
+++ b/addons/mass_mailing/models/link_tracker.py
@@ -1,15 +1,15 @@
from openerp import fields
from openerp import models
-class website_links(models.Model):
- _inherit = "website.links"
+class link_tracker(models.Model):
+ _inherit = "link.tracker"
mass_mailing_id = fields.Many2one('mail.mass_mailing', string='Mass Mailing')
mass_mailing_campaign_id = fields.Many2one('mail.mass_mailing.campaign', string='Mass Mailing Campaign')
-class website_links_click(models.Model):
- _inherit = "website.links.click"
+class link_tracker_click(models.Model):
+ _inherit = "link.tracker.click"
mail_stat_id = fields.Many2one('mail.mail.statistics', string='Mail Statistics')
mass_mailing_id = fields.Many2one('mail.mass_mailing', string='Mass Mailing')
- mass_mailing_campaign_id = fields.Many2one('mail.mass_mailing.campaign', string='Mass Mailing Campaign')
\ No newline at end of file
+ mass_mailing_campaign_id = fields.Many2one('mail.mass_mailing.campaign', string='Mass Mailing Campaign')
diff --git a/addons/mass_mailing/models/mass_mailing.py b/addons/mass_mailing/models/mass_mailing.py
index 8869092d302..05dd09ddfd9 100644
--- a/addons/mass_mailing/models/mass_mailing.py
+++ b/addons/mass_mailing/models/mass_mailing.py
@@ -208,7 +208,7 @@ class MassMailingCampaign(osv.Model):
cr.execute("""
SELECT COUNT(DISTINCT(stats.id)) AS nb_mails, COUNT(DISTINCT(clicks.mail_stat_id)) AS nb_clicks, stats.mass_mailing_campaign_id AS id
FROM mail_mail_statistics AS stats
- LEFT OUTER JOIN website_links_click AS clicks ON clicks.mail_stat_id = stats.id
+ LEFT OUTER JOIN link_tracker_click AS clicks ON clicks.mail_stat_id = stats.id
WHERE stats.mass_mailing_campaign_id IN %s
GROUP BY stats.mass_mailing_campaign_id
""", (tuple(ids), ))
@@ -436,7 +436,7 @@ class MassMailing(osv.Model):
cr.execute("""
SELECT COUNT(DISTINCT(stats.id)) AS nb_mails, COUNT(DISTINCT(clicks.mail_stat_id)) AS nb_clicks, stats.mass_mailing_id AS id
FROM mail_mail_statistics AS stats
- LEFT OUTER JOIN website_links_click AS clicks ON clicks.mail_stat_id = stats.id
+ LEFT OUTER JOIN link_tracker_click AS clicks ON clicks.mail_stat_id = stats.id
WHERE stats.mass_mailing_id IN %s
GROUP BY stats.mass_mailing_id
""", (tuple(ids), ))
@@ -479,7 +479,7 @@ class MassMailing(osv.Model):
'create_date': fields.datetime('Creation Date'),
'sent_date': fields.datetime('Sent Date', oldname='date', copy=False),
'schedule_date': fields.datetime('Schedule in the Future'),
- 'body_html': fields.html('Body'),
+ 'body_html': fields.html('Body', translate=True),
'attachment_ids': fields.many2many(
'ir.attachment', 'mass_mailing_ir_attachments_rel',
'mass_mailing_id', 'attachment_id', 'Attachments'
@@ -583,7 +583,7 @@ class MassMailing(osv.Model):
def mass_mailing_statistics_action(self, cr, uid, ids, context=None):
res = self.pool['ir.actions.act_window'].for_xml_id(cr, uid, 'mass_mailing', 'action_view_mass_mailing_statistics', context=context)
- link_click_ids = self.pool['website.links.click'].search(cr, uid, [('mass_mailing_id', 'in', ids)], context=context)
+ link_click_ids = self.pool['link.tracker.click'].search(cr, uid, [('mass_mailing_id', 'in', ids)], context=context)
res['domain'] = [('id', 'in', link_click_ids)]
return res
@@ -796,7 +796,7 @@ class MassMailing(osv.Model):
if utm_mixin.medium_id:
vals['medium_id'] = utm_mixin.medium_id.id
- res[mass_mailing.id] = self.pool['website.links'].convert_links(cr, uid, html, vals, blacklist=['/unsubscribe_from_list'], context=context)
+ res[mass_mailing.id] = self.pool['link.tracker'].convert_links(cr, uid, html, vals, blacklist=['/unsubscribe_from_list'], context=context)
return res
diff --git a/addons/mass_mailing/models/mass_mailing_stats.py b/addons/mass_mailing/models/mass_mailing_stats.py
index 7d50e9ab42b..58ab233c4ae 100644
--- a/addons/mass_mailing/models/mass_mailing_stats.py
+++ b/addons/mass_mailing/models/mass_mailing_stats.py
@@ -78,7 +78,7 @@ class MailMailStats(osv.Model):
'opened': fields.datetime('Opened', help='Date when the email has been opened the first time'),
'replied': fields.datetime('Replied', help='Date when this email has been replied for the first time.'),
'bounced': fields.datetime('Bounced', help='Date when this email has bounced.'),
- 'links_click_ids': fields.one2many('website.links.click', 'mail_stat_id', 'Links click'),
+ 'links_click_ids': fields.one2many('link.tracker.click', 'mail_stat_id', 'Links click'),
'state': fields.function(_compute_state, string='State', type="selection", multi="state",
selection=[('outgoing', 'Outgoing'),
('exception', 'Exception'),
diff --git a/addons/website_mail/static/src/css/website_mail_iframe.css b/addons/mass_mailing/static/src/css/mass_mailing_editor.css
similarity index 67%
rename from addons/website_mail/static/src/css/website_mail_iframe.css
rename to addons/mass_mailing/static/src/css/mass_mailing_editor.css
index 6e8d6541c95..e2efcf87efa 100644
--- a/addons/website_mail/static/src/css/website_mail_iframe.css
+++ b/addons/mass_mailing/static/src/css/mass_mailing_editor.css
@@ -1,55 +1,3 @@
-body {
- background-color: #fff;
-}
-p {
- margin: initial;
-}
-a {
- color: inherit;
-}
-a:hover {
- color: inherit;
-}
-#wrapwrap .o_editable {
- font: initial;
- line-height: initial;
- color: initial;
-}
-#oe_snippets ~ #wrapwrap .o_editable {
- margin-bottom: 100px;
-}
-
-#wrapwrap > main > div:first-child {
- max-width: 600px;
- margin-left: auto;
- margin-right: auto;
- position: relative;
-}
-
-.editor_enable #wrapwrap > main > div:first-child:before, #wrapwrap > main > div:first-child:after {
- content: " ";
- display: block;
- height: 100%;
- position: fixed;
- top: -4px;
- width: 0;
- overflow: hidden;
-}
-.editor_enable #wrapwrap > main > div:first-child:before {
- border-right: 1px dashed #ccc;
- margin-left: -5px;
-}
-.editor_enable #wrapwrap > main > div:first-child:after {
- border-left: 1px dashed #ccc;
- margin-left: 605px;
-}
-
-.note-color-palette .colorpicker {
- display: none;
-}
-
-/***************************/
-
#email_theme_list, #email_template_list {
clear: both;
text-align: center;
@@ -128,17 +76,21 @@ a:hover {
/***************************/
#templates{
+ margin-top: 50px;
width: 98%;
}
#choose_template{
display: none;
margin: 5px;
- padding: 1px 5px;
position: fixed;
top: 0;
- right: 50px;
+ right: 28px;
z-index: 2000;
}
+#choose_template span{
+ padding: 1px 5px;
+ height: 24px;
+}
#templates .template_preview_border{
overflow: hidden !important;
border: 2px solid grey;
@@ -161,4 +113,4 @@ a:hover {
}
.theme_thumbnail:hover>.template_preview{
opacity:0.3;
-}
\ No newline at end of file
+}
diff --git a/addons/website_mail/static/src/css/snippets.css b/addons/mass_mailing/static/src/css/mass_mailing_editor_thumb.css
similarity index 59%
rename from addons/website_mail/static/src/css/snippets.css
rename to addons/mass_mailing/static/src/css/mass_mailing_editor_thumb.css
index c6e3ce1716f..f3e6a40454f 100644
--- a/addons/website_mail/static/src/css/snippets.css
+++ b/addons/mass_mailing/static/src/css/mass_mailing_editor_thumb.css
@@ -1,85 +1,85 @@
/* ---- thumbnail ---- */
.oe_snippet.o_mail_block_header_center_logo .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_header_center_logo.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_header_center_logo.png");
}
.oe_snippet.o_mail_block_header_center_text .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_header_center_text.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_header_center_text.png");
}
.oe_snippet.o_mail_block_header_social .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_header_social.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_header_social.png");
}
.oe_snippet.o_mail_block_header_text_social .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_header_text_social.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_header_text_social.png");
}
.oe_snippet.o_mail_block_text_image .oe_snippet_thumbnail_img {
- background-image: url("/website/static/src/img/blocks/block_text_image.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_text-image.png");
}
.oe_snippet.o_mail_block_footer_copyright .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_footer_copyright.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_footer_copyright.png");
}
.oe_snippet.o_mail_block_footer_social .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_footer_social.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_footer_social.png");
}
.oe_snippet.o_mail_block_footer_text .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_footer_text.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_footer_text.png");
}
.oe_snippet.o_mail_block_footer_seprator .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_footer_seprator.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_footer_seprator.png");
}
.oe_snippet.o_mail_block_footer_tag_line .oe_snippet_thumbnail_img {
- background-image: url("/website_mail/static/src/img/blocks/block_footer_tag_line.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_footer_tag_line.png");
}
.oe_snippet.o_mail_block_two_cols .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_two-column-img.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_two-column-img.png");
}
.oe_snippet.o_mail_block_two_cols_content .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_two-column.png");
+ background-image: url("/mass_mailing/static/src/img/blocks/block_two-column.png");
}
.oe_snippet.o_mail_block_title_text .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_title_text.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_title_text.png")
}
.oe_snippet.o_mail_block_title_sub .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_title.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_title.png")
}
.oe_snippet.o_mail_block_image_text .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_image-text.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_image-text.png")
}
.oe_snippet.o_mail_block_text_button .oe_snippet_thumbnail_img{
background-image: url("/website/static/src/img/blocks/block_jumbotron.png")
}
.oe_snippet.o_mail_block_table_content .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_table.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_table.png")
}
.oe_snippet.o_mail_block_discount1 .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_discount.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_discount.png")
}
.oe_snippet.o_mail_block_discount2 .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_discount2.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_discount2.png")
}
.oe_snippet.o_mail_block_event .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_event.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_event.png")
}
.oe_snippet.o_mail_block_image .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_image_text.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_image_text.png")
}
.oe_snippet.o_mail_block_profile .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_user.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_user.png")
}
.oe_snippet.o_mail_block_four_cols .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_four_columns.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_four_columns.png")
}
.oe_snippet.o_mail_block_button .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_button.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_button.png")
}
.oe_snippet.o_mail_block_simple_text .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_simple_text.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_simple_text.png")
}
.oe_snippet.o_mail_block_three_cols .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_three_columns.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_three_columns.png")
}
.oe_snippet.o_mail_block_text_on_img .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_text_on_image.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_text_on_image.png")
}
.oe_snippet.o_mail_block_steps .oe_snippet_thumbnail_img{
- background-image: url("/website_mail/static/src/img/blocks/block_steps.png")
+ background-image: url("/mass_mailing/static/src/img/blocks/block_steps.png")
}
diff --git a/addons/mass_mailing/static/src/css/mass_mailing_popup.css b/addons/mass_mailing/static/src/css/mass_mailing_popup.css
index 084cc2a2ce6..9a81138b9c1 100644
--- a/addons/mass_mailing/static/src/css/mass_mailing_popup.css
+++ b/addons/mass_mailing/static/src/css/mass_mailing_popup.css
@@ -1,7 +1,7 @@
/* Summernote not Support for placeholder text https://github.com/summernote/summernote/issues/581 */
.editor_enable [data-oe-placeholder]:empty:not(:focus):before {
- content: attr(data-oe-placeholder);
- opacity: 0.3;
+ content: " \00a0 " attr(data-oe-placeholder);
+ opacity: 0.4;
}
.o_popup_animated {
-webkit-animation-duration: 1s;
diff --git a/addons/website_mail/static/src/img/blocks/block_button.png b/addons/mass_mailing/static/src/img/blocks/block_button.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_button.png
rename to addons/mass_mailing/static/src/img/blocks/block_button.png
diff --git a/addons/website_mail/static/src/img/blocks/block_discount.png b/addons/mass_mailing/static/src/img/blocks/block_discount.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_discount.png
rename to addons/mass_mailing/static/src/img/blocks/block_discount.png
diff --git a/addons/website_mail/static/src/img/blocks/block_discount2.png b/addons/mass_mailing/static/src/img/blocks/block_discount2.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_discount2.png
rename to addons/mass_mailing/static/src/img/blocks/block_discount2.png
diff --git a/addons/website_mail/static/src/img/blocks/block_event.png b/addons/mass_mailing/static/src/img/blocks/block_event.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_event.png
rename to addons/mass_mailing/static/src/img/blocks/block_event.png
diff --git a/addons/website_mail/static/src/img/blocks/block_footer_copyright.png b/addons/mass_mailing/static/src/img/blocks/block_footer_copyright.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_footer_copyright.png
rename to addons/mass_mailing/static/src/img/blocks/block_footer_copyright.png
diff --git a/addons/website_mail/static/src/img/blocks/block_footer_seprator.png b/addons/mass_mailing/static/src/img/blocks/block_footer_seprator.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_footer_seprator.png
rename to addons/mass_mailing/static/src/img/blocks/block_footer_seprator.png
diff --git a/addons/website_mail/static/src/img/blocks/block_footer_social.png b/addons/mass_mailing/static/src/img/blocks/block_footer_social.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_footer_social.png
rename to addons/mass_mailing/static/src/img/blocks/block_footer_social.png
diff --git a/addons/website_mail/static/src/img/blocks/block_footer_tag_line.png b/addons/mass_mailing/static/src/img/blocks/block_footer_tag_line.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_footer_tag_line.png
rename to addons/mass_mailing/static/src/img/blocks/block_footer_tag_line.png
diff --git a/addons/website_mail/static/src/img/blocks/block_footer_text.png b/addons/mass_mailing/static/src/img/blocks/block_footer_text.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_footer_text.png
rename to addons/mass_mailing/static/src/img/blocks/block_footer_text.png
diff --git a/addons/website_mail/static/src/img/blocks/block_four_columns.png b/addons/mass_mailing/static/src/img/blocks/block_four_columns.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_four_columns.png
rename to addons/mass_mailing/static/src/img/blocks/block_four_columns.png
diff --git a/addons/website_mail/static/src/img/blocks/block_header_center_logo.png b/addons/mass_mailing/static/src/img/blocks/block_header_center_logo.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_header_center_logo.png
rename to addons/mass_mailing/static/src/img/blocks/block_header_center_logo.png
diff --git a/addons/website_mail/static/src/img/blocks/block_header_center_text.png b/addons/mass_mailing/static/src/img/blocks/block_header_center_text.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_header_center_text.png
rename to addons/mass_mailing/static/src/img/blocks/block_header_center_text.png
diff --git a/addons/website_mail/static/src/img/blocks/block_header_social.png b/addons/mass_mailing/static/src/img/blocks/block_header_social.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_header_social.png
rename to addons/mass_mailing/static/src/img/blocks/block_header_social.png
diff --git a/addons/website_mail/static/src/img/blocks/block_header_text_social.png b/addons/mass_mailing/static/src/img/blocks/block_header_text_social.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_header_text_social.png
rename to addons/mass_mailing/static/src/img/blocks/block_header_text_social.png
diff --git a/addons/website_mail/static/src/img/blocks/block_image-text.png b/addons/mass_mailing/static/src/img/blocks/block_image-text.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_image-text.png
rename to addons/mass_mailing/static/src/img/blocks/block_image-text.png
diff --git a/addons/website_mail/static/src/img/blocks/block_image_text.png b/addons/mass_mailing/static/src/img/blocks/block_image_text.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_image_text.png
rename to addons/mass_mailing/static/src/img/blocks/block_image_text.png
diff --git a/addons/website_mail/static/src/img/blocks/block_simple_text.png b/addons/mass_mailing/static/src/img/blocks/block_simple_text.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_simple_text.png
rename to addons/mass_mailing/static/src/img/blocks/block_simple_text.png
diff --git a/addons/website_mail/static/src/img/blocks/block_steps.png b/addons/mass_mailing/static/src/img/blocks/block_steps.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_steps.png
rename to addons/mass_mailing/static/src/img/blocks/block_steps.png
diff --git a/addons/website_mail/static/src/img/blocks/block_table.png b/addons/mass_mailing/static/src/img/blocks/block_table.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_table.png
rename to addons/mass_mailing/static/src/img/blocks/block_table.png
diff --git a/addons/mass_mailing/static/src/img/blocks/block_text-image.png b/addons/mass_mailing/static/src/img/blocks/block_text-image.png
new file mode 100644
index 00000000000..edbf697a2d0
Binary files /dev/null and b/addons/mass_mailing/static/src/img/blocks/block_text-image.png differ
diff --git a/addons/website_mail/static/src/img/blocks/block_text_on_image.png b/addons/mass_mailing/static/src/img/blocks/block_text_on_image.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_text_on_image.png
rename to addons/mass_mailing/static/src/img/blocks/block_text_on_image.png
diff --git a/addons/website_mail/static/src/img/blocks/block_three_columns.png b/addons/mass_mailing/static/src/img/blocks/block_three_columns.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_three_columns.png
rename to addons/mass_mailing/static/src/img/blocks/block_three_columns.png
diff --git a/addons/website_mail/static/src/img/blocks/block_title.png b/addons/mass_mailing/static/src/img/blocks/block_title.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_title.png
rename to addons/mass_mailing/static/src/img/blocks/block_title.png
diff --git a/addons/website_mail/static/src/img/blocks/block_title_text.png b/addons/mass_mailing/static/src/img/blocks/block_title_text.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_title_text.png
rename to addons/mass_mailing/static/src/img/blocks/block_title_text.png
diff --git a/addons/website_mail/static/src/img/blocks/block_two-column-img.png b/addons/mass_mailing/static/src/img/blocks/block_two-column-img.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_two-column-img.png
rename to addons/mass_mailing/static/src/img/blocks/block_two-column-img.png
diff --git a/addons/website_mail/static/src/img/blocks/block_two-column.png b/addons/mass_mailing/static/src/img/blocks/block_two-column.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_two-column.png
rename to addons/mass_mailing/static/src/img/blocks/block_two-column.png
diff --git a/addons/website_mail/static/src/img/blocks/block_user.png b/addons/mass_mailing/static/src/img/blocks/block_user.png
similarity index 100%
rename from addons/website_mail/static/src/img/blocks/block_user.png
rename to addons/mass_mailing/static/src/img/blocks/block_user.png
diff --git a/addons/website_mail/static/src/img/theme_imgs/airmail.png b/addons/mass_mailing/static/src/img/theme_imgs/airmail.png
similarity index 100%
rename from addons/website_mail/static/src/img/theme_imgs/airmail.png
rename to addons/mass_mailing/static/src/img/theme_imgs/airmail.png
diff --git a/addons/website_mail/static/src/img/theme_imgs/skyline_bg.gif b/addons/mass_mailing/static/src/img/theme_imgs/skyline_bg.gif
similarity index 100%
rename from addons/website_mail/static/src/img/theme_imgs/skyline_bg.gif
rename to addons/mass_mailing/static/src/img/theme_imgs/skyline_bg.gif
diff --git a/addons/website_mail/static/src/img/theme_imgs/social_facebook.png b/addons/mass_mailing/static/src/img/theme_imgs/social_facebook.png
similarity index 100%
rename from addons/website_mail/static/src/img/theme_imgs/social_facebook.png
rename to addons/mass_mailing/static/src/img/theme_imgs/social_facebook.png
diff --git a/addons/website_mail/static/src/img/theme_imgs/social_googleplus.png b/addons/mass_mailing/static/src/img/theme_imgs/social_googleplus.png
similarity index 100%
rename from addons/website_mail/static/src/img/theme_imgs/social_googleplus.png
rename to addons/mass_mailing/static/src/img/theme_imgs/social_googleplus.png
diff --git a/addons/website_mail/static/src/img/theme_imgs/social_linkedin.png b/addons/mass_mailing/static/src/img/theme_imgs/social_linkedin.png
similarity index 100%
rename from addons/website_mail/static/src/img/theme_imgs/social_linkedin.png
rename to addons/mass_mailing/static/src/img/theme_imgs/social_linkedin.png
diff --git a/addons/website_mail/static/src/img/theme_imgs/social_rss.png b/addons/mass_mailing/static/src/img/theme_imgs/social_rss.png
similarity index 100%
rename from addons/website_mail/static/src/img/theme_imgs/social_rss.png
rename to addons/mass_mailing/static/src/img/theme_imgs/social_rss.png
diff --git a/addons/website_mail/static/src/img/theme_imgs/social_twitter.png b/addons/mass_mailing/static/src/img/theme_imgs/social_twitter.png
similarity index 100%
rename from addons/website_mail/static/src/img/theme_imgs/social_twitter.png
rename to addons/mass_mailing/static/src/img/theme_imgs/social_twitter.png
diff --git a/addons/website_mail/static/src/js/website_email_designer.js b/addons/mass_mailing/static/src/js/mass_mailing_editor.js
similarity index 50%
rename from addons/website_mail/static/src/js/website_email_designer.js
rename to addons/mass_mailing/static/src/js/mass_mailing_editor.js
index beafd4a6b5e..4974674ba3a 100644
--- a/addons/website_mail/static/src/js/website_email_designer.js
+++ b/addons/mass_mailing/static/src/js/mass_mailing_editor.js
@@ -1,19 +1,20 @@
-odoo.define('website_mail.website_mail', function (require) {
+odoo.define('mass_mailing.editor', function (require) {
"use strict";
var Model = require('web.Model');
-var editor = require('website.editor');
-var snippets_editor = require('website.snippets.editor');
-
+var rte = require('web_editor.rte');
+var web_editor = require('web_editor.editor');
+var options = require('web_editor.snippets.options');
+var snippets_editor = require('web_editor.snippet.editor');
// Snippet option for resizing image and column width inline like excel
-snippets_editor.options["width-x"] = snippets_editor.Option.extend({
+options.registry["width-x"] = options.Class.extend({
start: function () {
this.container_width = 600;
var parent = this.$target.closest('[data-max-width]');
if( parent.length ){
this.container_width = parseInt(parent.attr('data-max-width'));
- }
+ }
var self = this;
var offset, sib_offset, target_width, sib_width;
this.is_image = false;
@@ -35,7 +36,7 @@ snippets_editor.options["width-x"] = snippets_editor.Option.extend({
if ($handle.hasClass(handler)) { compass = handler; }
});
if(self.is_image){ compass = "image"; }
- self.BuildingBlock.editor_busy = true;
+ self.buildingBlock.editor_busy = true;
var $body = $(document.body);
@@ -58,11 +59,11 @@ snippets_editor.options["width-x"] = snippets_editor.Option.extend({
if (compass === 'image'){
self.change_width(event, self.$target, target_width, offset ,'plus');
}
- };
+ }
var body_mouseup = function(){
$body.unbind('mousemove', body_mousemove);
$body.unbind('mouseup', body_mouseup);
- self.BuildingBlock.editor_busy = false;
+ self.buildingBlock.editor_busy = false;
self.$target.removeClass("resize_editor_busy");
};
$body.mousemove(body_mousemove);
@@ -77,7 +78,7 @@ snippets_editor.options["width-x"] = snippets_editor.Option.extend({
var width = offset + target_width - event.pageX;
}
target.css("width", width + "px");
- self.BuildingBlock.cover_target(self.$overlay, self.$target);
+ self.buildingBlock.cover_target(self.$overlay, self.$target);
return;
},
get_int_width: function ($el) {
@@ -89,7 +90,7 @@ snippets_editor.options["width-x"] = snippets_editor.Option.extend({
var self = this;
_.each($el.siblings(),function(sib){
max_width += self.get_int_width($(sib));
- });
+ })
return this.container_width - max_width;
},
on_clone: function ($clone) {
@@ -99,13 +100,13 @@ snippets_editor.options["width-x"] = snippets_editor.Option.extend({
_.each($table.find('tbody>tr'),function(row){
var clone_selector = 'td:eq(' + clone_index + ')';
var $col_to_clone = $(row).find(clone_selector);
- if($col_to_clone.length !== 0){
+ if($col_to_clone.length != 0){
$col_to_clone.after($col_to_clone.clone());
}
});
}
this._super($clone);
- this.BuildingBlock.cover_target(this.$overlay, this.$target);
+ this.buildingBlock.cover_target(this.$overlay, this.$target);
},
on_remove: function () {
var remove_index = $(this.$target).index();
@@ -117,7 +118,7 @@ snippets_editor.options["width-x"] = snippets_editor.Option.extend({
});
}
this._super();
- this.BuildingBlock.cover_target(this.$overlay, this.$target);
+ this.buildingBlock.cover_target(this.$overlay, this.$target);
},
});
@@ -128,31 +129,22 @@ $.summernote.eventHandler.popover.update = function ($popover, oStyle, isAirMode
$("span.o_table_handler, div.note-table").remove();
};
-editor.EditorBar.include({
+web_editor.Class.include({
start: function () {
var self = this;
if (location.search.indexOf("enable_editor") !== -1) {
- this.on('rte:ready', this, function () {
+ this.on('rte:start', this, function () {
$("#choose_template").off("click").on("click", _.bind(self.on_choose_template, self));
$(".theme_thumbnail [data-snippet-theme]").off("click").on("click", _.bind(self.on_set_snippet_theme, self));
- $("#wrapwrap").on('click', function (event) {
- if ($(event.target).is("#wrapwrap")) {
- setTimeout(function () {
- var node = $("#wrapwrap .o_editable:first *")
- .filter(function () { return this.textContent.match(/\S|\u00A0/); })
- .add($("#wrapwrap .o_editable:first"))
- .last()[0];
- $.summernote.core.range.create(node, $.summernote.core.dom.nodeLength(node)).select();
- },0);
- }
- });
+ var $editable = $("#editable_area");
+ $editable.html($editable.prop("innerHTML").replace(/^]*>\s*<\/p>$/, ''));
});
this.on("snippets:ready", this, _.bind(self.display_theme_from_html, self));
}
return this._super.apply(this, arguments);
},
display_theme_from_html: function () {
- var theme = $("#wrapwrap .o_editable:first [data-snippet-theme]").data("snippet-theme");
+ var theme = $("#editable_area [data-snippet-theme]").data("snippet-theme");
if (theme) {
$("#choose_template").show();
this.set_snippet_theme(theme);
@@ -170,15 +162,18 @@ editor.EditorBar.include({
if (event) {
$("#choose_template").show();
}
- var $editable = $("#wrapwrap .o_editable:first");
+ var $editable = $("#editable_area");
$(".o_table_handler").remove();
$editable.parent().add("#oe_snippets, #templates, .note-popover").toggleClass("hidden");
$("#choose_template").children().toggleClass("hidden");
$("body").trigger("resize");
$(window.top).trigger('resize');
+ setTimeout(function () {
+ $(".note-popover").toggleClass("hidden", $("#templates").is(":visible"));
+ },0);
},
on_set_snippet_template: function (event) {
- var $editable = $("#wrapwrap .o_editable:first");
+ var $editable = $("#editable_area");
this.rte.historyRecordUndo($editable);
$editable.html( $(event.target).closest(".theme_thumbnail").find(".js_content").html() );
$editable.parent().add("#oe_snippets, #templates, .note-popover").toggleClass("hidden");
@@ -201,7 +196,7 @@ editor.EditorBar.include({
get_snippet_template: function (mailing_model) {
var self = this;
var domain = [['model', '=', mailing_model]];
- new Model('mail.template').call('search_read', [domain]).then(function (datas) {
+ return new Model('mail.template').call('search_read', [domain]).then(function (datas) {
var $template = $("#templates > div:last").addClass("hidden");
var $tclone = $template.find("> div > div:first");
$tclone.siblings().remove();
@@ -221,193 +216,33 @@ editor.EditorBar.include({
}
});
-var cache = {};
-var rulesCache = [];
-function getMatchedCSSRules(a) {
- if(cache[a.tagName + "." +a.className]) {
- return cache[a.tagName + "." +a.className];
- }
- if (!rulesCache.length) {
- var sheets = document.styleSheets;
- for(var i = 0; i < sheets.length; i++) {
- var rules = sheets[i].rules || sheets[i].cssRules;
- if (rules) {
- for(var r = 0; r < rules.length; r++) {
- var selectorText = rules[r].selectorText;
- if (selectorText &&
- rules[r].cssText &&
- selectorText.indexOf(".") !== -1 &&
- selectorText.indexOf(":hover") === -1 &&
- selectorText.indexOf(":before") === -1 &&
- selectorText.indexOf(":after") === -1 &&
- selectorText.indexOf(":active") === -1 &&
- selectorText.indexOf(":link") === -1 &&
- selectorText.indexOf("::") === -1) {
- var st = selectorText.split(/\s*,\s*/);
- for (var k=0; k div:not(.hidden)").attr("class") || "").replace(/^\s*|\s*o_mail_block[^\s]+\s*|\s*oe_snippet\s*|\s*ui-draggable\s*|\s*$/g, '');
- var $theme = $("#wrapwrap .o_editable:first [data-snippet-theme]").removeAttr("data-snippet-theme").removeData("snippet-theme");
+ var $theme = $("#editable_area [data-snippet-theme]").removeAttr("data-snippet-theme").removeData("snippet-theme");
$editable.children().first().attr("data-snippet-theme", theme);
- $editable.find(":hidden").remove();
+ $editable.find(":not(br):hidden").remove();
},
- // convert font awsome into image
- font_to_img: function () {
- $("#wrapwrap .fa").each(function () {
- var $font = $(this);
- var content;
- _.find(editor.fontIcons, function (font) {
- return _.find(editor.getCssSelectors(font.parser), function (css) {
- if ($font.is(css[0].replace(/::?before$/, ''))) {
- content = css[1].match(/content:\s*['"](.)['"]/)[1];
- return true;
- }
- });
- });
- if (content) {
- var size = parseInt(parseFloat($font.css("font-size"))/parseFloat($font.parent().css("font-size")),10);
- var src = _.str.sprintf('/website_mail/font_to_img/%s/%s/'+$font.width(), window.encodeURI(content), window.encodeURI($font.css("color")));
- var $img = $(" ").attr("src", src)
- .attr("data-class", $font.attr("class"))
- .attr("style", $font.attr("style"))
- .css({"height": size+"em"}).css("font-size", "");
- $font.replaceWith($img);
- } else {
- $font.remove();
- }
- });
- },
- // convert image into font awsome
- img_to_font: function () {
- $("#wrapwrap img[src*='/website_mail/font_to_img/']").each(function () {
- var $img = $(this);
- var $font = $(" ").attr("class", $img.data("class")).attr("style", $img.attr("style")).css("height", "");
- $img.replaceWith($font);
- });
- },
-
- class_to_style: function () {
- var $editable = $("#wrapwrap .o_editable:first");
- var selector = _.map(rulesCache, function (a) { return a.selector;}).join(",");
- $editable.find(selector).each(function () {
- var $target = $(this);
- var css = getMatchedCSSRules(this);
- var style = $target.attr("style") || "";
- _.each(css, function (v,k) {
- if (style.indexOf(k) === -1) {
- style = k+":"+v+";"+style;
- }
- });
- $target.attr("style", style);
- });
- },
-
- style_to_class: function () {
- var $editable = $("#wrapwrap .o_editable:first");
- getMatchedCSSRules($editable[0]);
- var selector = _.map(rulesCache, function (a) { return a.selector;}).join(",");
- var $c = $(' ').appendTo("body");
- $editable.find(selector).each(function () {
- var $target = $(this);
- var css = getMatchedCSSRules(this);
- var style = "";
- _.each(css, function (v,k) {
- if (style.indexOf(k) === -1) {
- style = k+":"+v+";"+style;
- }
- });
- css = $c.attr("style", style).attr("style").split(/\s*;\s*/);
- style = $target.attr("style") || "";
- _.each(css, function (v) {
- style = style.replace(v, '');
- });
- $target.attr("style", style.replace(/;+(\s;)*/g, ';').replace(/^;/g, ''));
- });
- $c.remove();
- }
});
-
-window.top.odoo[callback+"_set_value"] = function (value, fields_values, field_name) {
- var $editable = $("#wrapwrap .o_editable:first");
- var editor_enable = $('body').hasClass('editor_enable');
+var _set_value = window.top.odoo[callback+"_updown"];
+window.top.odoo[callback+"_updown"] = function (value, fields_values, field_name) {
+ var $editable = $("#editable_area");
var _val = $editable.prop("innerHTML");
+ var editor_enable = $('body').hasClass('editor_enable');
value = value || "";
-
- if(value !== _val) {
+
+ if(value !==_val) {
if (editor_enable) {
if (value !== fields_values[field_name]) {
- editor.editor_bar.rte.historyRecordUndo($editable, true);
+ rte.history.recordUndo($editable);
}
- editor.editor_bar.snippets.make_active(false);
+ snippets_editor.instance.make_active(false);
}
if (value.indexOf('on_change_model_and_list') === -1) {
@@ -415,11 +250,7 @@ window.top.odoo[callback+"_set_value"] = function (value, fields_values, field_n
$editable.html(value);
if (editor_enable) {
- editor.editor_bar.snippets.img_to_font();
- editor.editor_bar.snippets.style_to_class();
- if (fields_values.mailing_model) {
- editor.editor_bar.display_theme_from_html();
- }
+ web_editor.editor_bar.display_theme_from_html();
if (value !== fields_values[field_name]) {
$editable.trigger("content_changed");
@@ -428,17 +259,12 @@ window.top.odoo[callback+"_set_value"] = function (value, fields_values, field_n
}
}
- if (fields_values.mailing_model) {
- editor.editor_bar.get_snippet_template(fields_values.mailing_model);
+ if (fields_values.mailing_model && web_editor.editor_bar) {
+ web_editor.editor_bar.get_snippet_template(fields_values.mailing_model);
if (value.indexOf('on_change_model_and_list') !== -1) {
window.top.odoo[callback+"_downup"](_val);
}
}
};
-
-return {
- getMatchedCSSRules: getMatchedCSSRules
-};
-
});
diff --git a/addons/mass_mailing/static/src/js/website_mass_mailing.editor.js b/addons/mass_mailing/static/src/js/website_mass_mailing.editor.js
deleted file mode 100644
index 33fbbaa637f..00000000000
--- a/addons/mass_mailing/static/src/js/website_mass_mailing.editor.js
+++ /dev/null
@@ -1,110 +0,0 @@
-odoo.define('website_mass_mailing.editor', function (require) {
-'use strict';
-
-var ajax = require('web.ajax');
-var core = require('web.core');
-var editor = require('website.editor');
-var snippet_editor = require('website.snippet.editor');
-var website = require('website.website');
-
-var _t = core._t;
-
-snippet_editor.options.mailing_list_subscribe = snippet_editor.Option.extend({
- choose_mailing_list: function (type, value) {
- var self = this;
- if (type !== "click") return;
- return website.prompt({
- id: "editor_new_mailing_list_subscribe_button",
- window_title: _t("Add a Newsletter Subscribe Button"),
- select: _t("Newsletter"),
- init: function (field) {
- return website.session.model('mail.mass_mailing.list')
- .call('name_search', ['', []], { context: website.get_context() });
- },
- }).then(function (mailing_list_id) {
- self.$target.attr("data-list-id", mailing_list_id);
- });
- },
- drop_and_build_snippet: function() {
- var self = this;
- this._super();
- this.choose_mailing_list('click').fail(function () {
- self.editor.on_remove($.Event( "click" ));
- });
- },
- clean_for_save: function () {
- this.$target.addClass("hidden");
- },
-});
-
-website.snippet.options.newsletter_popup = website.snippet.Option.extend({
- select_mailing_list: function (type) {
- var self = this;
- if (type !== "click") return;
- return website.prompt({
- id: "editor_new_mailing_list_subscribe_popup",
- window_title: _t("Add a Newsletter Subscribe Popup"),
- select: _t("Newsletter"),
- init: function () {
- return website.session.model('mail.mass_mailing.list')
- .call('name_search', [], { context: website.get_context() });
- },
- }).then(function (mailing_list_id) {
- ajax.jsonRpc('/web/dataset/call', 'call', {
- model: 'mail.mass_mailing.list',
- method: 'read',
- args: [[parseInt(mailing_list_id)], ['popup_content'], website.get_context()],
- }).then(function (data) {
- self.$target.find(".o_popup_content_dev").empty();
- if (data && data[0].popup_content) {
- $(data[0].popup_content).appendTo(self.$target.find(".o_popup_content_dev"));
- }
- });
- self.$target.attr("data-list-id", mailing_list_id);
- });
- },
- drop_and_build_snippet: function() {
- var self = this;
- this._super();
- this.select_mailing_list('click').fail(function () {
- self.editor.on_remove($.Event( "click" ));
- });
- },
-});
-
-editor.EditorBar.include({
- edit: function () {
- this._super();
- $('body').on('click','#edit_dialog',_.bind(this.edit_dialog, this.rte.editor));
- },
- save : function() {
- var $target = $('#wrapwrap').find('#o_newsletter_popup');
- if ($target && $target.length) {
- $target.modal('hide');
- $target.css("display", "none");
- $('.o_popup_bounce_small').show();
- if (!$target.find('.o_popup_content_dev').length) {
- $target.find('.o_popup_modal_body').prepend($(''));
- }
- var content = $('#wrapwrap .o_popup_content_dev').html();
- var newsletter_id = $target.parent().attr('data-list-id');
- ajax.jsonRpc('/web/dataset/call', 'call', {
- model: 'mail.mass_mailing.list',
- method: 'write',
- args: [parseInt(newsletter_id),
- {'popup_content':content},
- website.get_context()],
- });
- }
- return this._super();
- },
- edit_dialog : function() {
- $('#wrapwrap').find('#o_newsletter_popup').modal('show');
- $('.o_popup_bounce_small').hide();
- $('.modal-backdrop').css("z-index", "0");
- },
-});
-
-});
-
-
diff --git a/addons/mass_mailing/views/editor_field_html.xml b/addons/mass_mailing/views/editor_field_html.xml
new file mode 100644
index 00000000000..5cc26b0dab7
--- /dev/null
+++ b/addons/mass_mailing/views/editor_field_html.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Theme
+ Cancel selection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/mass_mailing/views/email_template.xml b/addons/mass_mailing/views/email_template.xml
index 377d3084362..36698ac6106 100644
--- a/addons/mass_mailing/views/email_template.xml
+++ b/addons/mass_mailing/views/email_template.xml
@@ -28,7 +28,7 @@
-
+
diff --git a/addons/mass_mailing/views/mass_mailing.xml b/addons/mass_mailing/views/mass_mailing.xml
index c5414ec5026..a6b8d1f5099 100644
--- a/addons/mass_mailing/views/mass_mailing.xml
+++ b/addons/mass_mailing/views/mass_mailing.xml
@@ -264,7 +264,7 @@
-
+
@@ -329,8 +329,8 @@