mainio / decidim-module-term_customizer

Decidim module that allows customizing the localization terms in the system for specific contexts.
GNU Affero General Public License v3.0
15 stars 21 forks source link

fix: Devise email translation customization #109

Open Quentinchampenois opened 10 months ago

Quentinchampenois commented 10 months ago

Description

Current version does not allow to translate Devise emails translations (subjects, etc...)

Decidim::TermCustomizer::Context::JobContext doesn't handle the Devise job arguments format. At the moment, it expects Decidim jobs to have as argument a Decidim::Organization or Decidim::User in method resolve!.

I found that Devise mailer jobs contains a list of arguments and the expected argument in a Hash { args: [Decidim::User] } for example.

Related to

How to test

Create multiple devise translation customizations :

For account confirmation mails :

Create TermCustomizer entries

Refresh cache and create a new account

For reset password confirmation : Create TermCustomizer entries

Refresh cache and ask a reset password for user@example.org

For new admin invitation Create TermCustomizer entries

Refresh cache and invite a new admin

AyakorK commented 9 months ago

Hello @Quentinchampenois, we've noticed on few applications containing this branch on their Gemfile that we had an issue with the sending of notifications due to this line

arg = arg[:args].first if arg.is_a?(Hash)

We may need to identify the reason of the issue as soon as possible and find an alternative to this fix.