Sha256: f41c88955a1aa462aa50461947059332e4b94ba0f06a394ef826ca4fecdb9657
Contents?: true
Size: 857 Bytes
Versions: 24
Compression:
Stored size: 857 Bytes
Contents
# frozen_string_literal: true module Decidim module Admin # Delivers the newsletter to its recipients. class DeliverNewsletter < Rectify::Command # Initializes the command. # # newsletter - The newsletter to deliver. # user - the Decidim::USer that delivers the newsletter def initialize(newsletter, user) @newsletter = newsletter @user = user end def call @newsletter.with_lock do return broadcast(:invalid) if @newsletter.sent? send_newsletter! end broadcast(:ok, @newsletter) end private def send_newsletter! Decidim.traceability.perform_action!( "deliver", @newsletter, @user ) do NewsletterJob.perform_later(@newsletter) end end end end end
Version data entries
24 entries across 24 versions & 1 rubygems