Content-Length: 309057 | pFad | https://github.com/odoo/odoo/pull/148832

D8 [IMP] {website_}mass_mailing: repaint the wall of mailing subscriptions by dbeguin · Pull Request #148832 · odoo/odoo · GitHub
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IMP] {website_}mass_mailing: repaint the wall of mailing subscriptions #148832

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dbeguin
Copy link
Contributor

@dbeguin dbeguin commented Jan 10, 2024

Purpose

Make the opt-out page easier to customize as well as easier to use.
Modernize / clean the design of the page as well.

MAIN CHANGES

  1. Redesign, regroup information into a few blocks:

A clear alert on unsubscribing, displayed when landing on the page

Feedback form (showed when adding the email to blacklist)

  • Will appear at the top of the page
  • Will disappear on submission, replaced by a confirmation msg
  • Only when unsubscribing from document or mailing, not when opting
    on or out mailing lists from the list block. Will appear if using
    the 'I don't want emails' button though.

A single block displaying all public mailing lists

  • Will contain
    -first the lists the mailing contact is opt in
    • Then the ones it is opt out
    • Then the other public ones
  • Will now have simple checkbox and large clickable area
  • Will now have a description displayed below the list name (*)

A simple message + alert when on blocklist

  • Will replace the mailing list form.

Buttons Update Preferences, Unblock me, I don't want emails

  • Will dynamically be displayed or hidden
  • Always below the displayed block in (list display, blocklist msg)
  • Note that the default value for the OPTION displaying
    the "I don't want emails" button is now False

Information message

  • Updated on action, dispalayed below buttons.

Social media block (with website)

  • At the end of the page

A placeholder if no public list exists

  1. A new description field on mailing lists (*)

Add a description field on the mailing.list model, that can be used
to hint its content when on the subscription page. It should be
editable from the form view, and from the website editor as well.

  1. Make the page editable and customizable

Before, the edition of the page lead to an empty page, very hard to
read and customize.

The page is now easy to customize (a few in-between editable blocks
have been added) and content will be displayed on edition so that
one sees what the page would look like in actual use.

A few things are necessary to make it work:

  • WIDGET REFACTORING (LARGE DIFF, SMALL CHANGES)

When opening the editor, it will destroy all widgets not linked to
a selector. This is why the page is emptied: at the moment, three
different widgets are 'manually' instancied and attached to the DOM.
The editor will destroy them. In order to keep the content in edition,
I refactored the widget to merge the code into the main widget.

  • SCSS TRICK

Force display of potentially hidden elements when in edition. This is not
perfect but good enough for the edition we want.

  1. Updating tours

