Commit Graph
327 Commits
Author SHA1 Message Date
Umesh Gupta 458693e2ac [FIX] mass_mailing: enhance mass mailing template preview behavior
Currently, if user clicks the mass mailing template (theme) and holds
the click while moving the mouse (as if performing drag and drop), a
weird white highlight appears on the preview of the template.

This commit fixes the behavior by setting appropriate background color
instead of the default one of drop-down item, when the template is
focused.

task-2812312

closes odoo/odoo#89893

X-original-commit: e49f55e6f34486f8425653323544838f1a9fbd38
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-04-27 21:28:11 +02:00
Antoine Guenet 5764c74232 [FIX] mass_mailing: get styles for design tab from DOM
Before this commit, the design tab retrieved the current styles
exclusively from the `#design-element` style element. This meant that if
a template included that element to define its own styles, the defaults
were lost for the styles that it didn't define.
This reads the styles from the DOM instead so this is never an issue.

In order for the design tab to have values to read, we initialized the
`#design-tab` element with the css of the page. This was a temporary
workaround. Now that values are read via `getComputedStyle`, we don't
need it anymore.

task-2833420

closes odoo/odoo#89745

X-original-commit: e8f2f71f76f86bae84253374935fd7d14428746d
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-04-27 11:06:25 +02:00
Antoine Guenet e9237ae800 [FIX] mass_mailing: add background image options for masonry
The masonry snippet was recently imported from website into mass_mailing
but its background image options were omitted, making it impossible to
changes these images.

task-2824014

closes odoo/odoo#89690

X-original-commit: a226c26255dfabff2ac10ca3ec9b56d01feb0d7e
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-04-27 07:51:47 +02:00
Pierre-Yves Dufays daae6063cd [FIX] mass_mailing: fixes save filter glitch
In the mass mailing form, when clicking on the filter save button, the screen
was unexpectedly scrolling down. This fixes this problem.

Task-2793090

closes odoo/odoo#86789

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-04-21 17:41:41 +02:00
Benjamin Vray 53717c27d7 [FIX] web_editor, website, mass_mailing: fix snippets menu tabs
Before this commit, this bug was present in edit mode:

- Go into edit mode on an empty page.
- Click on the THEME tab on the right.
- Click on the empty "DRAG BUILDING BLOCKS HERE" area.
- Click on the THEME tab again.
- The content of THEME is empty.

It was because since this commit [1], clicking on an 'oeStructure'
activate the Blocks tab but without updating the options in the tabs.

Another similar bug was present when clicking the style tab and then
clicking on the theme tab.

About the first bug, actually a call of '_updateRightPanelContent' is
already done in '_activateSnippet()' (and the Blocks tab is activate by
default) so we only have to use '_activateSnippet(false)' to activate
the Blocks tab. This commit also remove '_updateRightPanelContent' from
the click event of the Blocks tab where it was not necessary.

For the second bug, we can't do the same fix, because it's not possible
to activate the options tab with only '_activateSnippet(false)' so we
had to combine the two functions.

[1]: https://github.com/odoo/odoo/commit/fbe048c202ff7878984adf26bef0651a45851f0a

task-2794266

closes odoo/odoo#88537

X-original-commit: 52d32e26c34bef10823582ef5c1f840492b73d7a
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-04-12 15:49:06 +02:00
Antoine Guenet bb37bd915e [FIX] mass_mailing: do tab style manipulations on start mass_mailing
When starting the mass_mailing design option, some manipulations
are done on the `#design-element` style element. This can result in
sudden style changes when clicking the design tab.
This commit makes it so these manipulations are done as soon as
mass_mailing starts. In order to do that, constants were shared from
mass_mailing_snippets.

closes odoo/odoo#88318

Related: odoo/enterprise#25753
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-04-11 10:01:34 +02:00
Antoine Guenet 984ec124f4 [FIX] mass_mailing: properly apply nested styles in paragraphs
Inline styles applied by the editor should always have priority over the
general stylesheet. This failed in the case of nested styles (a <font>
with a color within a <span> with a font size for instance).

