From 0c0e44c8085f0bf1899b5550d980c70e16e6b75f Mon Sep 17 00:00:00 2001 From: Nweni Date: Thu, 22 Jun 2017 16:31:41 +0630 Subject: [PATCH] move table --- Gemfile | 2 +- Gemfile.lock | 2 ++ app/controllers/origami/home_controller.rb | 15 ++++++----- .../origami/movetable_controller.rb | 2 +- app/models/booking.rb | 25 ++++++++++++++++--- app/models/customer.rb | 12 ++++----- app/models/dining_facility.rb | 2 ++ .../api/orders/view_orders.json.jbuilder | 4 +-- 8 files changed, 44 insertions(+), 20 deletions(-) diff --git a/Gemfile b/Gemfile index 22275707..227cfa72 100644 --- a/Gemfile +++ b/Gemfile @@ -12,7 +12,7 @@ gem 'rails', '~> 5.1.0' gem 'mysql2', '>= 0.3.18', '< 0.5' #Use PosgreSQL -# gem 'pg' +gem 'pg' # redis server for cable # gem 'redis', '~> 3.0' diff --git a/Gemfile.lock b/Gemfile.lock index 5c0f8a10..e4b905ea 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -122,6 +122,7 @@ GEM nokogiri (1.8.0) mini_portile2 (~> 2.2.0) pdf-core (0.7.0) + pg (0.21.0) prawn (2.2.2) pdf-core (~> 0.7.0) ttfunk (~> 1.5) @@ -260,6 +261,7 @@ DEPENDENCIES kaminari (~> 1.0.1) listen (~> 3.0.5) mysql2 (>= 0.3.18, < 0.5) + pg prawn prawn-table puma (~> 3.0) diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index a8560eee..13c528ab 100644 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -17,22 +17,25 @@ class Origami::HomeController < BaseOrigamiController @status_order = "" @status_sale = "" @sale_array = Array.new + @dining.bookings.active.each do |booking| if booking.sale_id.nil? && booking.booking_status != 'moved' - @order_items = Array.new + @order_items = Array.new booking.booking_orders.each do |booking_order| - order = Order.find(booking_order.order_id) - @obj_order = order - @date = order.created_at - order.order_items.each do |item| - @order_items.push(item) + if (order.status == "new") + @obj_order = order + @date = order.created_at + order.order_items.each do |item| + @order_items.push(item) + end end end @status_order = 'order' else sale = Sale.find(booking.sale_id) if sale.sale_status != "completed" + puts "enter" @sale_array.push(sale) if @status_order == 'order' @status_order = 'sale' diff --git a/app/controllers/origami/movetable_controller.rb b/app/controllers/origami/movetable_controller.rb index cc6281ce..461f8694 100644 --- a/app/controllers/origami/movetable_controller.rb +++ b/app/controllers/origami/movetable_controller.rb @@ -44,7 +44,7 @@ class Origami::MovetableController < BaseOrigamiController bookings = Booking.where('dining_facility_id=?',change_from) booking_array = Array.new bookings.each do | booking | - if booking.sale_id.nil? || booking.sale.sale_status != 'completed' + if booking.sale_id.nil? || booking.sale.sale_status != 'completed' || booking.booking_status != 'moved' booking_array.push(booking) end end diff --git a/app/models/booking.rb b/app/models/booking.rb index b7c6667a..cc4ae389 100644 --- a/app/models/booking.rb +++ b/app/models/booking.rb @@ -12,10 +12,27 @@ class Booking < ApplicationRecord scope :active, -> {where("booking_status != 'moved'")} def self.update_dining_facility(booking_arr, newd, old) - booking_arr.each do |booking| - booking.dining_facility_id = newd - booking.save - end + table = DiningFacility.find(newd) + exist = table.get_booking + if exist + # order exists + booking_arr.each do |booking| + booking.dining_facility_id = newd + booking.booking_status = 'moved' + booking.save + booking.booking_orders.each do |bo| + bo.booking_id = exist.booking_id + bo.save + end + end + else + # new table + booking_arr.each do |booking| + booking.dining_facility_id = newd + booking.save + end + end + new_dining = DiningFacility.find(newd) new_dining.make_occupied old_dining = DiningFacility.find(old) diff --git a/app/models/customer.rb b/app/models/customer.rb index 4e25c9bc..e6afca08 100644 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -6,7 +6,7 @@ class Customer < ApplicationRecord has_many :orders has_many :sales - validates_presence_of :name, :contact_no, :email,:company,:card_no + validates_presence_of :name, :contact_no, :email,:card_no validates :contact_no, uniqueness: true validates :email, uniqueness: true validates :card_no, uniqueness: true @@ -34,7 +34,7 @@ class Customer < ApplicationRecord end return response; - + end def self.get_membership_transactions(customer) @@ -58,13 +58,13 @@ class Customer < ApplicationRecord end return response; - + end def self.search(search) if search # find(:all, :conditions => ['name LIKE ? OR contact_no LIKE ?', "%#{search}%", "%#{search}%"]) - where("name LIKE ? OR contact_no LIKE ? OR card_no LIKE ?", "%#{search}%", "%#{search}%", "%#{search}%",) + where("name LIKE ? OR contact_no LIKE ? OR card_no LIKE ?", "%#{search}%", "%#{search}%", "%#{search}%",) else find(:all) end @@ -80,8 +80,8 @@ class Customer < ApplicationRecord end - WALKIN = "CUS-000000000001" - TAKEAWAY = "CUS-000000000002" + WALKIN = "CUS-000000000001" + TAKEAWAY = "CUS-000000000002" private def generate_custom_id diff --git a/app/models/dining_facility.rb b/app/models/dining_facility.rb index 0e10307b..f8cb639c 100644 --- a/app/models/dining_facility.rb +++ b/app/models/dining_facility.rb @@ -20,6 +20,8 @@ class DiningFacility < ApplicationRecord def get_booking booking = self.get_current_booking + puts "is bookig?" + puts booking if booking if booking.dining_facility_id.to_i == self.id if booking.booking_status == 'assign' diff --git a/app/views/api/orders/view_orders.json.jbuilder b/app/views/api/orders/view_orders.json.jbuilder index ef927af0..b2c960af 100644 --- a/app/views/api/orders/view_orders.json.jbuilder +++ b/app/views/api/orders/view_orders.json.jbuilder @@ -23,9 +23,9 @@ if (@booking) order_items = [] @booking.booking_orders.each do |bo| order = Order.find(bo.order_id) - #if (order.status == "new") + if (order.status == "new") order_items = order_items + order.order_items - #end + end end json.order_items order_items do |item|