Commit Graph
661 Commits
Author SHA1 Message Date
qsm-odoo c6561929f3 [REF] web_editor, *: review data-js + data-option-name duplicate
*: mass_mailing, website

Commit [1] introduced data-option-name allowing to name snippet options
without data-js so that their automatic snippet-option-XXX class was
not snippet-option-undefined. This was indeed useful to target specific
options in tours.

The attribute is however a complete duplicate of data-js (if you use
one or the other, it does exactly the same thing). Indeed, you can
define a data-js without a linked JS class (as it is already done). And
if you define both expecting the class using data-option-name but the JS
used from data-js that won't be the case, data-option-name is simply
ignored.

This removes data-option-name. This prepares refactorings that will be
done in the future:

- The way to define option in XML will be reviewed (probably client
  side definitions, probably OWL templates).

- Adding data-js will probably require a JS class to exist, but all
  option definitions of Odoo will declare one to ease extensions and
  stable fixes.

Those are theoretical at this point though. This commit main focus is
simplifying the code.

[1]: https://github.com/odoo/odoo/commit/7b0a147cd43e8e890ebe5a882292a69a5c8c90ac

closes odoo/odoo#103988

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-10-26 12:23:09 +02:00
Romain Estievenart 06948a763e [IMP] *: adapt bundle to support dark mode switch
This commit adapt all bundle to support dark mode

task-2710677

Part-of: odoo/odoo#102868
2022-10-11 13:15:54 +02:00
Antoine Guenet 8a74c1f793 [FIX] web_editor, mass_mailing: properly resize mass_mailing iframe
The iframe in mass_mailing is self-resizing in order to avoid having two
vertical scrollbar side by side. This failed since the conversion to OWL
due to the vertical offset added when resizing having become
insufficient. This adds a class to the <html> element of the iframe to
identify when it's in the context of mass_mailing so we can remove the
overflow visible style that is not needed in this context. This allows
us to remove that vertical offset altogether since the scrollbar
disappeared.

X-original-commit: 4f538911d68afdeca0253f15c9e8ffdbed4e995c
Part-of: odoo/odoo#102734
2022-10-10 10:54:05 +02:00
Arthur Detroux (ard)andqsm-odoo 84f6010fc1 [FIX] mass_mailing, *: fix options conflicts between modules
*: web_editor, website

Prior to this commit, the template structure for declaring the snippet
options used in a specific context (website, mass_mailing, ...) made it
hard to easily modify SnippetOptions defined in web_editor.

Indeed, the structure was as below
```xml
<template>
    <t t-call="web_editor.snippet_options" />
    ... Additional Options ...
</template>
```
If someone wanted to alter the behaviour of an option from web_editor
for their module, they had 2 solutions

- To extract that option inside another template, extend that template
inside their own module, remove its call from web_editor and instead
call manually the option inside each module (preferred method)

- To impact the web_editor template directly with an extension instead
of a new primary template or override JS options using include or
replacing an option inside the registry.

The second solution was often used but created extra code to make sure
that other modules were not impacted... and it was often not properly
done. For example:

- [1] and [2] introduced javascript code inside the web_editor options
  and isolating it by checking if they are in fact, inside mass_mailing.

- [3] adds code in mass_mailing mentioning JS classes of website, and
  actually broke parallax for website (after [5]).

- [4] broke the image transform option for website (after [5]).

- [6] added some shapes for mass mailing images but ended up adding them
  for the website builder too.

- [7] created different images options for mass_mailing... but ended up
  impacting website options too. Half of those can actually either be
  put in web_editor to improve everything or just in mass_mailing to not
  break the website.

- ...

This commit tries to fix everything "the right way" in master (and will
be backported for the recent 16.0). Other stable fixes will need to be
made to restore the website options in a stable way.

