class Settings::DiningChargesController < ApplicationController before_action :set_dining_charge, only: [:show, :edit, :update, :destroy] before_action :set_settings_facility before_action :set_settings_zone # GET /dining_charges # GET /dining_charges.json def index @dining_charges = DiningCharge.all end # GET /dining_charges/1 # GET /dining_charges/1.json def show end # GET /dining_charges/new def new @dining_charge = DiningCharge.new @dining_charge.minimum_free_time="00:30" @dining_charge.charge_block="02:00" @dining_charge.time_rounding_block="00:15" end # GET /dining_charges/1/edit def edit end # POST /dining_charges # POST /dining_charges.json def create @dining_charge = DiningCharge.new(dining_charge_params) @dining_charge.dining_facility_id = @settings_dining_facility.id respond_to do |format| if @dining_charge.save if @table format.html { redirect_to edit_settings_zone_table_path(@zone,@settings_dining_facility), notice: 'Dining charge was successfully created.' } else format.html { redirect_to edit_settings_zone_room_path(@zone,@settings_dining_facility), notice: 'Dining charge was successfully created.' } end format.json { render :show, status: :created, location: @dining_charge } else format.html { render :new } format.json { render json: @dining_charge.errors, status: :unprocessable_entity } end end end # PATCH/PUT /dining_charges/1 # PATCH/PUT /dining_charges/1.json def update respond_to do |format| @dining_charge.dining_facility_id = @settings_dining_facility.id if @dining_charge.update(dining_charge_params) if @table format.html { redirect_to edit_settings_zone_table_path(@zone,@settings_dining_facility), notice: 'Dining charge was successfully updated.' } else format.html { redirect_to edit_settings_zone_room_path(@zone,@settings_dining_facility), notice: 'Dining charge was successfully updated.' } end format.json { render :show, status: :ok, location: @dining_charge } else format.html { render :edit } format.json { render json: @dining_charge.errors, status: :unprocessable_entity } end end end # DELETE /dining_charges/1 # DELETE /dining_charges/1.json def destroy @dining_charge.destroy respond_to do |format| format.html { redirect_to dining_charges_url, notice: 'Dining charge was successfully destroyed.' } format.json { head :no_content } end end private # Use callbacks to share common setup or constraints between actions. def set_dining_charge @dining_charge = DiningCharge.find(params[:id]) end def set_settings_facility if params[:table_id] @table = true @settings_dining_facility = Table.find(params[:table_id]) elsif params[:room_id] @room = true @settings_dining_facility = Room.find(params[:room_id]) end end def set_settings_zone @zone = Zone.find(params[:zone_id]) end # Never trust parameters from the scary internet, only allow the white list through. def dining_charge_params # params.fetch(:dining_charge, {}) params.require(:dining_charge).permit(:item_code, :unit_price, :taxable, :charge_type,:minimum_free_time ,:charge_block,:time_rounding,:time_rounding_block, :zone_id, :time_rounding_block_price) end end