closes odoo/odoo#88004

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-04-08 09:40:10 +02:00
Antoine Guenet 989425c576 [FIX] mass_mailing: handle comma-separated template styles
To give a custom style to a template, we need to add a style element at
its top, with the id "design-element", and apply to it the supported
styles. These supported styles and their selectors can be seen in the
`DEFAULT_CSS_OBJECT` constant in `mass_mailing_snippets.js`.
However, comma-separated selectors were not supported, meaning styles
could only be incomplete.

task-2816655

Part-of: odoo/odoo#88004
2022-04-08 09:40:10 +02:00
Antoine Guenet ff422df492 [FIX] mass_mailing: prevent use of unsupported image transform option
The image transform option uses the `transform` CSS property, which is
very poorly supported in email clients. This hides that option so as to
avoid bad surprises.

task-2802705

closes odoo/odoo#88052

X-original-commit: 611c9a2aa65f3c6f9e1c0780cb9177bc1e67513d
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-04-07 13:23:51 +02:00
Antoine Guenet 62f9e01d92 [REF] mass_mailing, web_editor: don't redefine target in generic methods
Commit [1] redefined the target in generic methods of snippet options so
that some buttons of the Design Tab snippet option could target a
different node than their parent option. This reverts that in favor of
the more generic `apply-to` data attribute.

[1]: c4bfedc37b

closes odoo/odoo#87325

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-03-28 17:55:28 +02:00
Antoine Guenet db5b64317e [FIX] mass_mailing: prevent traceback in _getCSSColorValue
mass_mailing has an override of _getCSSColorValue which was basically
never used since the option it's linked to was mostly inactive. Now it's
active it became obvious there is a mistake in it that causes a
traceback to occur when no color is passed to it. This adds the same
check as in the original method and thereby prevents the traceback.

task-2760157

closes odoo/odoo#84926

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-03-28 10:45:46 +02:00
Antoine Guenet 2e23548b39 [IMP] web_editor, mass_mailing: convert svg to png to use shapes in mail
This allows users to use the shape feature on images in mass_mailing.
Since email clients do not support the svg file type, it converts these
svg images into png images on save.

task-2760157

Part-of: odoo/odoo#84926
2022-03-28 10:45:45 +02:00
Antoine Guenet c4bfedc37b [ADD] mass_mailing, web_editor: add options to design a mailing globally
This adds options to the "Design" tab of mass_mailing so the user can
edit its stylesheet directly.

task-2789287

closes odoo/odoo#86881

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-03-24 17:12:12 +01:00
Antoine Guenet a9e79f8bda [ADD] web_editor, mass_mailing: add a "Design" tab to mass_mailing
This adds a tab to mass_mailing, that will be used to style the mailing
globally.

task-2789287

Part-of: odoo/odoo#86881
2022-03-24 17:12:12 +01:00
Antoine Guenet bc86183d37 [REM] mass_mailing: remove the option to change templates during edition
The "Select a template" tab will be replaced with a a design tab. This
removes the code that managed that tab.

task-2789287

Part-of: odoo/odoo#86881
2022-03-24 17:12:12 +01:00
Antoine Guenet 8fb3cbed2a [FIX] mass_mailing: ensure no overflow of empty editor message
The empty editor message was overflowing its container when in a modal,
so a part of it was hidden and there was a scrollbar. This fixes it by
setting its width to the available space.

task-2742664

X-original-commit: 0bbe0a6e108591146d1d8cfb252b31f24fbf8ca5
Part-of: odoo/odoo#86506
2022-03-16 16:07:21 +01:00
std-odoo e0b80ac30e [IMP] mass_mailing: filter the mailing templates based on the target
Purpose
=======
Filter the mailing templates based on the model defined on the mailing,
so the user will see the most appropriate templates.

Task-2593231

Part-of: odoo/odoo#79174
2022-03-16 13:16:13 +01:00
std-odoo 5508ca04e1 [IMP] mass_mailing: allow users to re-use old mass mailing template
Purpose
=======
Allow users to re-use a design they made in a previous mailing.

Specifications
==============
Add a duplicate button when the mailing has been sent (so the users
can easily duplicate an existing mailing to re-use the template).

Allow the user to add a mailing to the favorites. When we open the web
editor for the first time, show the email bodies of the favorite
mailings. When the users click on them, load the HTML like we do for
the themes.

Task-2593231

