class Origami::SurveysController < BaseOrigamiController def new @survey = Survey.new @id = params[:id] @cashier_type = params[:type] if(@id[0,3] == "SAL") @sale = Sale.find(@id) @receipt_no = @sale.receipt_no @grand_total = @sale.grand_total @booking = Booking.find_by_sale_id(@id) if @booking.dining_facility_id.to_i>0 @dining_facility = DiningFacility.find(@booking.dining_facility_id) @table_type = @dining_facility.type @survey_data = Survey.find_by_dining_name(@dining_facility.name) survey_process = Survey.find_by_receipt_no(@receipt_no) if !survey_process.nil? @survey_data = survey_process end else @dining_facility = nil @table_type = nil end else @dining_facility = DiningFacility.find(@id) @table_type = @dining_facility.type @receipt_no = nil @grand_total = nil @survey_data = Survey.find_by_dining_name(@dining_facility.name) end end def create @type = params[:cashier_type] @sale_id = params[:sale_id] if params[:table_id].to_i>0 @dining_facility = DiningFacility.find(params[:table_id]) cashier_zone = CashierTerminalByZone.find_by_zone_id(@dining_facility.zone_id) shift_by_terminal = ShiftSale.find_by_cashier_terminal_id_and_shift_closed_at(cashier_zone.cashier_terminal_id,nil) else sale = Sale.find(@sale_id) shift = ShiftSale.find(sale.shift_sale_id) shift_by_terminal = ShiftSale.find_by_cashier_terminal_id_and_shift_closed_at(shift.cashier_terminal_id,nil) end if @type == "quick_service" @url = "/origami/sale/"+@sale_id+"/"+@type+"/payment" else @url = "/origami/"+@dining_facility.type.downcase+"/"+params[:table_id] end if params[:survey_id].nil? || params[:survey_id] == "" @survey = Survey.new(survey_params) @survey.shift_id = shift_by_terminal.id @survey.foreigner = params["survey"]["foreigner"].to_json # respond_to do |format| if @survey.save redirect_to @url end # end else survey = Survey.find_by_id(params[:survey_id]) survey.child = params["survey"]["child"] survey.adult = params["survey"]["adult"] survey.male = params["survey"]["male"] survey.female = params["survey"]["female"] survey.local = params["survey"]["local"] survey.dining_name = params["survey"]["dining_name"] survey.receipt_no = params["survey"]["receipt_no"] survey.shift_id = shift_by_terminal.id survey.created_by = params["survey"]["created_by"] survey.total_customer = params["survey"]["total_customer"] survey.total_amount = params["survey"]["total_amount"] survey.foreigner = params["survey"]["foreigner"].to_json if survey.save! redirect_to @url end end end def create_survey if shift_by_terminal = ShiftSale.current_open_shift(get_cashier[0].id) @type = params[:cashier_type] @sale_id = params[:sale_id] sale = Sale.find(@sale_id) if @type != "quick_service" dining_facility = DiningFacility.find(params[:dining_id]) cashier_zone = CashierTerminalByZone.find_by_zone_id(dining_facility.zone_id) cashier_terminal_id = cashier_zone.cashier_terminal_id else shift = ShiftSale.find(sale.shift_sale_id) cashier_terminal_id = shift.cashier_terminal_id end shift_by_terminal = ShiftSale.find_by_cashier_terminal_id_and_shift_closed_at(cashier_terminal_id,nil) if @type != "quick_service" survey = Survey.find_by_dining_name(dining_facility.name) else survey = nil end if survey.nil? survey = Survey.new if @type != "quick_service" survey.dining_name = dining_facility.name end survey.receipt_no = params[:receipt_no] survey.shift_id = shift_by_terminal.id survey.created_by = current_user.name survey.total_customer = params[:total_customer] survey.total_amount = params[:total_amount] survey.save! else survey.receipt_no = params[:receipt_no] survey.total_customer = params[:total_customer] survey.save! end render :json => {status: true} else render :json => { status: false, error_message: 'No Current Open Shift!'} end end private # Never trust parameters from the scary internet, only allow the white list through. def survey_params params.require(:survey).permit(:child, :adult,:male,:female,:local,:foreigner, :dining_name,:receipt_no,:shift_id,:created_by,:total_customer,:total_amount,:survey_id) end #Shop Name in Navbor helper_method :shop_detail def shop_detail @shop = Shop.first end end