Sha256: 2a5cad0f4910de056dbeb37718120bbb8734125189a86ae322193b6595e355b3

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 KB

Contents

class Dorsale::ExpenseGun::ExpenseLinesController < ::Dorsale::ExpenseGun::ApplicationController
  before_action :set_objects

  def index
    redirect_to back_url
  end

  def new
    authorize! :update, @expense

    @expense_line = @expense.expense_lines.new
  end

  def create
    authorize! :update, @expense

    @expense_line = @expense.expense_lines.new(expense_line_params)

    if @expense_line.save
      flash[:success] = t("expense_gun.expense_line.flash.created")
      redirect_to back_url
    else
      render :new
    end
  end

  def edit
    authorize! :update, @expense
  end

  def update
    authorize! :update, @expense

    if @expense_line.update_attributes(expense_line_params)
      flash[:success] = t("expense_gun.expense_line.flash.created")
      redirect_to back_url
    else
      render :edit
    end
  end

  def destroy
    authorize! :update, @expense

    @expense_line.destroy
    flash[:success] = t("expense_gun.expense_line.flash.created")
    redirect_to back_url
  end

  private

  def back_url
    dorsale.expense_gun_expense_path(@expense)
  end

  def set_objects
    @expense      = ::Dorsale::ExpenseGun::Expense.find params[:expense_id]
    @expense_line = ::Dorsale::ExpenseGun::ExpenseLine.find params[:id] if params[:id].present?
  end

  def expense_line_params
    params.fetch(:expense_line, {}).permit!
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dorsale-3.0.3 app/controllers/dorsale/expense_gun/expense_lines_controller.rb