Part-of: odoo/odoo#79174
2022-03-16 13:16:13 +01:00
std-odoo d8e4aefa74 [IMP] mass_mailing: add title for the templates and update thumbnail
Purpose
=======
We can now define a title for the mailing templates that will be
displayed bellow the thumbnail.

Improve the thumbnail image of the "plaintext" template.

Technical
=========
The title is set on the "title" atribute, and not on "data-title",
because the data attributes are not translated.

Task-2593231

Part-of: odoo/odoo#79174
2022-03-16 13:16:13 +01:00
std-odoo d2852a3db2 [IMP] mass_mailing: remove the web editor menu flicker
Purpose
=======
When we create a new mailing, the web editor toolbar appear during
a fraction of a second. We want it to be visible only during the
edition of the template.

Task-2593231

Part-of: odoo/odoo#79174
2022-03-16 13:16:12 +01:00
Antoine Guenet 8e2d95d9fc [FIX] mass_mailing: ensure proper padding around plain text mailing
The plain-text mailing template had no top padding, which made it
awkward to edit and tended to make users manually add space at the top
of the mailing with paragraph breaks. This adds the same padding to the
mailing as is applied to the editor in the Note module.

Note: since the mailing is plain-text, that padding shouldn't and isn't
saved in the mail to send, resulting in a visible difference between the
Mail Body and Mail Debug tabs. This is normal.

task-2760178

closes odoo/odoo#86043

X-original-commit: 82d40ab312fc506c6e248ef3c01cccc99ce6ff73
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-03-08 15:54:55 +00:00
Antoine Guenet 37bc99b309 [FIX] mass_mailing: target existing paragraph in tour
After choosing a template, the mass_mailing tour is supposed to tell us
to click in a paragraph to edit it. It was targeting a snippet that
doesn't exist anymore so the class name had to be adapted for it to
work again.

task-2778418

closes odoo/odoo#85934

X-original-commit: 2e2004b7cda8ea4dadb8de06991b7a2c91992661
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Antoine Guenet <age@odoo.com>
2022-03-07 17:15:11 +00:00
Antoine Guenet 9bf72b7083 [FIX] mass_mailing: make sure droplet obvious next to title
The mass_mailing tour had a droplet to the right of the mailing's title,
which was not so obvious to the eye so this moves it to the bottom.

task-2778417

X-original-commit: f6d69879ca6c55e6dd29387820383e069eccad07
Part-of: odoo/odoo#85934
2022-03-07 17:15:11 +00:00
Antoine Guenet 826a185fdf [FIX] mass_mailing: preserve changes on preview templates
Previewing templates in the "SELECT A TEMPLATE" tab of mass_mailing made
one lose all their changes. This makes sure they are preserved and
restored when needed.

task-2778411

closes odoo/odoo#85932

X-original-commit: e96e11d6ab8e5f7a6d5da498409cc0d5fb26cad1
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Antoine Guenet <age@odoo.com>
2022-03-07 16:03:04 +00:00
Antoine Guenet 92e7909832 [FIX] mass_mailing: prevent rollback on change after template switch
Pick a template for your new mailing, then change your mind and select
another one in the "SELECT A TEMPLATE" tab. Then make a change in the
mailing: your template change is rolled back. This is the bug that is
fixed with this commit.

task-2778411

X-original-commit: f84f15922af3a1e13409d3fd65805e64f7c6de4c
Part-of: odoo/odoo#85932
2022-03-07 16:03:03 +00:00
Jorge Pinna Puissant bc20eb4790 [IMP] test_lint, *: enable no-unused-vars rule
Part-of: odoo/odoo#85569
2022-03-02 13:05:42 +00:00
Umesh Gupta 061cb6885f [IMP] mass_mailing: add import template for mailing contacts
Currently when user starts using the app and tries to 'import records' from
'Mailing List Contacts', there is no templates available to assist the user.

This commit adds import template for mailing contacts to assist the users
in importing records.

taskID-2763984

closes odoo/odoo#84804

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-03-01 16:32:33 +00:00
Elisabeth Dickinson 82bf20a700 [IMP] mass_mailing: add extra data to themeParams for custom styling
By adding the `style` attribute to the `.o_layout` element
it can be customized according to the data collected
with `themeParams`, making it possible to add a custom background color
in our template design, for example.

See b7537e1d66b4ca26e12f4be16eb1c30632ecee61