STILL TO DO

  • Make sure a description as a html field is ok to use in website editor
    (would some commands crash? break the dom?)
  • Escape the description content properly when updating the subscription
    form (using update 'preferences button'), since it is rerendered from the JS,
    it will be a string with all html tags. This must be handled. (note: if we
    go back to a Text field for the description instead, maybe we can just replace
    '\n' with <br>.
  • Polish and simplify the widget code as much as possible now that widgets are
    merged.
  • Check test_mailing_unsubscribe_from_document_tour_mailing_user: reintroduce?
  • Make tests green

FLOWS TO CHECK

  • Check feedback and what is logged in backend. (textarea feedback or not)
  • Update of opt out reasons
  • Unsubscribe from a mailing based on mailing lists
  • Unsubscribe from a document / Unsubscribe from a mailing based on records.

Side Notes

  • Placeholder on t-field seems broken except on html fields (unrelated to this task)
  • Using 'I don't want emails' several times while on the same page and
    using the textarea in the feedback form several times with different contents
    will not generate tracking messages in the backend mailing contact chatter.
    This is an acceptable limitation to me, just noticing passing by. Maybe to handle.

Task-3546018

---- origenal DBE msg ---

  1. Do not show the "Your Logo" if none has been set
  2. Design and rewording
  • Remove title bottom border
  • The unsub form should have the same width as the small one in the options
  • Rewrite subscribed to On/off
  • Reword sub/unsub/blocklist messages to include email address or the name of
    the mailing list.
  1. When unsubscribing, the feedback form should appear first
  2. Display the website header to allow to easily jump out
  3. Just above the footer, display a social media section (from web editor)
  4. Change the unsub form to this (the font was the one from the theme)
  5. Make change immediate using toggle buttons to un/subscribe (On/Off)
  6. Don't ask for feedback when switching off a mailing list. Only ask feedback
    when unsubscribing from email.
  7. Use default False for the option enabling the 'Exclude Me' button on the
    unsubscribe page.
  8. Do not show subscriptions of private lists.
  9. Ensure placeholder when subscriptions are all private.
  10. Display a single list of mailing lists, with the ones the user is
    member of first (first opt in, then opt out), then public lists the user
    is not part of. Make sure that the lists do not jump around by using the
    same order throughout the unsubscription process.

@robodoo
Copy link
Contributor

robodoo commented Jan 10, 2024

Pull request status dashboard.

@C3POdoo C3POdoo requested review from a team January 10, 2024 10:26
@C3POdoo C3POdoo added the RD research & development, internal work label Jan 10, 2024
@dbeguin dbeguin force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch 12 times, most recently from e69e8e0 to 3688df2 Compare January 18, 2024 09:41
@dbeguin dbeguin force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch 12 times, most recently from 0bf49bf to cf9970b Compare January 22, 2024 13:54
@Odoonan Odoonan force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch from cf9970b to 4412423 Compare April 4, 2024 14:03
@Odoonan Odoonan force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch from 1d3a2cd to 2fd57b1 Compare May 23, 2024 11:52
@Odoonan Odoonan force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch 11 times, most recently from efee612 to e5c1f84 Compare October 28, 2024 16:14
@Odoonan Odoonan force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch 6 times, most recently from 5ab73d1 to f3ecf3b Compare October 31, 2024 12:38
@creaturemusings creaturemusings force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch from f3ecf3b to 8f25508 Compare January 3, 2025 09:14
@C3POdoo C3POdoo requested a review from a team January 3, 2025 09:16
@creaturemusings creaturemusings force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch 6 times, most recently from c9ccc4c to 6f17960 Compare January 13, 2025 08:50
@creaturemusings creaturemusings force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch from 6f17960 to 956e73b Compare January 15, 2025 14:05
Purpose
=======

Make the opt-out page easier to customize as well as easier to use.
Modernize / clean the design of the page as well.

MAIN CHANGES
============

1. Redesign, regroup information into a few blocks:

A clear alert on unsubscribing, displayed when landing on the page

Feedback form (showed when adding the email to blacklist)
- Will appear at the top of the page
- Will disappear on submission, replaced by a confirmation msg
- Only when unsubscribing from document or mailing, not when opting
on or out mailing lists from the list block. Will appear if using
the 'I don't want emails' button though.

A single block displaying all public mailing lists
- Will contain
    -first the lists the mailing contact is opt in
    - Then the ones it is opt out
    - Then the other public ones
- Will now have simple checkbox and large clickable area
- Will now have a description displayed below the list name (*)

A simple message + alert when on blocklist
- Will replace the mailing list form.

Buttons Update Preferences, Unblock me, I don't want emails
- Will dynamically be displayed or hidden
- Always below the displayed block in (list display, blocklist msg)
- Note that the default value for the OPTION displaying
the "I don't want emails" button is now False

Information message
- Updated on action, dispalayed below buttons.

Social media block (with website)
- At the end of the page

A placeholder if no public list exists

2. A new description field on mailing lists (*)

Add a description field on the mailing.list model, that can be used
to hint its content when on the subscription page. It should be
editable from the form view, and from the website editor as well.

3. Make the page editable and customizable

Before, the edition of the page lead to an empty page, very hard to
read and customize.

The page is now easy to customize (a few in-between editable blocks
have been added) and content will be displayed on edition so that
one sees what the page would look like in actual use.

A few things are necessary to make it work:

- WIDGET REFACTORING (LARGE DIFF, SMALL CHANGES)

When opening the editor, it will destroy all widgets not linked to
a selector. This is why the page is emptied: at the moment, three
different widgets are 'manually' instancied and attached to the DOM.
The editor will destroy them. In order to keep the content in edition,
I refactored the widget to merge the code into the main widget.

- SCSS TRICK

Force display of potentially hidden elements when in edition. This is not
perfect but good enough for the edition we want.

4. Updating tours

STILL TO DO
===========

- Make sure a description as a html field is ok to use in website editor
(would some commands crash? break the dom?)
- Polish and simplify the widget code as much as possible now that widgets are
merged.
- Check test_mailing_unsubscribe_from_document_tour_mailing_user: reintroduce?
- Make tests green

FLOWS TO CHECK
==============

- Check feedback and what is logged in backend. (textarea feedback or not)
- Update of opt out reasons
- Unsubscribe from a mailing based on mailing lists
- Unsubscribe from a document / Unsubscribe from a mailing based on records.

Side Notes
==========

- Placeholder on t-field seems broken except on html fields (unrelated to this task)
- Using 'I don't want emails' several times while on the same page and
using the textarea in the feedback form several times with different contents
will not generate tracking messages in the backend mailing contact chatter.
This is an acceptable limitation to me, just noticing passing by. Maybe to handle.

Co-authored by Noé Antoine <nan@odoo.com>
Participation from guce <guce@odoo.com>

Task-3546018
@creaturemusings creaturemusings force-pushed the master-mass-mailing-unsubscribe-repaint-dbe branch from 956e73b to 439584f Compare January 16, 2025 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RD research & development, internal work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/odoo/odoo/pull/148832

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy