Sha256: e254b9f98e5273a3abd64733d0ef011fd0ed0e20939295247d06a3ba412ff7cc

Contents?: true

Size: 1.4 KB

Versions: 1

Compression:

Stored size: 1.4 KB

Contents

module Dorsale
  module ExpenseGun
    class CategoriesController < ::Dorsale::ExpenseGun::ApplicationController
      def index
        authorize! :list, Category

        @categories ||= ::Dorsale::ExpenseGun::Category.all
      end

      def new
        @category = ::Dorsale::ExpenseGun::Category.new

        authorize! :create, @category
      end

      def create
        @category ||= ::Dorsale::ExpenseGun::Category.new(category_params)

        authorize! :create, @category

        if @category.save
          flash[:notice] = t("categories.create_ok")
          redirect_to expense_gun_categories_path
        else
          render action: "new"
        end
      end

      def edit
        @category = ::Dorsale::ExpenseGun::Category.find(params[:id])
        authorize! :update, @category
      end

      def update
        @category ||= ::Dorsale::ExpenseGun::Category.find(params[:id])

        authorize! :update, @category

        if @category.update_attributes(category_params)
          flash[:notice] = t("categories.update_ok")
          redirect_to expense_gun_categories_path
        else
          render action: "edit"
        end
      end

      private

      def permitted_params
        [
          :name,
          :code,
          :vat_deductible,
        ]
      end

      def category_params
        params.require(:expense_gun_category).permit(permitted_params)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dorsale-3.0.2 app/controllers/dorsale/expense_gun/categories_controller.rb