Skip to content

[18.0][MIG] mass_mailing_custom_unsubscribe: Migration to version 18.0 - #1635

Closed
carlos-lopez-tecnativa wants to merge 37 commits into
OCA:18.0from
Tecnativa:18.0-mig-mass_mailing_custom_unsubscribe
Closed

[18.0][MIG] mass_mailing_custom_unsubscribe: Migration to version 18.0#1635
carlos-lopez-tecnativa wants to merge 37 commits into
OCA:18.0from
Tecnativa:18.0-mig-mass_mailing_custom_unsubscribe

Conversation

@carlos-lopez-tecnativa

Copy link
Copy Markdown
Contributor

antespi and others added 30 commits April 15, 2025 10:16
…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
Currently translated at 29.0% (25 of 86 strings)

Translation: social-15.0/social-15.0-mass_mailing_custom_unsubscribe
Translate-URL: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mass_mailing_custom_unsubscribe/it/
Currently translated at 100.0% (86 of 86 strings)

Translation: social-15.0/social-15.0-mass_mailing_custom_unsubscribe
Translate-URL: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mass_mailing_custom_unsubscribe/es/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: social-15.0/social-15.0-mass_mailing_custom_unsubscribe
Translate-URL: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mass_mailing_custom_unsubscribe/
pilarvargas-tecnativa and others added 7 commits April 15, 2025 10:16
Currently translated at 100.0% (85 of 85 strings)

Translation: social-16.0/social-16.0-mass_mailing_custom_unsubscribe
Translate-URL: https://translation.odoo-community.org/projects/social-16-0/social-16-0-mass_mailing_custom_unsubscribe/it/
…te method

Fixes an issue where the odoo.addons.mass_mailing_custom_unsubscribe.models.mail_unsubscribe model was not correctly overriding the create method to handle batch operations. The create method has now been adapted to handle batch record creation, ensuring that it works correctly in all situations.

TT44333
- Refactor to adapt to the new core ubsubscription methods

TT49917
@pedrobaeza

Copy link
Copy Markdown
Member

/ocabot migration mass_mailing_custom_unsubscribe

@carlos-lopez-tecnativa

Copy link
Copy Markdown
Contributor Author

Superseded by OCA/mass-mailing#2

@carlos-lopez-tecnativa
carlos-lopez-tecnativa deleted the 18.0-mig-mass_mailing_custom_unsubscribe branch April 15, 2025 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.