Sha256: 705e50d9911c1ecee7abe240f3a50adae065deab0dd25c95a1999df80689eca0

Contents?: true

Size: 1.22 KB

Versions: 10

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

module Decidim
  # A custom mailer for Devise so we can tweak the invitation instructions for
  # each role and use a localised version.
  class DecidimDeviseMailer < ::Devise::Mailer
    include LocalisedMailer

    layout "decidim/mailer"

    # Sends an email with the invitation instructions to a new user.
    #
    # user  - The User that has been invited.
    # token - The String to be sent as a token to verify the invitation.
    # opts  - A Hash with options to send the email (optional).
    def invitation_instructions(user, token, opts = {})
      with_user(user) do
        @token = token
        @organization = user.organization
        @opts = opts

        if opts[:invitation_instructions]
          opts[:subject] = I18n.t("devise.mailer.#{opts[:invitation_instructions]}.subject", organization: user.organization.name)
        end
      end

      devise_mail(user, opts[:invitation_instructions] || :invitation_instructions, opts)
    end

    private

    # Overwrite devise_mail so we can inject the organization from the user.
    def devise_mail(user, action, opts = {}, &block)
      with_user(user) do
        @organization = user.organization
        super
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
decidim-core-0.8.4 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.8.3 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.8.2 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.8.1 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.8.0 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.7.4 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.7.3 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.7.2 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.7.1 app/mailers/decidim/decidim_devise_mailer.rb
decidim-core-0.7.0 app/mailers/decidim/decidim_devise_mailer.rb