From c1525be8260a397b08899fe14fcfc6757885901b Mon Sep 17 00:00:00 2001 From: San Wai Lwin Date: Fri, 18 May 2018 16:26:03 +0630 Subject: [PATCH] Pull from master --- app/assets/javascripts/addorder.js | 12 +++++----- app/assets/javascripts/cable.js | 2 +- app/assets/javascripts/channels/bill.js | 22 +++++++++++-------- app/assets/javascripts/channels/order.js | 2 -- app/channels/application_cable/connection.rb | 20 +++++++++++++++++ app/channels/order_channel.rb | 2 +- .../origami/request_bills_controller.rb | 11 ++++++---- app/models/menu_category.rb | 2 +- app/models/menu_item.rb | 2 +- app/models/order.rb | 4 ++-- app/models/order_queue_station.rb | 1 + config/initializers/action_controller.rb | 10 ++++----- 12 files changed, 58 insertions(+), 32 deletions(-) diff --git a/app/assets/javascripts/addorder.js b/app/assets/javascripts/addorder.js index 8b9c4e01..611ffb17 100755 --- a/app/assets/javascripts/addorder.js +++ b/app/assets/javascripts/addorder.js @@ -58,8 +58,8 @@ $(function() { row = '
' +'
' - +'
'+ product[field].name +'
' - +"' + +"' +'
' @@ -1430,8 +1430,8 @@ $(function() { row = '
' +'
' - +'
'+ menu_items[field].name +'
' - +"
'+ menu_items[field].name +'
' + +"
" - +"" + +"" +add+ '' +'
' +'
' diff --git a/app/assets/javascripts/cable.js b/app/assets/javascripts/cable.js index 55bfd46b..1668e17f 100755 --- a/app/assets/javascripts/cable.js +++ b/app/assets/javascripts/cable.js @@ -8,7 +8,7 @@ // Temp Disable (function() { this.App || (this.App = {}); - + App.cable = ActionCable.createConsumer(); }).call(this); diff --git a/app/assets/javascripts/channels/bill.js b/app/assets/javascripts/channels/bill.js index 97666e32..7fa2b77e 100755 --- a/app/assets/javascripts/channels/bill.js +++ b/app/assets/javascripts/channels/bill.js @@ -6,15 +6,19 @@ App.order = App.cable.subscriptions.create('BillChannel', { disconnected: function() {}, received: function(data) { - if($('.table_'+data.table.id).hasClass('blue')){ - $('.table_'+data.table.id).removeClass('blue'); - $('.table_'+data.table.id).addClass('red'); - }else{ - $('.table_'+data.table.id).removeClass('orange'); - $('.table_'+data.table.id).addClass('red'); - } - $('.new_text_'+data.table.id).removeClass('hide'); - $('.new_text_'+data.table.id).text('billed'); + var hostname = location.hostname.trim(); + if(data.from == "" || hostname == data.from) + { + if($('.table_'+data.table.id).hasClass('blue')){ + $('.table_'+data.table.id).removeClass('blue'); + $('.table_'+data.table.id).addClass('red'); + }else{ + $('.table_'+data.table.id).removeClass('orange'); + $('.table_'+data.table.id).addClass('red'); + } + $('.new_text_'+data.table.id).removeClass('hide'); + $('.new_text_'+data.table.id).text('billed'); + } } }); diff --git a/app/assets/javascripts/channels/order.js b/app/assets/javascripts/channels/order.js index 9598ed6f..26c7897e 100755 --- a/app/assets/javascripts/channels/order.js +++ b/app/assets/javascripts/channels/order.js @@ -1,6 +1,4 @@ App.order = App.cable.subscriptions.create('OrderChannel', { -// App.messages = App.cable.subscriptions.create('MessagesChannel', { - connected: function() {}, disconnected: function() {}, diff --git a/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb index 4efdb70d..14561a4e 100755 --- a/app/channels/application_cable/connection.rb +++ b/app/channels/application_cable/connection.rb @@ -1,7 +1,27 @@ module ApplicationCable class Connection < ActionCable::Connection::Base + identified_by :current_subdomain def connect + if ENV["server_mode"] == "cloud" + self.current_subdomain = verified_subdomain + end logger.add_tags "SX-ActionCable" end + + private + def verified_subdomain + from = request.subdomain.downcase + "." + request.domain.downcase + file_path = "config/shops.json" + shop_data = File.read(file_path) + + shop_json = JSON.parse(shop_data) + shop_json["data"].each do |j| + if j["lookup"] == from + verified_subdomain = from + else + reject_unauthorized_connection + end + end + end end end diff --git a/app/channels/order_channel.rb b/app/channels/order_channel.rb index d261e48b..6f899707 100755 --- a/app/channels/order_channel.rb +++ b/app/channels/order_channel.rb @@ -1,5 +1,5 @@ class OrderChannel < ApplicationCable::Channel - def subscribed + def subscribed stream_from "order_channel" end diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb index 0c50a5da..3d2c90aa 100755 --- a/app/controllers/origami/request_bills_controller.rb +++ b/app/controllers/origami/request_bills_controller.rb @@ -38,10 +38,13 @@ class Origami::RequestBillsController < ApplicationController # Promotion Activation Promotion.promo_activate(@sale) - #bill channel - #if ENV["SERVER_MODE"] != 'cloud' - ActionCable.server.broadcast "bill_channel",table: table - #end + #bill channel + if ENV["SERVER_MODE"] == 'cloud' + from = request.subdomain + "." + request.domain + else + from = "" + end + ActionCable.server.broadcast "bill_channel",table: table, from: from if order.source == "quick_service" result = {:status=> @status, :data => @sale.sale_id } render :json => result.to_json diff --git a/app/models/menu_category.rb b/app/models/menu_category.rb index 218bacb8..21d95770 100755 --- a/app/models/menu_category.rb +++ b/app/models/menu_category.rb @@ -9,7 +9,7 @@ class MenuCategory < ApplicationRecord validates_presence_of :code, :name, :menu, :order_by validates_uniqueness_of :code - default_scope { order('order_by asc') } + default_scope { order('name asc') } scope :active, -> {where("is_available = 1")} def self.destroyCategory(menu_category) diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 03e90011..e184cd51 100755 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -16,7 +16,7 @@ class MenuItem < ApplicationRecord validates_presence_of :item_code, :name, :type, :min_qty,:account_id validates_uniqueness_of :item_code - default_scope { order('item_code asc') } + default_scope { order('name asc') } scope :simple_menu_item, -> { where(type: 'SimpleMenuItem') } scope :set_menu_item, -> { where(type: 'SetMenuItem') } diff --git a/app/models/order.rb b/app/models/order.rb index 66ac883f..8a0e52b3 100755 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -71,9 +71,9 @@ class Order < ApplicationRecord BookingOrder.create({:booking_id => booking.booking_id, :order => self}) #Send order to queue one it done! - # if self.source != "quick_service" + if self.source != "quick_service" process_order_queue - # end + end #send order to broadcast job send_order_broadcast(booking) diff --git a/app/models/order_queue_station.rb b/app/models/order_queue_station.rb index 1541828c..70b28c1f 100755 --- a/app/models/order_queue_station.rb +++ b/app/models/order_queue_station.rb @@ -116,6 +116,7 @@ class OrderQueueStation < ApplicationRecord order = Order.find(order_id) order_items = order.order_items + Order.pay_process_order_queue(order_id,table_id) if table_id.to_i > 0 # get dining dining = DiningFacility.find(table_id) diff --git a/config/initializers/action_controller.rb b/config/initializers/action_controller.rb index e0eb7455..b84bca54 100644 --- a/config/initializers/action_controller.rb +++ b/config/initializers/action_controller.rb @@ -20,11 +20,11 @@ class ActionController::Base end else #check for license file - if check_license - current_license(ENV["SX_PROVISION_URL"]) - else - redirect_to activate_path - end + # if check_license + # current_license(ENV["SX_PROVISION_URL"]) + # else + # redirect_to activate_path + # end end end