Sha256: 9ab206e1942a67b6658fd0a68262623cf6a84d47a97d1d866a53b86389e76f27

Contents?: true

Size: 1.45 KB

Versions: 40

Compression:

Stored size: 1.45 KB

Contents

module Virgo
  class Admin::SlideshowsController < Admin::BaseController
    handles_sortable_columns

    before_action :set_slideshow, only: member_actions

    helper_method :filter_params

    def index
      if params[:sort].blank?
        flash.keep
        redirect_to admin_slideshows_path(sort: '-created_at') and return
      end

      @slideshows = Slideshow.joins(:author).search(filter_params).order(sort_order).page(params[:page])
    end

    def new
      @slideshow = Slideshow.new
    end

    def create
      @slideshow = Slideshow.new(slideshow_params)

      if @slideshow.save
        flash[:notice] = "Slideshow successfully created. You can add slides below."
        redirect_to edit_admin_slideshow_path(@slideshow)
      else
        render :new
      end
    end

    def edit
    end

    def update
      if @slideshow.update(slideshow_params)
        flash[:notice] = "Slideshow settings saved"
        redirect_to edit_admin_slideshow_path(@slideshow)
      else
        render :edit
      end
    end

    def destroy
      authorize! :destroy, @slideshow
      @slideshow.destroy
      flash[:notice] = "Slideshow deleted"
      redirect_to admin_slideshows_path
    end

    private

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

    def slideshow_params
      params.permit(slideshow: [:name, :author_id])[:slideshow]
    end

    def filter_params
      params.permit(filters: [:term])[:filters]
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

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