Sha256: 301bbcd1a43faf131ce9e55624d72d3567d9bc50261e78dea8c16c07ac8b0e9c

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

module Archangel
  ##
  # @see Archangel::BackendController
  #
  module Backend
    ##
    # Backend pages controller
    #
    class PagesController < BackendController
      include Archangel::Controllers::Backend::ResourcefulConcern

      protected

      def permitted_attributes
        [
          :content, :homepage, :parent_id, :path, :published_at, :slug,
          :template_id, :title,
          metatags_attributes: %i[id _destroy name content]
        ]
      end

      def resources_content
        @pages = current_site.pages
                             .order(title: :asc)
                             .page(page_num).per(per_page)

        authorize @pages
      end

      def resource_content
        resource_id = params.fetch(:id)

        @page = current_site.pages.find_by!(id: resource_id)

        authorize @page
      end

      def resource_new_content
        @page = current_site.pages.new(resource_new_params)

        @page.metatags.build unless @page.metatags.present?

        authorize @page
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
archangel-0.3.0 app/controllers/archangel/backend/pages_controller.rb