diff --git a/addons/mass_mailing/__manifest__.py b/addons/mass_mailing/__manifest__.py index ca6e6ecba0f..76701aa8841 100644 --- a/addons/mass_mailing/__manifest__.py +++ b/addons/mass_mailing/__manifest__.py @@ -26,6 +26,7 @@ 'data/mail_data.xml', 'data/mailing_data_templates.xml', 'data/mass_mailing_data.xml', + 'data/ir_attachment_data.xml', 'wizard/mail_compose_message_views.xml', 'wizard/mailing_contact_to_list_views.xml', 'wizard/mailing_list_merge_views.xml', @@ -44,6 +45,31 @@ 'views/mass_mailing_templates_portal.xml', 'views/themes_templates.xml', 'views/snippets_themes.xml', + 'views/snippets/s_alert.xml', + 'views/snippets/s_blockquote.xml', + 'views/snippets/s_call_to_action.xml', + 'views/snippets/s_coupon_code.xml', + 'views/snippets/s_cover.xml', + 'views/snippets/s_color_blocks_2.xml', + 'views/snippets/s_company_team.xml', + 'views/snippets/s_comparisons.xml', + 'views/snippets/s_features.xml', + 'views/snippets/s_features_grid.xml', + 'views/snippets/s_hr.xml', + 'views/snippets/s_image_text.xml', + 'views/snippets/s_masonry_block.xml', + 'views/snippets/s_media_list.xml', + 'views/snippets/s_numbers.xml', + 'views/snippets/s_picture.xml', + 'views/snippets/s_product_list.xml', + 'views/snippets/s_rating.xml', + 'views/snippets/s_references.xml', + 'views/snippets/s_showcase.xml', + 'views/snippets/s_text_block.xml', + 'views/snippets/s_text_highlight.xml', + 'views/snippets/s_text_image.xml', + 'views/snippets/s_three_columns.xml', + 'views/snippets/s_title.xml', ], 'demo': [ 'data/mass_mailing_demo.xml', @@ -73,6 +99,10 @@ 'web.qunit_suite_tests': [ 'mass_mailing/static/tests/field_html_test.js', 'mass_mailing/static/src/js/mass_mailing_snippets.js', + 'mass_mailing/static/src/snippets/s_blockquote/options.js', + 'mass_mailing/static/src/snippets/s_media_list/options.js', + 'mass_mailing/static/src/snippets/s_showcase/options.js', + 'mass_mailing/static/src/snippets/s_rating/options.js', 'mass_mailing/static/tests/mass_mailing_html_tests.js', ], 'web.assets_qweb': [ diff --git a/addons/mass_mailing/data/ir_attachment_data.xml b/addons/mass_mailing/data/ir_attachment_data.xml new file mode 100644 index 00000000000..65cc4ab2de4 --- /dev/null +++ b/addons/mass_mailing/data/ir_attachment_data.xml @@ -0,0 +1,144 @@ + + + + + + + s_media_list_default_image_1.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_media_list_1.jpg + + + + s_media_list_default_image_2.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_media_list_2.jpg + + + + s_media_list_default_image_3.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_media_list_3.jpg + + + + s_company_team_image_1.png + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_1.png + + + + s_company_team_image_2.png + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_2.png + + + + s_company_team_image_3.png + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_3.png + + + + s_company_team_image_4.png + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_4.png + + + + s_reference_demo_image_1.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_1.png + + + + s_reference_demo_image_2.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_2.png + + + + s_reference_demo_image_3.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_3.png + + + + s_reference_demo_image_4.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_4.png + + + + s_reference_demo_image_5.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_5.png + + + + s_reference_default_image_6.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_6.png + + + + s_product_list_default_image_1.jpg + url + /mass_mailing/static/src/img/snippets_demo/furniture.jpg + + + + s_product_list_default_image_2.jpg + url + /mass_mailing/static/src/img/snippets_demo/clothes.jpg + + + + s_product_list_default_image_3.jpg + url + /mass_mailing/static/src/img/snippets_demo/books.jpg + + + + s_product_list_default_image_4.jpg + url + /mass_mailing/static/src/img/snippets_demo/essentials_oils.jpg + + + + s_product_list_default_image_5.jpg + url + /mass_mailing/static/src/img/snippets_demo/services.jpg + + + + s_product_list_default_image_6.jpg + url + /mass_mailing/static/src/img/snippets_demo/multimedia.jpg + + + + s_blockquote_default_image.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_2.png + + + + s_blockquote_cover_default_image.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_blockquote_cover.jpg + + + + s_masonry_block_default_image_1.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_masonry_block_1.jpg + + + + s_masonry_block_default_image_2.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_cover.jpg + + + diff --git a/addons/mass_mailing/data/mass_mailing_data.xml b/addons/mass_mailing/data/mass_mailing_data.xml index 4ea6cf3b9f3..90dedf14351 100644 --- a/addons/mass_mailing/data/mass_mailing_data.xml +++ b/addons/mass_mailing/data/mass_mailing_data.xml @@ -33,5 +33,144 @@ + + + + s_media_list_default_image_1.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_media_list_1.jpg + + + + s_media_list_default_image_2.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_media_list_2.jpg + + + + s_media_list_default_image_3.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_media_list_3.jpg + + + + s_company_team_image_1.png + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_1.png + + + + s_company_team_image_2.png + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_2.png + + + + s_company_team_image_3.png + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_3.png + + + + s_company_team_image_4.png + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_4.png + + + + s_reference_demo_image_1.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_1.png + + + + s_reference_demo_image_2.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_2.png + + + + s_reference_demo_image_3.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_3.png + + + + s_reference_demo_image_4.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_4.png + + + + s_reference_demo_image_5.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_5.png + + + + s_reference_default_image_6.png + url + /mass_mailing/static/src/img/snippets_demo/s_references_6.png + + + + s_product_list_default_image_1.jpg + url + /mass_mailing/static/src/img/snippets_demo/furniture.jpg + + + + s_product_list_default_image_2.jpg + url + /mass_mailing/static/src/img/snippets_demo/clothes.jpg + + + + s_product_list_default_image_3.jpg + url + /mass_mailing/static/src/img/snippets_demo/books.jpg + + + + s_product_list_default_image_4.jpg + url + /mass_mailing/static/src/img/snippets_demo/essentials_oils.jpg + + + + s_product_list_default_image_5.jpg + url + /mass_mailing/static/src/img/snippets_demo/services.jpg + + + + s_product_list_default_image_6.jpg + url + /mass_mailing/static/src/img/snippets_demo/multimedia.jpg + + + + s_blockquote_default_image.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_team_member_2.png + + + + s_blockquote_cover_default_image.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_blockquote_cover.jpg + + + + s_masonry_block_default_image_1.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_masonry_block_1.jpg + + + + s_masonry_block_default_image_2.jpg + url + /mass_mailing/static/src/img/snippets_demo/s_cover.jpg + diff --git a/addons/mass_mailing/data/mass_mailing_demo.xml b/addons/mass_mailing/data/mass_mailing_demo.xml index 67157c1b7dd..3cc02dd101e 100644 --- a/addons/mass_mailing/data/mass_mailing_demo.xml +++ b/addons/mass_mailing/data/mass_mailing_demo.xml @@ -86,91 +86,78 @@ new Info <info@yourcompany.example.com> -
- - - - - - - -
-
- - - - - - -
- Powered by Odoo -
+
+ + + +
+
+
+ Powered by Odoo +
+
+
diff --git a/addons/mass_mailing/static/src/img/blocks/block_footer_separator.png b/addons/mass_mailing/static/src/img/blocks/block_footer_separator.png deleted file mode 100755 index 6af266fca5c..00000000000 Binary files a/addons/mass_mailing/static/src/img/blocks/block_footer_separator.png and /dev/null differ diff --git a/addons/mass_mailing/static/src/img/blocks/block_footer_tag_line.png b/addons/mass_mailing/static/src/img/blocks/block_footer_tag_line.png deleted file mode 100755 index 73b5a29ea59..00000000000 Binary files a/addons/mass_mailing/static/src/img/blocks/block_footer_tag_line.png and /dev/null differ diff --git a/addons/mass_mailing/static/src/img/blocks/block_image.png b/addons/mass_mailing/static/src/img/blocks/block_image.png deleted file mode 100755 index e918a8d70f1..00000000000 Binary files a/addons/mass_mailing/static/src/img/blocks/block_image.png and /dev/null differ diff --git a/addons/mass_mailing/static/src/img/blocks/block_image_text.png b/addons/mass_mailing/static/src/img/blocks/block_image_text.png deleted file mode 100755 index de9e18f37c3..00000000000 Binary files a/addons/mass_mailing/static/src/img/blocks/block_image_text.png and /dev/null differ diff --git a/addons/mass_mailing/static/src/img/blocks/block_paragraph.png b/addons/mass_mailing/static/src/img/blocks/block_paragraph.png deleted file mode 100755 index bfba996c54a..00000000000 Binary files a/addons/mass_mailing/static/src/img/blocks/block_paragraph.png and /dev/null differ diff --git a/addons/mass_mailing/static/src/img/blocks/block_steps.png b/addons/mass_mailing/static/src/img/blocks/block_steps.png deleted file mode 100755 index e977a1059e5..00000000000 Binary files a/addons/mass_mailing/static/src/img/blocks/block_steps.png and /dev/null differ diff --git a/addons/mass_mailing/static/src/img/blocks/block_three_cols.png b/addons/mass_mailing/static/src/img/blocks/block_three_cols.png deleted file mode 100755 index cd72e7b8168..00000000000 Binary files a/addons/mass_mailing/static/src/img/blocks/block_three_cols.png and /dev/null differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/books.jpg b/addons/mass_mailing/static/src/img/snippets_demo/books.jpg new file mode 100644 index 00000000000..3f30038177e Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/books.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/clothes.jpg b/addons/mass_mailing/static/src/img/snippets_demo/clothes.jpg new file mode 100644 index 00000000000..6ce62d27038 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/clothes.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/essentials_oils.jpg b/addons/mass_mailing/static/src/img/snippets_demo/essentials_oils.jpg new file mode 100644 index 00000000000..9561a605bc9 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/essentials_oils.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/furniture.jpg b/addons/mass_mailing/static/src/img/snippets_demo/furniture.jpg new file mode 100644 index 00000000000..8d33dc6be00 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/furniture.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/multimedia.jpg b/addons/mass_mailing/static/src/img/snippets_demo/multimedia.jpg new file mode 100644 index 00000000000..9fa60a94225 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/multimedia.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_blockquote_cover.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_blockquote_cover.jpg new file mode 100644 index 00000000000..c54b0378064 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_blockquote_cover.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_cover.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_cover.jpg new file mode 100755 index 00000000000..e60c3b155b6 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_cover.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_masonry_block_1.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_masonry_block_1.jpg new file mode 100644 index 00000000000..b46aba6ee28 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_masonry_block_1.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_1.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_1.jpg new file mode 100755 index 00000000000..f6007c0d2a2 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_1.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_2.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_2.jpg new file mode 100755 index 00000000000..f6e893d2d56 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_2.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_3.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_3.jpg new file mode 100644 index 00000000000..59f260edb45 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_3.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_1.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_1.png new file mode 100755 index 00000000000..cfced4e5745 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_1.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_2.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_2.png new file mode 100755 index 00000000000..75f56c0ce16 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_2.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_3.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_3.png new file mode 100755 index 00000000000..ee28c154012 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_3.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_4.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_4.png new file mode 100755 index 00000000000..a9d30a83aef Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_4.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_5.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_5.png new file mode 100755 index 00000000000..e4801a37a0d Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_5.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_6.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_6.png new file mode 100644 index 00000000000..896d3d7e709 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_6.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_1.png b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_1.png new file mode 100644 index 00000000000..a7a887c5d71 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_1.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_2.png b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_2.png new file mode 100644 index 00000000000..52316d5268e Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_2.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_3.png b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_3.png new file mode 100644 index 00000000000..45bc32e6ab3 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_3.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_4.png b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_4.png new file mode 100644 index 00000000000..7b1dcb484d4 Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_4.png differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/services.jpg b/addons/mass_mailing/static/src/img/snippets_demo/services.jpg new file mode 100644 index 00000000000..126a83020ff Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/services.jpg differ diff --git a/addons/mass_mailing/static/src/img/snippets_demo/size_large.svg b/addons/mass_mailing/static/src/img/snippets_demo/size_large.svg new file mode 100644 index 00000000000..13541780689 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_demo/size_large.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_demo/size_medium.svg b/addons/mass_mailing/static/src/img/snippets_demo/size_medium.svg new file mode 100644 index 00000000000..00b3a3d43d0 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_demo/size_medium.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_demo/size_small.svg b/addons/mass_mailing/static/src/img/snippets_demo/size_small.svg new file mode 100644 index 00000000000..aaa36a67385 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_demo/size_small.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_bottom.svg b/addons/mass_mailing/static/src/img/snippets_options/align_bottom.svg new file mode 100644 index 00000000000..d54b039c2e1 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/align_bottom.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_bottom_right.svg b/addons/mass_mailing/static/src/img/snippets_options/align_bottom_right.svg new file mode 100644 index 00000000000..9cea3be7ce4 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/align_bottom_right.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_middle.svg b/addons/mass_mailing/static/src/img/snippets_options/align_middle.svg new file mode 100644 index 00000000000..a2aaa6c390b --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/align_middle.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_middle_right.svg b/addons/mass_mailing/static/src/img/snippets_options/align_middle_right.svg new file mode 100644 index 00000000000..9ee12c3bd04 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/align_middle_right.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_stretch.svg b/addons/mass_mailing/static/src/img/snippets_options/align_stretch.svg new file mode 100644 index 00000000000..026e0486a62 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/align_stretch.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_top.svg b/addons/mass_mailing/static/src/img/snippets_options/align_top.svg new file mode 100644 index 00000000000..5e5be9a1db0 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/align_top.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_top_right.svg b/addons/mass_mailing/static/src/img/snippets_options/align_top_right.svg new file mode 100644 index 00000000000..ed84020e788 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/align_top_right.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/content_width_full.svg b/addons/mass_mailing/static/src/img/snippets_options/content_width_full.svg new file mode 100644 index 00000000000..4620dce4d03 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/content_width_full.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/content_width_normal.svg b/addons/mass_mailing/static/src/img/snippets_options/content_width_normal.svg new file mode 100644 index 00000000000..2a6b08a8fe0 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/content_width_normal.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/content_width_small.svg b/addons/mass_mailing/static/src/img/snippets_options/content_width_small.svg new file mode 100644 index 00000000000..f52d357bf14 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/content_width_small.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/image_left.svg b/addons/mass_mailing/static/src/img/snippets_options/image_left.svg new file mode 100644 index 00000000000..66fc80d9d10 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/image_left.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/image_right.svg b/addons/mass_mailing/static/src/img/snippets_options/image_right.svg new file mode 100644 index 00000000000..8cc4ddca000 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/image_right.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_image_text.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_image_text.svg new file mode 100644 index 00000000000..57c4406d9f5 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_image_text.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image.svg new file mode 100644 index 00000000000..3b96357e8ee --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image_text.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image_text.svg new file mode 100644 index 00000000000..4a603044b80 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image_text.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_texts.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_texts.svg new file mode 100644 index 00000000000..5911b6a50ba --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_texts.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_default.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_default.svg new file mode 100644 index 00000000000..dafa27f6df5 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_default.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_image_texts_image.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_image_texts_image.svg new file mode 100644 index 00000000000..d5d29510504 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_image_texts_image.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_images.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_images.svg new file mode 100644 index 00000000000..7be2c0394a6 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_images.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_mosaic.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_mosaic.svg new file mode 100644 index 00000000000..64c55638eb1 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_mosaic.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_reversed.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_reversed.svg new file mode 100644 index 00000000000..d064c03d946 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_reversed.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_texts_image_texts.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_texts_image_texts.svg new file mode 100644 index 00000000000..a2ea025e33b --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_texts_image_texts.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2.svg new file mode 100644 index 00000000000..f83de7d4c46 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2_right.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2_right.svg new file mode 100644 index 00000000000..70519f1f284 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2_right.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3.svg new file mode 100644 index 00000000000..475877a2c03 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3_right.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3_right.svg new file mode 100644 index 00000000000..215a3115c70 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3_right.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4.svg new file mode 100644 index 00000000000..dd6e24c70c9 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4_right.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4_right.svg new file mode 100644 index 00000000000..219233dcc53 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4_right.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_alert.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_alert.svg new file mode 100644 index 00000000000..c6a1acbd916 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_alert.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_blockquote.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_blockquote.svg new file mode 100644 index 00000000000..d583795e404 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_blockquote.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_call_to_action.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_call_to_action.svg new file mode 100644 index 00000000000..8fd18dfafd0 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_call_to_action.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_color_blocks_2.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_color_blocks_2.svg new file mode 100644 index 00000000000..48b7b20c1c2 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_color_blocks_2.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_company_team.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_company_team.svg new file mode 100644 index 00000000000..c62a9e65ac9 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_company_team.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_comparisons.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_comparisons.svg new file mode 100644 index 00000000000..8178f99ea25 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_comparisons.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_cover.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_cover.svg new file mode 100644 index 00000000000..6fb7174f172 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_cover.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_features.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_features.svg new file mode 100644 index 00000000000..fcfa1fe7f92 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_features.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_features_grid.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_features_grid.svg new file mode 100644 index 00000000000..874ef6c0b93 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_features_grid.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_hr.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_hr.svg new file mode 100644 index 00000000000..b9197424891 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_hr.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_image_text.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_image_text.svg new file mode 100644 index 00000000000..9353ed759d2 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_image_text.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_masonry_block.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_masonry_block.svg new file mode 100644 index 00000000000..36c6e1b8a76 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_masonry_block.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_media_list.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_media_list.svg new file mode 100644 index 00000000000..c059743fb2e --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_media_list.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_numbers.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_numbers.svg new file mode 100644 index 00000000000..49c901482ea --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_numbers.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_picture.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_picture.svg new file mode 100644 index 00000000000..d33e7670f04 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_picture.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_product_list.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_product_list.svg new file mode 100644 index 00000000000..cc162fc3948 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_product_list.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_rating.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_rating.svg new file mode 100644 index 00000000000..911434f4e0b --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_rating.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_references.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_references.svg new file mode 100644 index 00000000000..dbb249306d8 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_references.svg @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_showcase.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_showcase.svg new file mode 100644 index 00000000000..40dcdf57292 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_showcase.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_block.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_block.svg new file mode 100644 index 00000000000..a91d5d58f64 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_block.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_highlight.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_highlight.svg new file mode 100644 index 00000000000..77c432f5165 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_highlight.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_image.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_image.svg new file mode 100644 index 00000000000..7f335fc330c --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_image.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_three_columns.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_three_columns.svg new file mode 100644 index 00000000000..7b2fdafbf7a --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_three_columns.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_title.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_title.svg new file mode 100644 index 00000000000..ca12e48db39 --- /dev/null +++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_title.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_banner.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_banner.jpg new file mode 100644 index 00000000000..e6a85a38b43 Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_banner.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_event.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_event.jpg new file mode 100644 index 00000000000..91fff96b8b4 Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_event.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image.jpg new file mode 100644 index 00000000000..3ca5ebb5e6c Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image_text.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image_text.jpg new file mode 100644 index 00000000000..87251f5f46a Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image_text.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_text_image.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_text_image.jpg new file mode 100644 index 00000000000..10f6102fd82 Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_text_image.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_1.jpg new file mode 100644 index 00000000000..fa939c89aae Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_1.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_2.jpg new file mode 100644 index 00000000000..35a8006b9c1 Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_2.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_3.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_3.jpg new file mode 100644 index 00000000000..e33e667921c Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_3.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_1.jpg new file mode 100644 index 00000000000..9a55e53533b Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_1.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_2.jpg new file mode 100644 index 00000000000..38c77b3c178 Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_2.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_logo.png b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_logo.png new file mode 100644 index 00000000000..1f5169a218f Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_logo.png differ diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_masonry_block_default_image_1.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_masonry_block_default_image_1.jpg new file mode 100644 index 00000000000..b46aba6ee28 Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_masonry_block_default_image_1.jpg differ diff --git a/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_large.png b/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_large.png new file mode 100644 index 00000000000..14f920681ab Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_large.png differ diff --git a/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_small.png b/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_small.png new file mode 100644 index 00000000000..d19535fff7d Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_small.png differ diff --git a/addons/mass_mailing/static/src/js/mailing_mailing_view_form_full_width.js b/addons/mass_mailing/static/src/js/mailing_mailing_view_form_full_width.js index c9b5eba6fc2..0f9257f736c 100644 --- a/addons/mass_mailing/static/src/js/mailing_mailing_view_form_full_width.js +++ b/addons/mass_mailing/static/src/js/mailing_mailing_view_form_full_width.js @@ -40,7 +40,6 @@ const MassMailingFullWidthFormController = FormController.extend({ * template is picked. * * @private - * @param {JQuery} $iframe */ _resizeMailingEditorIframe() { const VERTICAL_OFFSET = 12; // Vertical offset picked for visual design purposes. @@ -105,7 +104,7 @@ const MassMailingFullWidthFormController = FormController.extend({ * @private */ _onDomUpdated() { - const data = { $iframe: this.$('iframe.wysiwyg_iframe, iframe.o_readonly') }; + const data = { $iframe: this.$('iframe.wysiwyg_iframe:visible, iframe.o_readonly:visible') }; this._onIframeUpdated({ data }); }, /** diff --git a/addons/mass_mailing/static/src/js/mass_mailing_snippets.js b/addons/mass_mailing/static/src/js/mass_mailing_snippets.js index 9d7a5992944..b4c4cae9a62 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing_snippets.js +++ b/addons/mass_mailing/static/src/js/mass_mailing_snippets.js @@ -63,7 +63,7 @@ options.registry.mass_mailing_sizing_x = options.Class.extend({ return def; }, change_width: function (event, target, target_width, offset, grow) { - target.css("width", grow ? (event.pageX - offset) : (offset + target_width - event.pageX)); + target.css("width", Math.round(grow ? (event.pageX - offset) : (offset + target_width - event.pageX))); this.trigger_up('cover_update'); }, get_int_width: function (el) { @@ -81,52 +81,6 @@ options.registry.mass_mailing_sizing_x = options.Class.extend({ }, }); -options.registry.mass_mailing_table_item = options.Class.extend({ - onClone: function (options) { - this._super.apply(this, arguments); - - // If we cloned a td or th element... - if (options.isCurrent && this.$target.is("td, th")) { - // ... and that the td or th element was alone on its row ... - if (this.$target.siblings().length === 1) { - var $tr = this.$target.parent(); - $tr.clone().empty().insertAfter($tr).append(this.$target); // ... move the clone in a new row instead - return; - } - - // ... if not, if the clone neighbor is an empty cell, remove this empty cell (like if the clone content had been put in that cell) - var $next = this.$target.next(); - if ($next.length && $next.text().trim() === "") { - $next.remove(); - return; - } - - // ... if not, insert an empty col in each other row, at the index of the clone - var width = this.$target.width(); - var $trs = this.$target.closest("table").children("thead, tbody, tfoot").addBack().children("tr").not(this.$target.parent()); - _.each($trs.children(":nth-child(" + this.$target.index() + ")"), function (col) { - $(col).after($("", {style: "width: " + width + "px;"})); - }); - } - }, - onRemove: function () { - this._super.apply(this, arguments); - - // If we are removing a td or th element which was not alone on its row ... - if (this.$target.is("td, th") && this.$target.siblings().length > 0) { - var $trs = this.$target.closest("table").children("thead, tbody, tfoot").addBack().children("tr").not(this.$target.parent()); - if ($trs.length) { // ... if there are other rows in the table ... - var $last_tds = $trs.children(":last-child"); - if (_.reduce($last_tds, function (memo, td) { return memo + (td.innerHTML || ""); }, "").trim() === "") { - $last_tds.remove(); // ... remove the potential full empty column in the table - } else { - this.$target.parent().append(""); // ... else, if there is no full empty column, append an empty col in the current row - } - } - } - }, -}); - // Adding compatibility for the outlook compliance of mailings. // Commit of such compatibility : a14f89c8663c9cafecb1cc26918055e023ecbe42 options.registry.BackgroundImage = options.registry.BackgroundImage.extend({ diff --git a/addons/mass_mailing/static/src/js/mass_mailing_widget.js b/addons/mass_mailing/static/src/js/mass_mailing_widget.js index c17abbf7d6c..dc6df098917 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing_widget.js +++ b/addons/mass_mailing/static/src/js/mass_mailing_widget.js @@ -15,6 +15,11 @@ var MassMailingFieldHtml = FieldHtml.extend({ jsLibs: [ '/mass_mailing/static/src/js/mass_mailing_link_dialog_fix.js', '/mass_mailing/static/src/js/mass_mailing_snippets.js', + '/mass_mailing/static/src/snippets/s_blockquote/options.js', + '/mass_mailing/static/src/snippets/s_masonry_block/options.js', + '/mass_mailing/static/src/snippets/s_media_list/options.js', + '/mass_mailing/static/src/snippets/s_showcase/options.js', + '/mass_mailing/static/src/snippets/s_rating/options.js', ], custom_events: _.extend({}, FieldHtml.prototype.custom_events, { @@ -67,18 +72,26 @@ var MassMailingFieldHtml = FieldHtml.extend({ self._isDirty = self.wysiwyg.isDirty(); self._doAction(); + // fix outlook image rendering bug (this change will be kept in both + // fields) + _.each(['width', 'height'], function (attribute) { + $editable.find('img').attr(attribute, function () { + return $(this)[attribute](); + }).css(attribute, function () { + return $(this).get(0).style[attribute] || attribute === 'width' ? $(this)[attribute]() + 'px' : 'auto'; + }); + }); + convertInline.attachmentThumbnailToLinkImg($editable); convertInline.fontToImg($editable); convertInline.classToStyle($editable); - - // fix outlook image rendering bug - _.each(['width', 'height'], function (attribute) { - $editable.find('img[style*="width"], img[style*="height"]').attr(attribute, function () { - return $(this)[attribute](); - }).css(attribute, function () { - return $(this).get(0).style[attribute] || 'auto'; - }); - }); + convertInline.bootstrapToTable($editable); + convertInline.cardToTable($editable); + convertInline.listGroupToTable($editable); + convertInline.addTables($editable); + convertInline.formatTables($editable); + convertInline.normalizeColors($editable); + convertInline.normalizeRem($editable); self.trigger_up('field_changed', { dataPointID: self.dataPointID, @@ -111,6 +124,17 @@ var MassMailingFieldHtml = FieldHtml.extend({ // Private //-------------------------------------------------------------------------- + /** + * @override + */ + _createWysiwygIntance: async function () { + await this._super(...arguments); + // Data is removed on save but we need the mailing and its body to be + // named so they are handled properly by the snippets menu. + this.$content.find('.o_layout').addBack().data('name', 'Mailing'); + // We don't want to drop snippets directly within the wysiwyg. + this.$content.removeClass('o_editable').addClass('o_not_editable') + }, /** * Returns true if the editable area is empty. * @@ -146,13 +170,6 @@ var MassMailingFieldHtml = FieldHtml.extend({ } return this._super.apply(this, arguments); }, - /** - * @override - */ - _renderReadonly: function () { - this.value = this.recordData[this.nodeOptions['inline-field']]; - return this._super.apply(this, arguments); - }, /** * @override @@ -223,6 +240,9 @@ var MassMailingFieldHtml = FieldHtml.extend({ $img.attr("src", src); }); + $container.find('.o_mail_block_cover .oe_img_bg').each(function () { + $(this).css('background-image', `url('/mass_mailing_themes/static/src/img/theme_${themeParams.name}/s_default_image_block_banner.jpg')`); + }); }, /** * Switch themes or import first theme. @@ -252,26 +272,17 @@ var MassMailingFieldHtml = FieldHtml.extend({ } else { // This wrapper structure is the only way to have a responsive // and centered fixed-width content column on all mail clients - $new_wrapper = $('', { - class: 'o_mail_wrapper' + $new_wrapper = $('
', { + class: 'container o_mail_wrapper o_mail_regular oe_unremovable', }); - $newWrapperContent = $('
').append( - $('
', { - class: 'o_mail_no_options o_mail_wrapper_td oe_structure' + $newWrapperContent = $('
', { + class: 'col o_mail_no_options o_mail_wrapper_td oe_structure o_editable' }); - $new_wrapper.append($('
', { - class: 'o_mail_no_resize o_not_editable', - contenteditable: 'false' - }), - $newWrapperContent, - $('', { - class: 'o_mail_no_resize o_not_editable', - contenteditable: 'false' - }) - )); + $new_wrapper.append($('
').append($newWrapperContent)); } var $newLayout = $('
', { - class: 'o_layout ' + themeParams.className + class: 'o_layout oe_unremovable oe_unmovable bg-200 ' + themeParams.className, + 'data-name': 'Mailing', }).append($new_wrapper); var $contents; diff --git a/addons/mass_mailing/static/src/js/tours/mass_mailing_tour.js b/addons/mass_mailing/static/src/js/tours/mass_mailing_tour.js index b9189c261a3..bf007f55e5c 100644 --- a/addons/mass_mailing/static/src/js/tours/mass_mailing_tour.js +++ b/addons/mass_mailing/static/src/js/tours/mass_mailing_tour.js @@ -50,7 +50,7 @@ odoo.define('mass_mailing.mass_mailing_tour', function (require) { edition: 'community', run: 'click', }, { - trigger: 'div[name="body_arch"] iframe div.o_mail_block_paragraph', + trigger: 'div[name="body_arch"] iframe div.o_mail_block_text', content: _t('Click on this paragraph to edit it.'), position: 'top', edition: 'enterprise', diff --git a/addons/mass_mailing/static/src/scss/themes/theme_basic.scss b/addons/mass_mailing/static/src/scss/themes/theme_basic.scss index d65ea077f5f..2f7cf7fd4be 100644 --- a/addons/mass_mailing/static/src/scss/themes/theme_basic.scss +++ b/addons/mass_mailing/static/src/scss/themes/theme_basic.scss @@ -36,14 +36,16 @@ &.o_layout { margin: 0; padding: 0; - background-color: white; + background-color: white !important; + padding-left: 1rem; + padding-right: 1rem; &, p, h1, h2, h3, h4, h5, h6, span, ul, ol { color: black; } p { - font-size: 13px; + font-size: 14px; margin-bottom: 0px; } diff --git a/addons/mass_mailing/static/src/scss/themes/theme_default.scss b/addons/mass_mailing/static/src/scss/themes/theme_default.scss index 2588c025d51..4e047fb61aa 100644 --- a/addons/mass_mailing/static/src/scss/themes/theme_default.scss +++ b/addons/mass_mailing/static/src/scss/themes/theme_default.scss @@ -29,7 +29,7 @@ $o-mm-def-btn-text : $o-mm-def-color-2; @include bg-variant(".bg-o-color-4", $o-mm-def-color-7); @include bg-variant(".bg-gray-lighter", $o-mm-def-color-1); -td:not([align]) { +div.col:not([align]) { // Default browser style but needed so that alignment works on some mail // clients (see convert_inline) text-align: inherit; @@ -58,30 +58,24 @@ td:not([align]) { .o_layout { overflow: hidden; box-sizing: content-box; - width: 94%; min-height: 100%; - background-color: $o-mm-def-color-1; - padding: 0 3%; - - // Forces on

and elements as several mail clients does not - // correctly inherit font properties - &, p, ol { - font-size: 14px; // force bootstrap default - } - &, p, h1, h2, h3, h4, h5, h6, ol { - font-family: $o-mm-def-font; - color: lighten($o-mm-def-text-color, 20%); - } > .o_mail_wrapper { width: 100%; - border-collapse: separate; // Allow the first and last td to have the - // same width + margin: 0 auto; + + &.o_mail_small { + max-width: 600px; + } + &.o_mail_regular { + max-width: 720px; + } .o_mail_wrapper_td { - width: $o-mm-def-body-width; - border: 1px solid darken($o-mm-def-color-1, 2%); background-color: $o-mm-def-color-2; + flex: none; + padding-left: 0 !important; + padding-right: 0 !important; } } } @@ -89,62 +83,54 @@ td:not([align]) { // ===== Snippets (general) ===== .o_mail_snippet_general { width: 100%; - max-width: $o-mm-def-body-width; // should not be necessary thanks to mail wrapper + box-sizing: border-box; margin: 0 auto; - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: $o-mm-def-text-color; - } - - .btn.btn-primary { - color: $o-mm-def-btn-text; - border: none; - text-decoration: none; - font-weight: normal; - font-family: $o-mm-def-font; - cursor: pointer; - border-radius: $o-mm-def-b-radius; - background-color: $o-mm-def-btn-bg; + .container > div.row { + margin-left: 0; + margin-right: 0; } a:not(.btn), .btn.btn-link { - color: $o-mm-def-color-5; font-weight: bold; text-decoration: none !important; + padding-left: 0 !important; + padding-right: 0 !important; + border: none!important; &:hover, &:focus, &:active { text-decoration: none !important; } } - - img { - width: 100%; - max-width: 100%; - height: auto; - } - - .separator { - height: 2px; - background-color: $o-mm-def-color-1; - } - - .bg-o-color-2 { - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: $o-mm-def-color-2; + // Icons + .fa { + @mixin size($width, $height: $width) { + width: $width; + height: $height; } - .btn.btn-primary { - background-color: $o-mm-def-color-7; - } + $size: 2rem; - a:not(.btn), .btn.btn-link { - color: $o-mm-def-color-7; + &.rounded-circle, + &.rounded, + &.rounded-0, + &.rounded-leaf, + &.img-thumbnail, + &.shadow { + display: inline-block; + vertical-align: middle; + text-align: center; + // fa-1x is not ouput + @include size($size); + line-height: $size; + @for $i from 2 through 5 { + &.fa-#{$i}x { + @include size($size + $i); + line-height: $size + $i; + } + } } } - - td, th { - vertical-align: top; - } } // ===== Snippets (specific) ===== @@ -155,95 +141,21 @@ td:not([align]) { } } .o_mail_header_social { - margin-right: 20px; - a:not(.btn), .btn.btn-link { display: inline-block; } } - td { - vertical-align: middle; - } -} - -.o_mail_block_header_text_social { - h3 { - font-weight: bold; - } -} - -.o_mail_block_steps .o_mail_snippet_general{ - background-color: $o-mm-def-color-1; -} - -.o_mail_block_two_cols, .o_mail_block_three_cols { - // Forces on

elements as several mail clients does not correctly - // inherit font properties - &, p { - font-size: small; - } - - .o_mail_col_container { - padding: 10px 20px; - - h4 { - margin-top: 15px; - } - } -} - -.o_mail_block_image_text, .o_mail_block_text_image { - // Forces on

elements as several mail clients does not correctly - // inherit font properties - &, p { - font-size: small; - } -} - -.o_mail_block_event { - margin-left: 20px; - margin-right: 20px; - .o_mail_snippet_general{ - background: darken($o-mm-def-color-1, 2%); - } -} - -.o_mail_block_footer_separator { - margin-left: 20px; - margin-right: 20px; -} - -.o_mail_block_comparison_table { - .separator { - height: 1px; - background-color: darken($o-mm-def-color-1, 15%); - } - table table { - td, th { - vertical-align: middle; - } - td { - padding: 10px 20px; - * { - margin: 0; - line-height: 1.3; - } - } - } -} - -.o_mail_block_discount2 { - .o_code { - padding: 5px 10px; - background: $o-mm-def-color-1; - border-radius: 3px; - font-family: monospace; + div .col, div[class*="col-"] { + align-self: center; } } .o_mail_block_footer_social { + .btn-link{ + padding: 0; + } + .o_mail_table_styles { - border-top: 2px solid $o-mm-def-color-1; padding-top: 20px; padding-bottom: 20px; } @@ -251,16 +163,10 @@ td:not([align]) { .o_mail_footer_links { padding-top: 10px; padding-bottom: 10px; - - .btn-link{ - padding: 0; - font-size: 12px; - } } .o_mail_footer_copy { font-size: 9px; - font-weight: bold; color: lighten($o-mm-def-text-color, 30%); } @@ -269,41 +175,26 @@ td:not([align]) { text-align: center; } } - - &.o_mail_footer_social_left { - .o_mail_footer_description { - padding-left: 20px; - } - .o_mail_footer_social { - padding-right: 20px; - text-align: right; - vertical-align: top; - - .btn-link{ - padding: 0; - font-size: 12px; - } - } - } - td { - vertical-align: middle; - } } -.o_mail_display_coupon { - font-size: 50px; - line-height: 1; +// -- Bootstrap overrides for transparent colors -- // + +.list-group .list-group-item { + border-color: #d2d2d2; + +} + +.card { + border-color: #d2d2d2; + .card-header,.card-footer { + background-color: inherit!important; + } + .card-body { + background-color: white!important; + } } // ===== Misc ===== -.o_mail_h_padding { - padding-left: 20px; - padding-right: 20px; -} -.o_mail_v_padding { - padding-top: 20px; - padding-bottom: 20px; -} .o_mail_no_margin { margin: 0; @@ -311,6 +202,7 @@ td:not([align]) { line-height: 1.1; } } + .o_mail_table_styles { width: 100%; border-collapse:separate; @@ -321,6 +213,6 @@ td:not([align]) { // classes may remain on clients' templates,

are forced to 0 margin to // be sure (normally should not consider margin properties but some mail // clients might make the mistake to do so). -td[class*="mb"], td[class*="mt"] { +div.col[class*="mb"], div.col[class*="mt"] { margin: 0!important; } diff --git a/addons/mass_mailing/static/src/snippets/s_alert/000.scss b/addons/mass_mailing/static/src/snippets/s_alert/000.scss new file mode 100644 index 00000000000..7b6988a4063 --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_alert/000.scss @@ -0,0 +1,28 @@ + +.s_mail_alert { + margin: $grid-gutter-width/2 0; + border-width: $alert-border-width; + border-style: solid; + border-radius: $alert-border-radius; + p, ul, ol { + &:last-child { + margin-bottom: 0; + } + } + &_sm { + padding: $grid-gutter-width/3; + font-size: $font-size-sm; + } + &_md { + padding: $grid-gutter-width/2; + font-size: $font-size-base; + } + &_lg { + padding: $grid-gutter-width; + font-size: $font-size-lg; + } + &_icon { + float: left; + margin-right: 10px; + } +} diff --git a/addons/mass_mailing/static/src/snippets/s_blockquote/options.js b/addons/mass_mailing/static/src/snippets/s_blockquote/options.js new file mode 100644 index 00000000000..34bfe54a0f2 --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_blockquote/options.js @@ -0,0 +1,45 @@ +odoo.define('mass_mailing.s_blockquote_options', function (require) { +'use strict'; + +const options = require('web_editor.snippets.options'); + +options.registry.Blockquote = options.Class.extend({ + + //-------------------------------------------------------------------------- + // Options + //-------------------------------------------------------------------------- + + /** + * Change blockquote design. + * + * @see this.selectClass for parameters + */ + display: function (previewMode, widgetValue, params) { + + // Classic + this.$target.find('.s_blockquote_avatar').toggleClass('d-none', widgetValue !== 'classic'); + + // Cover + const $blockquote = this.$target.find('.s_blockquote_content'); + if (widgetValue === 'cover') { + $blockquote.css({"background-image": "url('/web/image/mass_mailing.s_blockquote_cover_default_image')"}); + $blockquote.addClass('oe_img_bg o_bg_img_center'); + if (!$blockquote.find('.o_we_bg_filter').length) { + const bgFilterEl = document.createElement('div'); + bgFilterEl.classList.add('o_we_bg_filter', 'bg-white-50'); + $blockquote.prepend(bgFilterEl); + } + } else { + $blockquote.css({"background-image": ""}); + $blockquote.css({"background-position": ""}); + $blockquote.removeClass('oe_img_bg o_bg_img_center'); + $blockquote.find('.o_we_bg_filter').remove(); + $blockquote.find('.s_blockquote_filter').contents().unwrap(); // Compatibility + } + + // Minimalist + this.$target.find('.s_blockquote_icon').toggleClass('d-none', widgetValue === 'minimalist'); + this.$target.find('footer').toggleClass('d-none', widgetValue === 'minimalist'); + }, +}); +}); diff --git a/addons/mass_mailing/static/src/snippets/s_features_grid/000.scss b/addons/mass_mailing/static/src/snippets/s_features_grid/000.scss new file mode 100644 index 00000000000..7e1343c4f92 --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_features_grid/000.scss @@ -0,0 +1,12 @@ + +.s_mail_features_grid { + &_content { + overflow: hidden; + p { + margin-bottom: 0; + } + } + &_icon { + float: left; + } +} diff --git a/addons/mass_mailing/static/src/snippets/s_hr/000.scss b/addons/mass_mailing/static/src/snippets/s_hr/000.scss new file mode 100644 index 00000000000..410000e2f6b --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_hr/000.scss @@ -0,0 +1,11 @@ + +.s_hr { + line-height: 0; + hr { + padding: 0; + border: 0; + border-top: 1px solid currentColor; + margin: 0; + color: inherit; + } +} diff --git a/addons/mass_mailing/static/src/snippets/s_masonry_block/001.scss b/addons/mass_mailing/static/src/snippets/s_masonry_block/001.scss new file mode 100644 index 00000000000..3fb20e63438 --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_masonry_block/001.scss @@ -0,0 +1,11 @@ +.o_mail_snippet_general.s_masonry_block[data-vcss='001'] { + .row > div { + display: flex; + flex-direction: column; + justify-content: center; + } + .o_masonry_grid_container > .row { + height: 100%; + } + +} diff --git a/addons/mass_mailing/static/src/snippets/s_masonry_block/options.js b/addons/mass_mailing/static/src/snippets/s_masonry_block/options.js new file mode 100644 index 00000000000..506e9b9fe7a --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_masonry_block/options.js @@ -0,0 +1,16 @@ +odoo.define('mass_mailing.masonryOptions', function (require) { +'use strict'; + +const options = require('web_editor.snippets.options'); + +options.registry.MasonryLayout = options.registry.SelectTemplate.extend({ + /** + * @constructor + */ + init() { + this._super(...arguments); + this.containerSelector = '> .container, > .container-fluid, > .o_container_small'; + this.selectTemplateWidgetName = 'masonry_template_opt'; + }, +}); +}); diff --git a/addons/mass_mailing/static/src/snippets/s_media_list/001.scss b/addons/mass_mailing/static/src/snippets/s_media_list/001.scss new file mode 100644 index 00000000000..aae95e2c6a4 --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_media_list/001.scss @@ -0,0 +1,11 @@ +.s_media_list[data-vcss="001"] { + .s_media_list_item > .row { + overflow: hidden; // To support rounded option + } + .s_media_list_body { + padding: $spacer * 2; + } + .s_media_list_img { + object-fit: cover; + } +} diff --git a/addons/mass_mailing/static/src/snippets/s_media_list/options.js b/addons/mass_mailing/static/src/snippets/s_media_list/options.js new file mode 100644 index 00000000000..f5eba6c38d1 --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_media_list/options.js @@ -0,0 +1,50 @@ +odoo.define('mass_mailing.s_media_list_options', function (require) { +'use strict'; + +const options = require('web_editor.snippets.options'); + +options.registry.MediaItemLayout = options.Class.extend({ + + //-------------------------------------------------------------------------- + // Options + //-------------------------------------------------------------------------- + + /** + * Change the media item layout. + * + * @see this.selectClass for parameters + */ + layout: function (previewMode, widgetValue, params) { + const $image = this.$target.find('.s_media_list_img_wrapper'); + const $content = this.$target.find('.s_media_list_body'); + + for (const possibleValue of params.possibleValues) { + $image.removeClass(`col-lg-${possibleValue}`); + $content.removeClass(`col-lg-${12 - possibleValue}`); + } + $image.addClass(`col-lg-${widgetValue}`); + $content.addClass(`col-lg-${12 - widgetValue}`); + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + */ + _computeWidgetState(methodName, params) { + switch (methodName) { + case 'layout': { + const $image = this.$target.find('.s_media_list_img_wrapper'); + for (const possibleValue of params.possibleValues) { + if ($image.hasClass(`col-lg-${possibleValue}`)) { + return possibleValue; + } + } + } + } + return this._super(...arguments); + }, +}); +}); diff --git a/addons/mass_mailing/static/src/snippets/s_rating/000.scss b/addons/mass_mailing/static/src/snippets/s_rating/000.scss new file mode 100644 index 00000000000..968ee7d3f15 --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_rating/000.scss @@ -0,0 +1,55 @@ + +.s_rating:not([data-vcss]) { + $star: "\f005"; + $star-o: "\f006"; + $circle: "\f111"; + $circle-o: "\f10c"; + $heart: "\f004"; + $heart-o: "\f08a"; + @mixin s_rating_generate_icons($off, $on) { + .fa:before { + content: $off; + } + @for $counter from 5 to 0 { + &.s_rating_#{$counter} { + .fa:nth-of-type(-n+#{$counter}):before { + content: $on; + } + } + } + } + > .s_rating_stars { @include s_rating_generate_icons($star-o, $star); } + > .s_rating_squares { @include s_rating_generate_icons($circle-o, $circle); } + > .s_rating_hearts { @include s_rating_generate_icons($heart-o, $heart); } + > .s_rating_bar { + .fa { + display: none; + } + .s_rating_bar { + display: flex; + height: $progress-height; + background-color: $gray-300; + &:before { + content: ""; + display: flex; + flex-direction: column; + justify-content: center; + @include transition($progress-bar-transition); + @include gradient-striped(); + background-size: $progress-height $progress-height; + background-color: theme-color('primary'); + animation: progress-bar-stripes $progress-bar-animation-timing; + } + } + @for $counter from 5 to 0 { + &.s_rating_#{$counter} { + .s_rating_bar:before { + width: percentage($counter/5); + } + } + } + } + > .s_rating_1x { .fa { font-size: 1em; }; } + > .s_rating_2x { .fa { font-size: 2em; }; } + > .s_rating_3x { .fa { font-size: 3em; }; } +} diff --git a/addons/mass_mailing/static/src/snippets/s_rating/001.scss b/addons/mass_mailing/static/src/snippets/s_rating/001.scss new file mode 100644 index 00000000000..a1fc87c0996 --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_rating/001.scss @@ -0,0 +1,15 @@ + +.s_rating[data-vcss="001"] { + &.s_rating_inline { + display: flex; + align-items: center; + + .s_rating_title { + margin: 0; + margin-right: 0.5em; + } + .s_rating_icons { + margin-left: auto; + } + } +} diff --git a/addons/mass_mailing/static/src/snippets/s_rating/options.js b/addons/mass_mailing/static/src/snippets/s_rating/options.js new file mode 100644 index 00000000000..ed6e493bccc --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_rating/options.js @@ -0,0 +1,151 @@ +odoo.define('mass_mailing.s_rating_options', function (require) { +'use strict'; + +const weWidgets = require('wysiwyg.widgets'); +const options = require('web_editor.snippets.options'); + +options.registry.Rating = options.Class.extend({ + /** + * @override + */ + start: function () { + this.iconType = this.$target[0].dataset.icon; + this.faClassActiveCustomIcons = this.$target[0].dataset.activeCustomIcon || ''; + this.faClassInactiveCustomIcons = this.$target[0].dataset.inactiveCustomIcon || ''; + return this._super.apply(this, arguments); + }, + + //-------------------------------------------------------------------------- + // Options + //-------------------------------------------------------------------------- + + /** + * Displays the selected icon type. + * + * @see this.selectClass for parameters + */ + setIcons: function (previewMode, widgetValue, params) { + this.iconType = widgetValue; + this._renderIcons(); + this.$target[0].dataset.icon = widgetValue; + delete this.$target[0].dataset.activeCustomIcon; + delete this.$target[0].dataset.inactiveCustomIcon; + }, + /** + * Allows to select a font awesome icon with media dialog. + * + * @see this.selectClass for parameters + */ + customIcon: async function (previewMode, widgetValue, params) { + return new Promise(resolve => { + const dialog = new weWidgets.MediaDialog( + this, + {noImages: true, noDocuments: true, noVideos: true, mediaWidth: 1920}, + $('') + ); + this._saving = false; + dialog.on('save', this, function (attachments) { + this._saving = true; + const customClass = 'fa ' + attachments.className; + const $activeIcons = this.$target.find('.s_rating_active_icons > i'); + const $inactiveIcons = this.$target.find('.s_rating_inactive_icons > i'); + const $icons = params.customActiveIcon === 'true' ? $activeIcons : $inactiveIcons; + $icons.removeClass().addClass(customClass); + this.faClassActiveCustomIcons = $activeIcons.length > 0 ? $activeIcons.attr('class') : customClass; + this.faClassInactiveCustomIcons = $inactiveIcons.length > 0 ? $inactiveIcons.attr('class') : customClass; + this.$target[0].dataset.activeCustomIcon = this.faClassActiveCustomIcons; + this.$target[0].dataset.inactiveCustomIcon = this.faClassInactiveCustomIcons; + this.$target[0].dataset.icon = 'custom'; + this.iconType = 'custom'; + resolve(); + }); + dialog.on('closed', this, function () { + if (!this._saving) { + resolve(); + } + }); + dialog.open(); + }); + }, + /** + * Sets the number of active icons. + * + * @see this.selectClass for parameters + */ + activeIconsNumber: function (previewMode, widgetValue, params) { + this.nbActiveIcons = parseInt(widgetValue); + this._createIcons(); + }, + /** + * Sets the total number of icons. + * + * @see this.selectClass for parameters + */ + totalIconsNumber: function (previewMode, widgetValue, params) { + this.nbTotalIcons = Math.max(parseInt(widgetValue), 1); + this._createIcons(); + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + */ + _computeWidgetState: function (methodName, params) { + switch (methodName) { + case 'setIcons': { + return this.$target[0].dataset.icon; + } + case 'activeIconsNumber': { + this.nbActiveIcons = this.$target.find('.s_rating_active_icons > i').length; + return this.nbActiveIcons; + } + case 'totalIconsNumber': { + this.nbTotalIcons = this.$target.find('.s_rating_icons i').length; + return this.nbTotalIcons; + } + } + return this._super(...arguments); + }, + /** + * Creates the icons. + * + * @private + */ + _createIcons: function () { + const $activeIcons = this.$target.find('.s_rating_active_icons'); + const $inactiveIcons = this.$target.find('.s_rating_inactive_icons'); + this.$target.find('.s_rating_icons i').remove(); + for (let i = 0; i < this.nbTotalIcons; i++) { + if (i < this.nbActiveIcons) { + $activeIcons.append(' '); + } else { + $inactiveIcons.append(' '); + } + } + this._renderIcons(); + }, + /** + * Renders icons with selected fonts. + * + * @private + */ + _renderIcons: function () { + const icons = { + 'fa-star': 'fa-star-o', + 'fa-thumbs-up': 'fa-thumbs-o-up', + 'fa-circle': 'fa-circle-o', + 'fa-square': 'fa-square-o', + 'fa-heart': 'fa-heart-o' + }; + const faClassActiveIcons = (this.iconType === "custom") ? this.faClassActiveCustomIcons : 'fa ' + this.iconType; + const faClassInactiveIcons = (this.iconType === "custom") ? this.faClassInactiveCustomIcons : 'fa ' + icons[this.iconType]; + const $activeIcons = this.$target.find('.s_rating_active_icons > i'); + const $inactiveIcons = this.$target.find('.s_rating_inactive_icons > i'); + $activeIcons.removeClass().addClass(faClassActiveIcons); + $inactiveIcons.removeClass().addClass(faClassInactiveIcons); + }, +}); +}); diff --git a/addons/mass_mailing/static/src/snippets/s_showcase/options.js b/addons/mass_mailing/static/src/snippets/s_showcase/options.js new file mode 100644 index 00000000000..24fe62da8bf --- /dev/null +++ b/addons/mass_mailing/static/src/snippets/s_showcase/options.js @@ -0,0 +1,19 @@ +odoo.define('mass_mailing.s_showcase_options', function (require) { +'use strict'; + +const options = require('web_editor.snippets.options'); + +options.registry.Showcase = options.Class.extend({ + /** + * @override + */ + onMove: function () { + const $showcaseCol = this.$target.parent().closest('.row > div'); + const isLeftCol = $showcaseCol.index() <= 0; + const $title = this.$target.children('.s_showcase_title'); + $title.toggleClass('flex-lg-row-reverse', isLeftCol); + $showcaseCol.find('.s_showcase_icon.ml-3').removeClass('ml-3').addClass('ml-lg-3'); // For compatibility with old version + $title.find('.s_showcase_icon').toggleClass('mr-lg-0 ml-lg-3', isLeftCol); + }, +}); +}); diff --git a/addons/mass_mailing/tests/test_mailing_ui.py b/addons/mass_mailing/tests/test_mailing_ui.py index 808bb608d1c..10f8801eb07 100644 --- a/addons/mass_mailing/tests/test_mailing_ui.py +++ b/addons/mass_mailing/tests/test_mailing_ui.py @@ -20,4 +20,4 @@ class TestUi(HttpCaseWithUserDemo): # for email client compatibility should be saved in body_html. This # ensures both fields have different values. self.assertEqual(mail.body_arch, '


') - self.assertEqual(mail.body_html, '


') + self.assertEqual(mail.body_html, '


') diff --git a/addons/mass_mailing/views/assets.xml b/addons/mass_mailing/views/assets.xml index cb93b2e7113..2540cc69d34 100644 --- a/addons/mass_mailing/views/assets.xml +++ b/addons/mass_mailing/views/assets.xml @@ -4,6 +4,12 @@ + + + +