You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
47 lines
1.1 KiB
class MileageRatesController < ApplicationController
|
|
before_action :authenticate_user!
|
|
# Optional: nur Admins erlauben
|
|
# before_action :require_admin!
|
|
|
|
before_action :set_mileage_rate, only: [:edit, :update]
|
|
|
|
def index
|
|
@mileage_rates = MileageRate.order(year: :desc)
|
|
end
|
|
|
|
def new
|
|
@mileage_rate = MileageRate.new
|
|
end
|
|
|
|
def create
|
|
@mileage_rate = MileageRate.new(mileage_rate_params)
|
|
if @mileage_rate.save
|
|
redirect_to mileage_rates_path, notice: "Kilometersatz für #{@mileage_rate.year} gespeichert."
|
|
else
|
|
flash.now[:alert] = "Speichern fehlgeschlagen"
|
|
render :new, status: :unprocessable_entity
|
|
end
|
|
end
|
|
|
|
def edit
|
|
end
|
|
|
|
def update
|
|
if @mileage_rate.update(mileage_rate_params)
|
|
redirect_to mileage_rates_path, notice: "Kilometersatz für #{@mileage_rate.year} aktualisiert."
|
|
else
|
|
flash.now[:alert] = "Aktualisierung fehlgeschlagen"
|
|
render :edit, status: :unprocessable_entity
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def set_mileage_rate
|
|
@mileage_rate = MileageRate.find(params[:id])
|
|
end
|
|
|
|
def mileage_rate_params
|
|
params.require(:mileage_rate).permit(:year, :rate_per_km)
|
|
end
|
|
end
|