Sha256: 46a6d55d217e45b58d1651703153defc6d560a56ad9ef10214de483782a15650

Contents?: true

Size: 1.12 KB

Versions: 7

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

module Decidim
  module Admin
    # Controller that allows managing newsletters.
    class NewsletterTemplatesController < Decidim::Admin::ApplicationController
      helper_method :templates, :template_manifest

      layout "decidim/admin/newsletters"

      def index
        enforce_permission_to :index, :newsletter
      end

      def show; end

      def preview
        email = NewsletterMailer.newsletter(current_user, fake_newsletter, true)
        Premailer::Rails::Hook.perform(email)
        render html: email.html_part.body.decoded.html_safe
      end

      private

      def templates
        @templates ||= Decidim.content_blocks.for(:newsletter_template)
      end

      def template_manifest
        @template_manifest ||= Decidim
                               .content_blocks
                               .for(:newsletter_template)
                               .find { |manifest| manifest.name.to_s == params[:id] }
      end

      def fake_newsletter
        @fake_newsletter ||= Decidim::Admin::FakeNewsletter.new(current_organization, template_manifest)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-admin-0.29.2 app/controllers/decidim/admin/newsletter_templates_controller.rb
decidim-admin-0.29.1 app/controllers/decidim/admin/newsletter_templates_controller.rb
decidim-admin-0.29.0 app/controllers/decidim/admin/newsletter_templates_controller.rb
decidim-admin-0.29.0.rc4 app/controllers/decidim/admin/newsletter_templates_controller.rb
decidim-admin-0.29.0.rc3 app/controllers/decidim/admin/newsletter_templates_controller.rb
decidim-admin-0.29.0.rc2 app/controllers/decidim/admin/newsletter_templates_controller.rb
decidim-admin-0.29.0.rc1 app/controllers/decidim/admin/newsletter_templates_controller.rb