Sha256: b2fb374cb9dbe74d2c48665ca703186bb045cf67b68f112877d03e12f7b9132e

Contents?: true

Size: 1.18 KB

Versions: 8

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true
require_dependency 'c/admin_controller'

module C
  class Admin::SlidesController < AdminController
    load_and_authorize_resource :slideshow, class: C::Slideshow
    load_and_authorize_resource :slide, class: C::Slide, through: :slideshow

    def create
      @slide = @slideshow.slides.new(slide_params)
      if @slide.save
        redirect_to edit_slideshow_path(@slideshow), notice: 'Slide created'
      else
        render :new
      end
    end

    def update
      if @slide.update(slide_params)
        redirect_to edit_slideshow_path(@slideshow), notice: 'Slide updated'
      else
        render :edit
      end
    end

    def destroy
      @slide.destroy
      respond_to do |format|
        format.js
        format.html do
          redirect_to @slideshow, notice: 'Slide deleted'
        end
      end
    end

    def sort
      @slides = C::Slideshow.find(params[:slideshow_id]).slides
      @slides.update_order(params[:slideshow])
      respond_to do |format|
        format.js { head :ok, content_type: 'text/html' }
      end
    end

    private

    def slide_params
      params.require(:slide).permit(:name, :body, :url, :image)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cd2_catton_cms-1.1.35 app/controllers/c/admin/slides_controller.rb
cd2_catton_cms-1.1.34 app/controllers/c/admin/slides_controller.rb
cd2_catton_cms-1.1.33 app/controllers/c/admin/slides_controller.rb
cd2_catton_cms-1.1.32 app/controllers/c/admin/slides_controller.rb
cd2_catton_cms-1.1.31 app/controllers/c/admin/slides_controller.rb
cd2_catton_cms-1.1.30 app/controllers/c/admin/slides_controller.rb
cd2_catton_cms-1.1.20 app/controllers/c/admin/slides_controller.rb
cd2_catton_cms-1.1.10 app/controllers/c/admin/slides_controller.rb