To fix that, this commit changes the structure to
```xml
<template inherit_id="web_editor.snippet_options" primary="True">
    <xpath ...>
        ... Change existing options ...
    </xpath>
    <xpath expr="." position="inside">
        ... Additional options ...
    </xpath>
</template>
```
This allows each module to modify the existing web_editor templates
without impacting it and each other. They can even change the JS
behaviour by using an XPath to replace the data-js of an option, and
changing it to their own extended version of the JS option.

[1]: https://github.com/odoo/odoo/commit/f296992317e96562c66bd7ad59a5080d6c551ed5#diff-df5e4ff426027c53ebe6e25c25820fb92237c17a036f6202a93e5ca681ec8c16R134-R138
[2]: https://github.com/odoo/odoo/commit/cd403480f90cf7103651f3be818a14b06d3c73ca#diff-df5e4ff426027c53ebe6e25c25820fb92237c17a036f6202a93e5ca681ec8c16R175
[3]: https://github.com/odoo/odoo/commit/e9237ae8004502a3071e8ceb132d9dac11fe00b3#diff-df5e4ff426027c53ebe6e25c25820fb92237c17a036f6202a93e5ca681ec8c16R372
[4]: https://github.com/odoo/odoo/commit/ff422df49201be6ed7baa11ef3deb5b9a41042a7
[5]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b
[6]: https://github.com/odoo/odoo/commit/24a4c7f897d4db6bdf0f3cbfc91a3ce7351241a2
[7]: https://github.com/odoo/odoo/commit/d0c2d8e9a1436a8eaf263797c790329f81d7615b

closes odoo/odoo#99850

Related: odoo/design-themes#597
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: qsm-odoo <qsm@odoo.com>
2022-10-04 17:01:17 +02:00
Florian Charlier 740df02e35 [FIX] mass_mailing: fix kanban card joined contents
Purpose: split words with whitespace, as it's usually done.

Task-3004148

closes odoo/odoo#102021

X-original-commit: 0504aff9e4ffd731f3457126385b35f426877f56
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-10-04 13:29:06 +02:00
Patrick Hoste 34f1274fe6 [IMP] mass_mailing: add a mobile preview to mailing editor
PURPOSE

With this commit you can now see how the mailing you're creating
will look like on a mobile.

LINKS

Task-2818037

closes odoo/odoo#101822

X-original-commit: 2b195390e15c9ed3b54f0adf0afc439f06429616
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-10-02 12:19:41 +02:00
Damien Bouvy 16f2a88396 [IMP] various: adapt to always edit mode
With the change to 'always edit' on form views by default, several
'oe_read_only' fields had to be modified to play nice with the fact
that in most cases, there is no read_only mode

closes odoo/odoo#101188

X-original-commit: 868992abeeda983768323e1126b5643eff8fdb33
Related: odoo/enterprise#31810
Signed-off-by: Bouvy Damien (dbo) <dbo@odoo.com>
2022-09-26 19:55:44 +02:00
Pierre-Yves Dufays 5ae80f1dcc [FIX] mass_mailing: render placeholder in mailing web view
The placeholders were rendered as empty string in the web version of the
mailing (accessed through the "view online" link in the email). This fixes the
problem.

Technical note: we cannot use mail_mail.body_html (which contains already the
rendered placeholder for the specific user) as it is marked for deletion so we
render it from mailing_mailing.body_html.

Task-2954282

closes odoo/odoo#100984

X-original-commit: 6b2d5db762ef198e9f07af95116c166b027eb383
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-09-23 14:36:52 +02:00
qsm-odoo 08dcbc8f1d [IMP] web, *: move assets_common files directly inside assets_frontend
*: auth_password_policy, bus, calendar, event, mass_mailing, stock,
   survey, web_editor, web_tour, website, website_event, website_forum,
   website_mass_mailing, website_sale

This commit is a first step towards a potential deletion of the
assets_common bundle, although that step would need more work, specs and
discussions as some layouts kinda only use the assets_common bundle
(some take the full assets_common but parts of the assets_backend one
for example).

The main goal of this commit is to have the assets_frontend bundle
directly include the "common" files we need. As a first step, this
commit only blindly duplicates them all into assets_frontend (without
removing the potentially useless ones). The goal is to have those
advantages:

- Reaching a frontend page only calls two main JS files (one normal and
  one lazy-loaded) instead of 4 (two normals and two lazy-loaded). This
  may help reach a better google page speed (which is becoming more and
  more strict).

- The frontend CSS is built as one: the common SCSS which was using
  bootstrap variables, or even Odoo-based SCSS added by mistake in
  common instead of both backend and frontend is now computed with the
  right bootstrap customizations. E.g. the tempusdominus datetimepickers
  use bootstrap grays... after this PR, they use the right grays as
  customized by the user on the website.

It was also chosen to not have a common "sub-asset" which is included in
assets_frontend. Making assets_frontend completely independent makes
sense (as it probably will for other "main" asset bundles): we can focus
on adding the files each layout needs without the need of worrying if it
impacts unrelated layouts. Sub-assets (when not strictly necessary) is
also a source of errors: extending the "main" bundle instead of the
right sub-asset it may use (like it was the case with the sub-assets of
assets_common: _assets_common_scripts and _assets_common_styles as
explained in the previous commit). So this is indeed a small drawback of
not factorizing the code for the inclusion of "common" files in bundles
but it seems more explicit and easier to maintain that way. Note that
adding "common" file is not the most common usecase anyway, apps
generally only need files in backend or frontend.
The __manifest__ declaration will also likely evolve in more and more
uses of wildcards to match entire directories. In the future, adding
"common" web-app files in both backend, frontend and other "main"
bundles could just be about one line duplicated into each bundle.

closes odoo/odoo#100314

Related: odoo/enterprise#31394
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2022-09-18 08:37:06 +02:00
Nicolas Bayet 10af6e83bf [IMP] web_editor,mass_mailing: adapt fields to use owl
- adapt the html field and mass_mailing_widget to be owl components
- adapt the mass mailing view to be an owl view

task-2898432

closes odoo/odoo#94875

Related: odoo/enterprise#30915
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-09-12 11:38:00 +02:00
Pierre-Yves Dufays ac67e6a8df [IMP] base,{fetch}mail,l10n_it_edi,{test}mass_mailing:prevent using arch server
Prevent archiving in-use mail servers by displaying an error message that
lists where it is still used, allowing to easily identify what need to be
updated before being able to archive the mail server.

Additionally,
- prevent the use of archived server as a fall-safe
- when duplicating a mailing with an archived mail server, replace mail
server by the default one

Detailed explanation:
1. A check has been added that raise an exception when trying to connect to the
smtp server or send an email when the server is archived.
With that solution,
- testing the connection of an archived server displays an error telling that
an archived server cannot be used.
- if a mail is still sent with an archived server, mail are in error :
"Connection failed (outgoing mail server problem)"
This fail-safe ensures that no mail will be sent through an archived mail server
and that the user will get some feedback about it.

The same fail-safe for the incoming mail server has been added.

Notes:
- the connection will outlive the archiving of a mail server still allowing
to send email through the archived server until the connection is closed. But
connection are not kept for long so this shouldn't be a problem.
- it cannot be tested because the connect method return immediately in test
mode.

2. When a mail server is archived, an user error is raised if it is in-use.
The implementation relies on each module to override the method
"_active_usages_compute" in "ir_mail_server" to complete the list with
user-friendly message describing the active elements that could send mail
through the mail server. This has been implemented for:
- l10n_it_edi: server used to send e-invoice
- mail: optional server configured for template
- mass_mailing:
-- default mail server
-- active server configured for mailing

Mail server are referenced in other elements but are not active anymore, it is
just for temporary or history purpose. Those references doesn’t prevent the
archiving of the mail server:
- mail_message
- wizard survey_invite and compose_message
- res_config_settings

Task-2821516

closes odoo/odoo#91240

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-09-01 15:32:44 +02:00
Denis Ledoux 8b91cab67f [IMP] base: remove groups_id from ir.ui.view
The goal of this revision is to get rid of the `groups_id` field of the model `ir.ui.view`.

