Skip to content
Extraits de code Groupes Projets
rules_controller.rb 991 octets
Newer Older
  • Learn to ignore specific revisions
  • Eugen Rochko's avatar
    Eugen Rochko a validé
    # frozen_string_literal: true
    
    module Admin
      class RulesController < BaseController
        before_action :set_rule, except: [:index, :create]
    
        def index
          authorize :rule, :index?
    
          @rules = Rule.ordered
          @rule  = Rule.new
        end
    
        def create
          authorize :rule, :create?
    
          @rule = Rule.new(resource_params)
    
          if @rule.save
            redirect_to admin_rules_path
          else
            @rules = Rule.ordered
            render :index
          end
        end
    
        def edit
          authorize @rule, :update?
        end
    
        def update
          authorize @rule, :update?
    
          if @rule.update(resource_params)
            redirect_to admin_rules_path
          else
            render :edit
          end
        end
    
        def destroy
          authorize @rule, :destroy?
    
          @rule.discard
    
          redirect_to admin_rules_path
        end
    
        private
    
        def set_rule
          @rule = Rule.find(params[:id])
        end
    
        def resource_params
          params.require(:rule).permit(:text, :priority)
        end
      end
    end