Sha256: ba7ffa602c231d6db949b172936f6e3e57cc730b03bca7b8dd6cee92926a45d3

Contents?: true

Size: 1.33 KB

Versions: 19

Compression:

Stored size: 1.33 KB

Contents

# frozen_string_literal: true

module Alchemy
  module Admin
    class NodesController < Admin::ResourcesController
      include Alchemy::Admin::CurrentLanguage

      def index
        @root_nodes = Node.language_root_nodes
      end

      def new
        @node = Node.new(
          parent_id: params[:parent_id],
          language: @current_language
        )
      end

      def create
        if turbo_frame_request?
          @page = Alchemy::Page.find(resource_params[:page_id])
          @node = @page.nodes.build(resource_params)
          if @node.valid?
            @node.save
            flash_notice_for_resource_action(:create)
          else
            flash[:error] = @node.errors.full_messages.join(", ")
          end
        else
          super
        end
      end

      def destroy
        if turbo_frame_request?
          @node = Alchemy::Node.find(params[:id])
          @page = @node.page
          @page.nodes.destroy(@node)
          flash_notice_for_resource_action(:destroy)
        else
          super
        end
      end

      private

      def resource_params
        params.require(:node).permit(
          :menu_type,
          :parent_id,
          :language_id,
          :page_id,
          :name,
          :url,
          :title,
          :nofollow,
          :external
        )
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
alchemy_cms-7.4.2 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.3.6 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.9 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.4.1 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.4.0 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.3.5 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.8 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.3.4 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.3.3 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.3.2 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.7 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.3.1 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.3.0 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.6 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.5 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.4 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.3 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.2 app/controllers/alchemy/admin/nodes_controller.rb
alchemy_cms-7.2.1 app/controllers/alchemy/admin/nodes_controller.rb