Sha256: b628936700b3681c38f3addf01172545faa45fd9570c6fa3f27550f69be7abe7

Contents?: true

Size: 1.44 KB

Versions: 40

Compression:

Stored size: 1.44 KB

Contents

module Virgo
  class Admin::SlidesController < Admin::BaseController
    before_action :set_slideshow, only: collection_actions
    before_action :set_slide, only: member_actions

    def new
      @slide = @slideshow.slides.new
    end

    def create
      @slide = Slide.new(slide_params)

      if @slide.save
        flash[:notice] = "Your new slide has been added"
        redirect_to edit_admin_slideshow_path(@slide.slideshow)
      else
        render :new
      end
    end

    def edit
    end

    def update
      if @slide.update(slide_params)
        flash[:notice] = "Slide settings updated"
        redirect_to edit_admin_slideshow_path(@slide.slideshow)
      else
        render :edit
      end
    end

    def positions
      slide_data = params[:slides]

      slide_data.values.each do |data|
        slide = Slide.find(data[:id])
        authorize! :manage, slide
        slide.update!(position: data[:position])
      end


      head :ok
    end

    def destroy
      authorize! :destroy, @slide
      @slide.destroy
      flash[:notice] = "Slide removed from slideshow"
      redirect_to edit_admin_slideshow_path(@slide.slideshow)
    end

    private

    def slide_params
      params.permit(slide: [:image_id, :title, :text, :slideshow_id, :position, :video_embed])[:slide]
    end

    def set_slideshow
      @slideshow = Slideshow.find(params[:slideshow_id])
    end

    def set_slide
      @slide = Slide.find(params[:id])
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
virgo-0.3.17 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.16 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.15 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.14 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.13 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.12 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.11 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.10 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.9 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.8 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.7 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.6 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.4 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.3 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.2 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3.1 app/controllers/virgo/admin/slides_controller.rb
virgo-0.3 app/controllers/virgo/admin/slides_controller.rb
virgo-0.2.9 app/controllers/virgo/admin/slides_controller.rb
virgo-0.2.8 app/controllers/virgo/admin/slides_controller.rb
virgo-0.2.7 app/controllers/virgo/admin/slides_controller.rb