closes odoo/odoo#83701

Signed-off-by: Antoine Guenet <age@odoo.com>
2022-02-28 09:22:23 +00:00
Antoine Guenet 9499f9d304 [FIX] mass_mailing: prevent selection change into zone outside snippets
When starting with an empty mailing, it was possible to click in the
document and start typing, while this should not be allowed since that
zone is not really editable. We want to only allow writing into
snippets.

task-2778412

closes odoo/odoo#85328

X-original-commit: c9ebe6996f61c24c2a67212beba5dcc95e9a7ed9
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-02-24 15:38:54 +00:00
std-odoo 7931a54688 [IMP] mass_mailing: add a mailing contact import wizard
Purpose
=======
Allows the user to easily import mailing contacts.

Specification
=============
Add a button "import" on the top of the mailing contact list view. This
button open the wizard <mailing.contact.import>.

So the user can select the mailing list and import his contacts with a
text field, one line for each contact.

Task-2703521

closes odoo/odoo#82333

Related: odoo/enterprise#23263
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-02-16 09:39:59 +00:00
Nicolas Bayet 8f829fb7bc [REF] web_editor, mass_mailing: remove unused code
`__extraAssetsForIframe` had been kept in `mass_mailing` and
`web_editor` for historical reasons but was not used anymore. This
removes it.

X-original-commit: 88b91df3ff75bb0be9a84761cb251d0b7b3c976d
Part-of: odoo/odoo#84513
2022-02-14 14:51:24 +00:00
Fabien Pinckaers 10a5796d4b [IMP] speed up load_menus() by using SVG icons instead of png
Reduces load_menus answer size by 32% (between 20kb and 200kb savings
for the initial loading of the backend, depending on the number of apps
installed). Support for SVG icons in the web client for menus/apps.

Reduced PNG icons for apps list (8 bits PNG instead of 24 as our icons
don't need more colors as they are flat designs)

closes odoo/odoo#84280

Related: odoo/enterprise#24200
Signed-off-by: Fabien Pinckaers <fp@odoo.com>
2022-02-12 08:55:18 +00:00
Antoine Guenet b822da476e [FIX] website: only apply default lazy loading on images in frontend
The `loading="lazy"` attribute was set by default on all images but this
affected the `mass_mailing` module as well while that attribute doesn't
work in emails and can cause some issues in edition.
One known such issue this addresses is to be reproduced as follows:
1. Create a new mail
2. Drop the "cover" snippet
It has height 0 so it won't load until another snippet (with a non-zero
height) is dropped.

task-2761074

closes odoo/odoo#84415

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-02-11 16:42:47 +00:00
Antoine Guenet 533bf1ee1e [ADD] mass_mailing, web_editor: add editor message on empty mass_mailing
When choosing the empty template for mass_mailing, it was confusing to
face a blank page with a tiny dropzone. With this we adopt the website
builder's solution, which is to include a message when the page is
empty. That message functions as a bigger dropzone.

task-2734469

closes odoo/odoo#84356

X-original-commit: fbe048c202ff7878984adf26bef0651a45851f0a
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-02-10 15:42:56 +00:00
Nikunj Ladava c47489e1b0 [FIX] mass_mailing: fix emoji widget position
Before this commit,
When editing a mass mailing in "wide" mode, the emoji widget
is outside of the subject field, which is not optimum for
several reasons like:
 - It makes it harder to understand what it will do
 - It is hidden under the tour bubble

After this commit,
Like in "not-wide" mode, emoji widget is now inside the
subject field.

task- 2730477

closes odoo/odoo#83995

X-original-commit: 9195a28dc19b3f0f29aa103e3a1fd62ee32216bd
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-02-07 08:08:48 +00:00
Antoine Guenet 76cf71a86f [REF] web_editor, mass_mailing: rename wysiwyg "intance" typo functions
This properly renames the functions _createWysiwygIntance and
_restartWysiwygIntance to, respectively, _createWysiwygInstance and
_restartWysiwygInstance since they both had a typo in them and it's
triggering all of our OCDs.

closes odoo/odoo#83098

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-01-24 16:55:20 +00:00
Antoine Guenet c82c38b178 [FIX] web_editor, mass_mailing: fix 0 dimensions of img when not visible
The conversion process of emails for mail clients involves retrieving
the dimensions of images and icons in order set them as element
attributes. This can however not possibly work if they are invisible at
the time of conversion. This therefore makes sure they are visible by
changing the visibility of whichever parent was invisible before
conversion and restoring it when we're done.

opw-2686316
opw-2735636

closes odoo/odoo#83233

Related: odoo/enterprise#23695
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-01-24 15:09:27 +00:00
Antoine Guenet 781eae8e2a [FIX] web: ensure scrollbar in mail designer
Commit [1] moved the scrollbar from the document body to the top element
(#wrapwrap). This works for website builder but fails for iframes which
don't have that element. This is apparent in Marketing Automation mail
templates where it's become impossible to scroll down.
This fixes that issue by unsetting the overflow in the iframe.

task-2734825

[1] https://github.com/odoo/odoo/commit/9f048625e11dacda9fd49694e89ae65bc112374f

closes odoo/odoo#83203

X-original-commit: ec14cc47c1ab7bd414af3b8ab99f859370f0a265
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-01-21 16:50:14 +00:00
Antoine Guenet 171ae90cd0 [FIX] web_editor, mass_mailing: speed up opening of field html inline
On opening field html with the inline styles option we were parsing all
the css in the page. This should only be needed when we save. This
commit moves the call to `getCSSRules`back to `commitChanges`.

closes odoo/odoo#83131

X-original-commit: 0d4342317d456ed37f0bf24f00538ef54f847e60
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-01-21 16:49:54 +00:00
Nicolas Bayet f4b76e99ef [FIX] web_editor, mass_mailing: create link in new tab
In mass_mailing, creating a link from the linktool in mass mailing
generated link that would not create a new tab when clicked.

Task-2734760

closes odoo/odoo#82735

X-original-commit: c6b7556a35182174c3384c2069256826205bba22
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-01-14 09:25:42 +00:00
Achraf (abz) 6c39b566d6 [FIX] mass_mailing,project: Prevents crash on form views
When a user double clicks on a record in the kanban view of the form view of project a crash occurs.
This happens because there is an init which is called twice and during the second time the component created during the first click is destroyed and a DOM_updated event is still trigger which leads to a crash because in the case of project_form there is has a use of the element's dom which is then no longer available.

There is the same case in "FieldHtmlWithAction" and in "MassMailingFullWidthFormController"

The problem can be easily fixed by using on_attached_callback and on_detach_callback instead of setting a listener on DOM_updated in the init method.

opw-2685867

closes odoo/odoo#81680

X-original-commit: 8d83433d463dd3d1aef321921939962883f57d68
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Achraf <abz@odoo.com>
2021-12-20 16:53:09 +00:00
Antoine Guenet e60949bc55 [FIX] mass_mailing: properly select text color based on background
When changing a mailing's background color to black, the text of many
snippets would change to white, even though the mailing's body was
white. This was because said body was applied in css while the mailing's
body was applied with a class that also set the text's color.
This fixes that issue by applying the white background on the body via
such a class rather that via css.

task-2711643

closes odoo/odoo#81549

X-original-commit: 31abb63fca22c73b85912eb9ba2cf08806aab679
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Antoine Guenet <age@odoo.com>
2021-12-16 16:44:49 +00:00
David Monjoie 8b1012a79d [FIX] web_editor: fix css rules computing everywhere
X-original-commit: bf9928d28818324c85318968a235d238398bca68
Part-of: odoo/odoo#81540
2021-12-16 15:58:24 +00:00
Antoine Guenet bd884ae51d [REF] web_editor, mass_mailing: abstract convert_inline function calls
This adds a `toInline` function that replaces the code that was
duplicated between convert_inline and mass_mailing_widget. The
duplication was confusing and error prone.

X-original-commit: 916582af2d707fc1aa462c6feffa3f5defda75a2
Part-of: odoo/odoo#81540
2021-12-16 15:58:23 +00:00
Antoine Guenet de558e5da0 [REF] mass_mailing, web_editor: speed up class to inline conversion
When saving an email, its contents pass through convert_inline to ensure
wide e-mail client compatibility. One phase of that process is the
conversion of classes to inline styles, which involves parsing through
all the styles in all the stylesheets of the document, and matching them
with each element in the DOM. That is an extremely expensive process and
because of that, saving an e-mail can take a very long time depending on
how large the DOM is.
This refactors it for performance gains. Tested on an exaggeratingly big
DOM, what used to take about 12s now takes about 5s.

- The process of parsing through the document's stylesheets is now done
  on opening the email (about 500ms) rather than on saving it so we
  split the processing time between the two.
- When parsing the stylesheets, we now also preprocess them by grouping
  whatever can be grouped together and precomputing the specificity so
  as to sort them appropriately. This has the benefit of considerably
  reducing the number of rules to iterate over for each element (from
  11k+ to 3k+).
- In the process, some things were re-written for improved readability.

X-original-commit: 10e749537186dfb80aee1f2537f3b5804f66cfe5
Part-of: odoo/odoo#81540
2021-12-16 15:58:23 +00:00
Antoine Guenet 06225d8498 [FIX] web_editor: properly size media list images
When converting a mailing for mail client compatibility, we guarantee a
height for each image. When none can be found, or in the special case of
media_list, that height should however not be forced so the client can
make it take the full height of the cell automatically. This is what is
accomplished by this commit.

X-original-commit: e80433335020a52d8f683060e98047f5ce77b054
Part-of: odoo/odoo#80621
2021-12-08 09:35:01 +00:00
Nicolas Bayet acd946b8a8 [FIX] mass_mailing: save from the codeview
Whenever opening the codeview from mass_mailing and then directly
saving the document did not work.

Task-2704335

closes odoo/odoo#80899

X-original-commit: d9fe1e22b4f645f1732283ab558de170716a7434
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2021-12-06 12:55:14 +00:00
Antoine Guenet 9f480ba234 [FIX] mass_mailing: restore empty template thumbnail
The empty template had no thumbnail for the "select your template" tab.
This introduces a simple white one.

closes odoo/odoo#80622

X-original-commit: b1ac5a0167c0463d6d83bf4a8463a5e7432ebc21
Related: odoo/enterprise#22616
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2021-12-01 08:00:54 +00:00
Antoine Guenet 4d519e5b9c [FIX] mass_mailing: switch templates on hover thumbnail
Templates in mass_mailing have been redefined in [PR]: all their custom
styles have been removed so they all are built in a way that they could
be built using the editor only. Since this was done, the "select your
template" tab has been broken because there are no styles to apply.
This fixes the feature by adapting it to the new context: instead of
changing the styles, it applies the fresh template as if we were
starting a brand new e-mail.

[PR] https://github.com/odoo/odoo/pull/77312

task-2702007

X-original-commit: 09a8e58fd59c297727f9f64ec2a434caaf5b9a67
Part-of: odoo/odoo#80622
2021-12-01 08:00:54 +00:00
Munaf Khan b296e076d4 [IMP] mass_mailing: enable audience segmentation
Right now, in our mass mailing, marketing users refine the audience they are
going to reach with our beautiful domain selector/editor. The problem here
is that the criteria that 'filters' audience can be very common and might be
used in many mailings.

Such filters have to be re-created manually each time they are needed unless
one duplicates a sent mailing. Another possible workaround is to access this
form view while in debug mode so that one can copy and paste those domain
expressions. Unfortunately, none of those solutions are either ideal or
convenient. Especially during the onboarding where new users are not very
familiar with those notions yet.

This commit allow users to save filters on the mass mailings. That way
favorite filters can be re-used on the next mailing. For that, we added
a new model 'mailing.filter'. We do not use existing 'ir.filter' model as
its usage is not completely the same and as we do not want to bloat view
filters with filters created on the fly in marketing application. This new
model contains the following fields:

 - name (given by user while saving the filter)
 - mailing_domain
 - mailing_model_id (m2o for the recipient model)
 - mailing_model_name (technical name of recipient model)

Users can create the filters by setting domain and then hitting hollow star
icon next to 'Filter' m2o and saving it with the name they want. Same way
to delete the saved filter, user simply have to click the filled star icon
when filter is already set. This is done through a new widget that adds its
own behavior on top of m2o widget.

The saved filters can be also managed with a new menu named 'Favorite Filters'
under 'Configuration' menu of Email marketing.

Task-2092853

closes odoo/odoo#70859

Related: odoo/enterprise#21049
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-11-29 19:01:43 +00:00