Sha256: a09712ff99acf14c48cf8c14aab6a244a9baf688419dd28a64b68df111ace662

Contents?: true

Size: 1.3 KB

Versions: 12

Compression:

Stored size: 1.3 KB

Contents

# frozen_string_literal: true

module Decidim
  module Messaging
    # A custom mailer for sending notifications to users when they receive
    # private messages
    class ConversationMailer < Decidim::ApplicationMailer
      def new_conversation(originator, user, conversation)
        notification_mail(
          from: originator,
          to: user,
          conversation: conversation,
          message: conversation.messages.first.body,
          action: "new_conversation"
        )
      end

      def new_message(sender, user, conversation, message)
        notification_mail(
          from: sender,
          to: user,
          conversation: conversation,
          message: message.body,
          action: "new_message"
        )
      end

      private

      def notification_mail(from:, to:, conversation:, action:, message: nil)
        with_user(to) do
          @organization = to.organization
          @conversation = conversation
          @sender = from.name
          @recipient = to.name
          @message = message
          @host = @organization.host

          subject = I18n.t(
            "conversation_mailer.#{action}.subject",
            scope: "decidim.messaging",
            sender: @sender
          )

          mail(to: to.email, subject: subject)
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
decidim-core-0.21.0 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.20.1 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.20.0 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.19.1 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.18.1 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.19.0 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.17.2 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.18.0 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.17.1 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.16.1 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.17.0 app/mailers/decidim/messaging/conversation_mailer.rb
decidim-core-0.16.0 app/mailers/decidim/messaging/conversation_mailer.rb