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

[15.0][MIG] mass_mailing_custom_unsubscribe: Migration to version 15.0 #1031

Merged

Conversation

ernestotejeda
Copy link
Member

Cc @Tecnativa TT36474

antespi and others added 26 commits December 16, 2022 13:13
…ption (OCA#58)

* [8.0][IMP][mass_mailing_custom_unsubscribe] Get reasons for unsubscription.
- Imported last updates from v8.
- Adapted to v9.
- Added a saner default to `mass_mailing.salt` configuration parameter by
  reusing `database.secret` if available, hoping that some day
  odoo/odoo#12040 gets merged.
- Updated README.
- Increase security, drop backwards compatibility.
  Security got improved upstream, which would again break compatibility among current addon and future master upstream.
  I choose to break it now and keep it secured future-wise, so I drop the backwards compatibility features.
- Includes tour tests.
- Removes outdated tests.
- Extends the mailing list management form when unsubscriber is a contact.
- Adds a reason form even if he is not.
- Avoids all methods that were not model-agnostic.

[FIX][mass_mailing_custom_unsubscribe] Reasons noupdate

After this fix, when you update the addon, you will not lose your customized reasons.

[FIX] Compatibilize with mass_mailing_partner

Current test code was based on the assumption that the `@api.model` decorator on `create()` ensured an empty recordset when running the method, but that's not true. This was causing an incompatibility betwee these tests and the `mass_mailing_partner` addon, which works assuming 0-1 recordsets.

Now records are created from an empty recordset, and thus tests work everywhere.

Update instructions

If the user does not add the unsubscribe snippet, nothing will happen, so it's added to README to avoid confusion when testing/using the addon.

[FIX] Use the right operator to preserve recordsets order

Using `|=` sorts records at will each time (treating them as Python's `set`).
Using `+=` always appends a record to the end of the set.
Since we are using the record position in the set, this caused the test to work sometimes and fail other times. Now it works always.
* [IMP] mass_mailing_custom_unsubscribe: GDPR compliance

- Record resubscriptions too.
- Record action metadata.
- Make ESLint happy.
- Quick color-based action distinction in tree view.
- Add useful quick groupings.
- Display (un)subscription metadata.
- Pivot & graph views.
This creates inconsistency issues when assembling them in the README.
Currently translated at 80.0% (44 of 55 strings)

Translation: social-11.0/social-11.0-mass_mailing_custom_unsubscribe
Translate-URL: https://translation.odoo-community.org/projects/social-11-0/social-11-0-mass_mailing_custom_unsubscribe/fr/
Fix assertIn error thrown in testing mode
Currently translated at 38.8% (33 of 85 strings)

Translation: social-12.0/social-12.0-mass_mailing_custom_unsubscribe
Translate-URL: https://translation.odoo-community.org/projects/social-12-0/social-12-0-mass_mailing_custom_unsubscribe/sl/
…cretely from an event

This addon extends the unsubscription process for allowing to unsubscribe
only for an event.

Standard process includes the mail in the general blacklist instead, which
can be very unconvenient.

This includes also the needed changes in the base module `mass_mailing_custom_unsubscribe`.
…out`

So we need to explicitly opt-out (XD) that model from the new alternative mechanism
for unsubscribing records.
As the mail contacts model is renamed, we need to update the Reference
field data with it.

TT30414
@ernestotejeda
Copy link
Member Author

ping @chienandalu @CarlosRoca13

Copy link
Member

@chienandalu chienandalu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code and functional test. Great job! 👍

@pedrobaeza
Copy link
Member

/ocabot migration mass_mailing_custom_unsubscribe
/ocabot merge nobump

@OCA-git-bot OCA-git-bot added this to the 15.0 milestone Dec 20, 2022
@OCA-git-bot
Copy link
Contributor

On my way to merge this fine PR!
Prepared branch 15.0-ocabot-merge-pr-1031-by-pedrobaeza-bump-nobump, awaiting test results.

@OCA-git-bot OCA-git-bot mentioned this pull request Dec 20, 2022
36 tasks
@OCA-git-bot OCA-git-bot merged commit 0089be7 into OCA:15.0 Dec 20, 2022
@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at daf7be5. Thanks a lot for contributing to OCA. ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.