- This feature wasn't really known or used by most developers,
   and not straight-forward to understand.
   Removing it allows one less complicated thing to learn for developers.
   Besides, thanks to odoo/odoo#95729,
   changing the behavior of the `groups=` attribute,
   we can easily get rid of this `groups_id` feature
   by simply adding `groups=` in the elements of the views
   using the `groups_id` field, it will have the same effect:
   adding the elements in the view only for the users part of the specified group.

- By getting rid of the groups_id many2many field on ir.ui.view,
   it makes possible to cache the view architecture without
   requiring to use the groups in the cache key.
   Currently, if we want to cache the view architecture,
  it would be required to use the intersection of the user
  groups with the groups_id groups of the view,
  making it costly to compute the cache key,
  therefore altering the performance point to cache the view
  architectures.

Part-of: odoo/odoo#98551
2022-08-29 22:42:50 +02:00
Sébastien Geelen (sge) d32a8c53c2 [IMP] web,web_editor,mass_mailing,sms: new dynamic placeholder
Introduce a new Dynamic Placeholder Generator
in mass mailing and SMS creation.

Using a specific character (#) in subject or via the PowerBox in body
we open a field selector popup, which can be use to select
the wanted field and enter a default value. on validation, the dynamic
placeholder will be inserted in the corresponding input/editable.

task-2154624

closes odoo/odoo#71878

Related: odoo/enterprise#30333
Related: odoo/upgrade#3766
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-08-26 17:16:10 +02:00
Sébastien Geelen (sge) 1a82c91524 [IMP] mail,sms,mass_mailing_*: remove dynamic placeholder tab
We remove the existing dynamic placeholder generator tab,
in mail and sms creation views.
In preparation of the implementation of a new way to generate
the dynamic placeholders

task-2154624

Part-of: odoo/odoo#71878
2022-08-26 17:16:09 +02:00
Denis Ledoux 0501bbd62e [IMP] base: uniform "groups" in back-end view
This revision is to make uniform the behavior of the `groups` attribute
on the Python model fields
and on the node in the view architecture.
In both cases, remove the node from the view completely.

Before this revision,

in a back-end view:
 - In the Python model, if a field has the `groups` attribute set
   and the user is not part of
   the groups, the field is removed, completely, from the view.
 - In the view architecture, if a node has the `groups` attribute set
   and the user is not part of
   the groups, the node is made invisible (not completely removed, just
   made invisible).

in a front-end view:
 - if a node has a "groups" or "t-groups" set and the user
   is not part of the groups, the node is removed from the view.

So it's 2/3 cases removing nodes restricted to a group.
and 1/3 case making invisible nodes restricted to a group.
It's simpler to have a uniform behavior for the 3 cases,
simpler to understandard for developers.

In addition, this will help for the goal to cache back-end views.
It makes possible to convert views using the `groups_id` field
by moving the content of these views directly
in the view to which they add content which is suppose to be completely
removed when the user has not the according group.
By getting rid of the `groups_id` many2many field on `ir.ui.view`,
it makes possible to cache the view architecture without
requiring to use the groups in the cache key.
Currently, if we want to cache the view architecture,
it would be required to use the intersection of the user
groups with the `groups_id` groups of the view,
making it costly to compute the cache key,
therefore altering the performance point to cache the view
architectures.

closes odoo/odoo#95729

Related: odoo/enterprise#29592
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
2022-08-19 19:10:39 +02:00
David Monjoie 4b31c2f065 [FIX] mass_mailing: update showcase snippet to bs5
closes odoo/odoo#98247

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-08-17 12:45:17 +02:00
ijas ahammed 080efbb9d2 [IMP] mass_mailing: shorten action button string
This commit shortens the action button string from 'Send new Mailing'
to 'Send Mailing' in campaign form view

TaskID-2653806

Part-of: odoo/odoo#77768
2022-08-12 11:28:31 +02:00
ijas ahammed 0714966042 [IMP] {mass_mailing}_sms: add A/B Test related info in campaign
This commit adds a new group `ab_test_group` after notebook of campaign form
view, which displays A/B test related information. Below are the fields
displayed within the group:

 - ab_testing_winner_selection
 - ab_testing_schedule_datetime

They will become readonly as soon as the the A/B testing is completed.

Apart from that, this commit makes the mailing/sms mailing lines editable.

TaskID-2653806

Part-of: odoo/odoo#77768
2022-08-12 11:28:31 +02:00
ijas ahammed 87e538dd1d [IMP] {mass_mailing}_sms: update the embed tree view on campaign
This commit improves the embedded tree view of mailings, sms within
a campaign, and makes it uniform with the original tree views.

However, due to lack of space, we display the stats simply in
numeric format instead using progressbar widget.

Also, to save a bit space, if no mailing, sms has A/B testing
enabled, we hide that column.

Apart from that we have added sum for the field `sent` and average
for these fields,

- recieved_ratio
- opened_ratio
- clicks_ratio
- replied_ratio
- clicked
- bounced

TaskID-2653806

Part-of: odoo/odoo#77768
2022-08-12 11:28:31 +02:00
Elisabeth Dickinson 715e73b01e [IMP] mass_mailing: add padding-x option to snippets
An extra option is added in order to have control over the paddings.
Snippets using the `px-3` class have had it replaced with inline styles
and now have the padding option in the builder.

This was initially done for the media_list snippet, but it seems it's
useful for many more snippets.

Part-of: odoo/odoo#95940
2022-08-11 17:56:26 +02:00
Elisabeth Dickinson a559fe4aae [MOV] mass_mailing: rename, move and remove images
Old thumbnails for deprecated snippets have been removed. The
other snippet thumbnails have been grouped together in same folder.

Some images are unnecessary since the new mail builder, some are simply
not used anywhere.
The references snippet is limited to four images, adding more columns
will copy the last column's image, so no need for images 5 and 6.

The basic template doesn't allow snippets - the editor doesn't even
appear - since no snippets can be added, their images are unnecessary in
the templates image folder.
In all cases, the drag&dropped snippets, even from other templates,
use the theme_default images and not the templates' images.

Move all images in snippets_demo folder to theme_default folder

For more consistency, default images have been renamed according to
their snippet names

Part-of: odoo/odoo#95940
2022-08-11 17:56:25 +02:00
Elisabeth Dickinson 73160feed7 [IMP] mass_mailing: revamp of the event snippet
This snippet is now similar to the one being used in the web editor.
What was once a single event on three columns is now two events on
two columns.
The snippet's thumbnail has been redesigned to correspond to the
snippet's new design.

Part-of: odoo/odoo#95940
2022-08-11 17:56:25 +02:00
Elisabeth Dickinson 2815fe0807 [IMP] mass_mailing: remove data-snippet attribute on snippets
We shouldn't add a data-snippet in the declaration of a snippet,
as they are meant to be drag & dropped, the editor/right panel is going
to add that for you. We generally add them when we copy paste a snippet
definition into another view directly in our sources (ie: template)

Ref: https://github.com/odoo/odoo/pull/87059#discussion_r866903584
Part-of: odoo/odoo#95940
2022-08-11 17:56:25 +02:00
Elisabeth Dickinson d5c7f2b208 [IMP] mass_mailing: title snippet improved
Bootstrap text align class is replaced with inline style

Part-of: odoo/odoo#95940
2022-08-11 17:56:24 +02:00
Elisabeth Dickinson 128e3baca8 [IMP] mass_mailing: text_highlight snippet improved
Replace bootstrap class for text alignment with inline styles
Remove Horizontal alignment on whole snippet to allow individual 
alignment on <h3> and <p> elements.

Part-of: odoo/odoo#95940
2022-08-11 17:56:24 +02:00
Elisabeth Dickinson 14ee23fa0a [IMP] mass_mailing: text_block snippet improved
Remove unnecessary classes

Part-of: odoo/odoo#95940
2022-08-11 17:56:24 +02:00
Elisabeth Dickinson bffada1463 [IMP] mass_mailing: showcase snippet revamped
There used to be a middle column to allow for a border between
the two columns, but this was selectable (not editable) with the mailing
builder.
`.o_no_editable` or other similar classes didn't seem to work.
Instead, the snippet has been revamped by removing the middle column and
adding a right border to the second column on each row.
This border is not yet editable in the builder, so the user cannot
adapt the width/color/style yet.

Bootstrap classes for text alignment have been replaced w/ inline styles

Part-of: odoo/odoo#95940
2022-08-11 17:56:24 +02:00
Elisabeth Dickinson b52806fcf0 [IMP] mass_mailing: references snippet improved
Replace bootstrap class for text alignment with inline style

Part-of: odoo/odoo#95940
2022-08-11 17:56:23 +02:00
Elisabeth Dickinson f6c49e8c40 [IMP] mass_mailing: rating snippet improved
Changed `h4` to `h3`.
Removed padding when inside another snippet which already has its own
padding.

Part-of: odoo/odoo#95940
2022-08-11 17:56:23 +02:00
Elisabeth Dickinson 2a29f373f0 [IMP] mass_mailing: product_list snippet improved
Replaced bootstrap classes by inline styles and removed
`.o_default_snippet_text`.
Wrapping the `<a>` in a `<p>` allows the user to align the button
separately from the text.
On mobile, the columns are stacked, the paddings top and bottom are thus
moved to the columns to allow top and bottom spacing between them.

Part-of: odoo/odoo#95940
2022-08-11 17:56:23 +02:00
Elisabeth Dickinson fd22c5f974 [IMP] mass_mailing: picture snippet improved
Replaced bootstrap classes by inline styles and removed unused
`.figure-caption` class.

Allow columns and give image `max-width: 100%`

As the "thumbnail" option (in the image's Style option) is to be removed,
the `.img-thumbnail` class has been removed from the image.

The result can be done with the "padding" option already available on
images and the "border" widget that is to be added for its border-radius
option.
It is only missing a background-color to get the same result as the
styling given with the removed `.img-thumbnail` class.

Note: The styles are directly applied to the image element but Outlook
would need the styles to be applied to a wrapping element instead.
Outlook doesn't support styling directly on images.

Part-of: odoo/odoo#95940
2022-08-11 17:56:23 +02:00
Elisabeth Dickinson 125bf5552e [IMP] mass_mailing: numbers snippet improved
Replaced bootstrap classes by inline styles and removed
`.o_default_snippet_text` and `.s_number` classes which aren't needed.

`<h5>` is no longer supported, it's been changed to `<p>`.
Added `.o_cc` on columns to allow background color edition with builder.

Part-of: odoo/odoo#95940
2022-08-11 17:56:22 +02:00
Elisabeth Dickinson e4cb8959cb [IMP] mass_mailing: media_list snippet improved
Padding improvements and removal of margin-bottom as this can't be done
with the builder.

Part-of: odoo/odoo#95940
2022-08-11 17:56:22 +02:00
Elisabeth Dickinson cd65d800b4 [IMP] mass_mailing: image_text and text_image snippets improved
Replaced bootstrap classes by inline styles.
Added .o_cc on columns to allow background color edition with builder.

Part-of: odoo/odoo#95940
2022-08-11 17:56:22 +02:00
Elisabeth Dickinson 46b527f9f7 [REM] mass_mailing: footer_tag_line snippet removed
This snippet is already no longer in use.
The snippet is very similar to the call_to_action snippet

[REM] mass_mailing: title_text snippet removed

This snippet is already no longer in use.
In order to get the same result, we can use a combination of the title
and the text snippets.

Part-of: odoo/odoo#95940
2022-08-11 17:56:22 +02:00
Elisabeth Dickinson 66cc95830d [IMP] mass_mailing: features snippet improved
Replaced bootstrap classes by inline styles. Added .o_cc on columns to
allow background color edition with builder.

Mobile stacks the columns, the paddings top and bottom are thus moved to
the columns to allow top and bottom spacing between them.

Part-of: odoo/odoo#95940
2022-08-11 17:56:21 +02:00
Elisabeth Dickinson 1789d2d505 [IMP] mass_mailing: features_grid snippet improved
Replaced bootstrap classes by inline styles and removed unused classes.
`<h4>` and `<h5>` are no longer supported, these have been changed to
`<p>` or `<h3>`.
Added .o_cc on columns to allow background color edition with builder.

Part-of: odoo/odoo#95940
2022-08-11 17:56:21 +02:00
Elisabeth Dickinson 577e3fc1b5 [IMP] mass_mailing: coupon_code snippet improved
Replace bootstrap classes by inline styles.
Added a <p> around the ENDOFSUMMER20 text so it can be edited with the
design-tab along with other text.
A `.o_mail_no_margin` class is added to the <p> element otherwise the
text isn't vertically centered inside the the table cell.

Part-of: odoo/odoo#95940
2022-08-11 17:56:21 +02:00
Elisabeth Dickinson b0ba58ede3 [IMP] mass_mailing: comparisons snippet improved
Removed unnecessary classes and replaced bootstrap classes with inline
styles.
Removed `.btn-block` classes because it isn't an option supported
by the builder.
The `<li>`'s `.list-group-item` class overrides the design-tab's text
color. For this particular case, the list elements have a `<p>` added
around the text.

When selecting text inside the second block's list and backspacing,
the line would become purple and impossible to remove. This was probably
due to the text being inside a <span> inside a <p> (this issue isn't 
present in the first block which only contains <p> elements).

Part-of: odoo/odoo#95940
2022-08-11 17:56:21 +02:00
Elisabeth Dickinson 9bdbb4440d [IMP] mass_mailing: company_team snippet improved
Placed all the columns in a single row, litmus tests approve.
Removed unnecessary classes which prevented to move columns around and
add background colors to the columns.
Also changed all `<h4>`s into `<h3>`s

Part-of: odoo/odoo#95940
2022-08-11 17:56:20 +02:00
Elisabeth Dickinson f2cb22cab0 [IMP] mass_mailing: color_blocks snippet improved
Replace bootstrap class for text alignment with inline style

Wrapping the `a` inside a `p` and placing the text alignment on the `h2`
and `p`s allows the user to align the elements individually.

Part-of: odoo/odoo#95940
2022-08-11 17:56:20 +02:00
Elisabeth Dickinson f8b3782b44 [IMP] mass_mailing: call-to-action snippet improved
General improvements and removal of btn-block class as this is not
an option with the builder.

Part-of: odoo/odoo#95940
2022-08-11 17:56:20 +02:00
Elisabeth Dickinson 9c7264fb48 [IMP] mass_mailing: blockquote snippet improved
Removed unnecessary classes and placed necessary styles as inline styles
for better support by the builder.

Removed options.js which allows to change the blockquote's style as in
the web editor, but none of the other options is well supported in
emails. Due to this change, the blockquote's cover image is removed.

Changes to text done via the Design tab in the builder weren't being
applied to text inside `<span>`, so this has been changed to a `<p>`
element in order for the changes to be applied.

Part-of: odoo/odoo#95940
2022-08-11 17:56:20 +02:00
Elisabeth Dickinson 7eda17fd4d [IMP] mass_mailing: alert snippet improved
Structure and styling changed to allow padding X when this snippet is
not inside another snippet. Otherwise the alert block, in w-100, didn't
have any space between the edge of the email template and the block.

The "Type" option wasn't working: as all the elements can be changed
with other options anyway, the code for this one has been removed
instead of trying to fix it.

Part-of: odoo/odoo#95940
2022-08-11 17:56:19 +02:00
Elisabeth Dickinson bc48e48528 [IMP] mass_mailing: o_discount1 snippet improved and updated
Column classes have been updated and outdated classes ones have been
removed.
Paddings have been improved for better display on mobile.

Part-of: odoo/odoo#95940
2022-08-11 17:56:19 +02:00
Elisabeth Dickinson 2e3ecc52b5 [IMP] mass_mailing: header snippets improved
Previously, the social icons column could not be resized and we couldn't
change their alignment. This is now possible by removing the extra div
surrounding the social links.

A general cleanup has been done.
The order of the classes is more consistent.
Unused classes (ie: `o_mail_table_styles`) have been removed.
Text-align classes have been replaced by inline styles.

Part-of: odoo/odoo#95940
2022-08-11 17:56:19 +02:00
Elisabeth Dickinson 8db441a283 [IMP] mass_mailing: improve theme_default and default SCSS
In previous versions of templates, all the styles were needed in every
template in `<styles id="design-element">`. This is no longer the
case and it has been cleaned up to only use the styles that differ from
the "default" ones found in the  `mass_mailing_design_constants.js` file.

There was a priority problem (ex: `a.btn` inside `p` takes
`p`'s text color instead of `.btn`), this is resolved by placing the
default styling in `theme_default.css`

`theme_default.scss` contained classes that were no longer necessary or
would override styles from the builder. These have been removed from the
SCSS file and from snippets and templates where these were applied.
If the styles are needed, they should be added as inline styles.

The theme_default template was calling snippets with `t-call`
which prevented customization of the theme.
Snippets have been added in full with further customization.

task-2835454

Part-of: odoo/odoo#95940
2022-08-11 17:56:18 +02:00
Elisabeth Dickinson 7b370d28f7 [IMP] mass_mailing: amend icons alignment
Since removing the "Styles" option and the CSS that went with it, 
there is an issue with the center alignment on icons. 
Indeed, having a fixed width/height value on `fa.rounded` allowed the 
icon to be centered along with its background. 
By removing the fixed with/height values, the center alignment 
(using `.mx-auto` and `.d-block`) would center the icon but stretch the 
background color to the full width of the parent.

To achieve the same result, the cheat is to set the
default value of the wrapping block to text-center and remove 
`.mx-auto` and `.d-block`.

closes odoo/odoo#95974

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-08-09 11:32:08 +02:00
Elisabeth Dickinson f4995f5600 [IMP] mass_mailing: adapt snippets with rounded images
As mentioned in the previous commit, the circle in the `Styles` option
has been replaced by a shape.
Previously we used `.rounded-circle` on images to make them round,
now we use the new circle shape from the `Shapes` option to achieve
the same effect.
This change has been applied on the snippets' images.
Snippets containing icons with these options have also been modified.

In the builder, the `Shapes` option generates a second image (circle)
from an original source (square image) and applies various
data-attributes.
In order for the option to function correctly on snippets,
the different data-attributes such as `data-original-src` and
`data-shape` have been added manually to the snippet's images.
This creates a need for an original image and a shaped version of the
image in the repo.

task-2836942

Part-of: odoo/odoo#95974
2022-08-09 11:32:07 +02:00
Elisabeth Dickinson 24a4c7f897 [IMP] mass_mailing, web_editor: add basic img shapes, remove img Style
The `Styles` option contains styles which are unsupported in
emails. The few that are supported can be replaced by other options.
- Shadows: unsupported;
- Rounded rectangle: (unsupported in Outlook)
is replaced by the `Border` options which allows to customize the
border's radius more than the current option.
- Thumbnail: can be done with a combination of `Border` and `Padding`
- Circle: can be done with a shape
(which has been added along with other new shapes)

This option could be found on images and icons and has now been removed.
CSS styles in the `theme_default` file have also been removed since
they are no longer needed.

Three basic shapes (circle, triangle, "slanted" rectangle) have been
added to the `web_editor`'s `Basics` shapes page.
A condition was previously set on the page to avoid showing an empty
page. The condition is moved to each of its buttons instead, so that
new shapes added via xpath from `mass_mailing` to this page are now
visible.

task-2836942

Part-of: odoo/odoo#95974
2022-08-09 11:32:07 +02:00