From 7ece8cbb470883b2ed806ed5367a8edbd10aaa16 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Wed, 3 Jan 2018 10:01:43 +0630 Subject: [PATCH] update add extra time after request --- app/controllers/origami/sales_controller.rb | 13 +++++++------ app/models/order.rb | 5 +++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/controllers/origami/sales_controller.rb b/app/controllers/origami/sales_controller.rb index bdf481c2..4c00566c 100755 --- a/app/controllers/origami/sales_controller.rb +++ b/app/controllers/origami/sales_controller.rb @@ -16,12 +16,13 @@ class Origami::SalesController < BaseOrigamiController sale_id = params[:sale_id] table = DiningFacility.find(dining) existing_booking = Booking.find_by_sale_id(sale_id) + table.bookings.each do |booking| - # if !booking.checkout_at.nil? - # existing_booking.update_attributes(checkout_at: checkout_at) - # end - if booking.sale_id.nil? - booking.booking_orders.each do |booking_order| + if !booking.checkout_at.nil? && !booking.sale_id.nil? + existing_booking.update_attributes(checkout_at: booking.checkout_at) + end + if booking.sale_id.nil? + booking.booking_orders.each do |booking_order| booking.booking_status = 'moved' order = Order.find(booking_order.order_id) @@ -40,7 +41,7 @@ class Origami::SalesController < BaseOrigamiController saleobj.save order.save booking.save - end + end booking_order = BookingOrder.where('booking_id=?',booking) booking_order.each do |bo| diff --git a/app/models/order.rb b/app/models/order.rb index 318e8e91..6b6bd158 100755 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -27,8 +27,10 @@ class Order < ApplicationRecord if self.new_booking #add extra time if self.is_extra_time && self.extra_time + old_booking = Booking.where("booking_id = #{self.booking_id} and sale_id NOT NULL").first + new_time = old_booking.checkout_at + self.extra_time.to_i booking = Booking.create({:dining_facility_id => self.table_id,:type => "TableBooking", - :checkin_at => Time.now.utc,:checkout_at => Time.now.utc + self.extra_time.to_i, + :checkin_at => Time.now.utc,:checkout_at => new_time, :checkin_by => self.employee_name, :booking_status => "assign" }) else @@ -37,7 +39,6 @@ class Order < ApplicationRecord :booking_status => "assign" }) end #end extra time - table = DiningFacility.find(self.table_id) table.status = "occupied"