puma deleted by sqa-1804-001
This commit is contained in:
12
README.md
12
README.md
@@ -184,6 +184,18 @@ For MoveTablePdf in print settings
|
|||||||
Add Kitchen Role of Employee
|
Add Kitchen Role of Employee
|
||||||
=> 1) settings/lookups => { type:employee_roles, name: Kitchen, value:kitchen }
|
=> 1) settings/lookups => { type:employee_roles, name: Kitchen, value:kitchen }
|
||||||
|
|
||||||
|
Add Base URL for DOEMAL
|
||||||
|
1) settings/lookups => { type:order_reservation, name: BaseURL, value:'{doemal url}' }
|
||||||
|
2) settings/lookups => { type:order_reservation, name: Token, value:'{doemal token}' }
|
||||||
|
|
||||||
|
Add Feature for Quick Service
|
||||||
|
** '0' means can not use quick service and '1' means can use quick service **
|
||||||
|
=> settings/lookups => { type:quick_service, name: QuickService, value:'{0 or 1}' }
|
||||||
|
|
||||||
|
Add Feature for Order and Reservation
|
||||||
|
** '0' means can not use order reservation and '1' means can use order reservation **
|
||||||
|
=> settings/lookups => { type:order_reservation, name: OrderReservation, value:'{0 or 1}' }
|
||||||
|
|
||||||
* ToDo list
|
* ToDo list
|
||||||
|
|
||||||
1. Migration
|
1. Migration
|
||||||
|
|||||||
@@ -18,13 +18,16 @@ App.checkin = App.cable.subscriptions.create('OrderReservationChannel', {
|
|||||||
var time = [date.getHours() - (isPM && !isMidday ? 12 : 0),
|
var time = [date.getHours() - (isPM && !isMidday ? 12 : 0),
|
||||||
date.getMinutes() || '00'].join(':') +
|
date.getMinutes() || '00'].join(':') +
|
||||||
(isPM ? ' PM' : 'AM');
|
(isPM ? ' PM' : 'AM');
|
||||||
|
var requested_date = date.getDate() + '-' + date.getMonth() + '-' + date.getFullYear()
|
||||||
|
|
||||||
row = '<tr class="custom-tr first-'+rowCount+'" style="" data-id="'+order.order_reservation_id+'" data-sr-no="'+rowCount+'">'
|
row = '<tr class="custom-tr first-'+rowCount+'" style="" data-id="'+order.order_reservation_id+'" data-sr-no="'+rowCount+'">'
|
||||||
+'<td width ="5%" class="align-left">'+rowCount
|
+'<td width ="5%" class="align-left">'+rowCount
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+'<td width ="30%" class="align-center">'+time
|
+'<td width ="20%" class="align-center">'+requested_date
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+'<td width ="30%" class="align-center">'+order.grand_total
|
+'<td width ="20%" class="align-center">'+time
|
||||||
|
+'</td>'
|
||||||
|
+'<td width ="20%" class="align-center">'+order.grand_total
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+'<td width ="30%" class="align-center">'
|
+'<td width ="30%" class="align-center">'
|
||||||
+'<span class="font-10 col-blue">'+ order.status +'</span>'
|
+'<span class="font-10 col-blue">'+ order.status +'</span>'
|
||||||
|
|||||||
@@ -23,46 +23,45 @@ class Api::ApiController < ActionController::API
|
|||||||
@employee = Employee.find_by_token_session(current_token)
|
@employee = Employee.find_by_token_session(current_token)
|
||||||
end
|
end
|
||||||
|
|
||||||
def lookup_domain
|
# def lookup_domain
|
||||||
if request.subdomain.present? && request.subdomain != "www"
|
# if request.subdomain.present? && request.subdomain != "www"
|
||||||
from = request.subdomain.downcase + "." + request.domain.downcase
|
# from = request.subdomain.downcase + "." + request.domain.downcase
|
||||||
@license = cache_license(ENV["SX_PROVISION_URL"], from) # request.subdomain.downcase
|
# @license = cache_license(ENV["SX_PROVISION_URL"], from) # request.subdomain.downcase
|
||||||
if (!@license.nil?)
|
# if (!@license.nil?)
|
||||||
logger.info "Location - " + @license.dbhost
|
# logger.info "Location - " + @license.dbhost
|
||||||
ActiveRecord::Base.establish_connection(website_connection(@license))
|
# ActiveRecord::Base.establish_connection(website_connection(@license))
|
||||||
# authenticate_session_token
|
# # authenticate_session_token
|
||||||
# logger.info "Connecting to - " + @license.subdomain + " - "+ @license.dbhost + "@" + @license.dbschema
|
# # logger.info "Connecting to - " + @license.subdomain + " - "+ @license.dbhost + "@" + @license.dbschema
|
||||||
else
|
# else
|
||||||
# reconnect_default_db
|
# # reconnect_default_db
|
||||||
logger.info 'License is nil'
|
# logger.info 'License is nil'
|
||||||
# redirect_to root_url(:host => request.domain) + "store_error"
|
# # redirect_to root_url(:host => request.domain) + "store_error"
|
||||||
render :json => [{ status: false, message: 'Invalid Access!'}]
|
# render :json => [{ status: false, message: 'Invalid Access!'}]
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
|
|
||||||
def website_connection(license)
|
# def website_connection(license)
|
||||||
default_connection.dup.update(:host => license.dbhost, :database => license.dbschema.to_s.downcase,
|
# default_connection.dup.update(:host => license.dbhost, :database => license.dbschema.to_s.downcase,
|
||||||
:username => license.dbusername, :password => license.dbpassword)
|
# :username => license.dbusername, :password => license.dbpassword)
|
||||||
|
# end
|
||||||
|
|
||||||
end
|
# def reconnect_default_db
|
||||||
|
# ActiveRecord::Base.establish_connection(Rails.env)
|
||||||
|
# end
|
||||||
|
|
||||||
def reconnect_default_db
|
# # Regular database.yml configuration hash
|
||||||
ActiveRecord::Base.establish_connection(Rails.env)
|
# def default_connection
|
||||||
end
|
# @default_config ||= ActiveRecord::Base.connection.instance_variable_get("@config").dup
|
||||||
|
# end
|
||||||
|
|
||||||
# Regular database.yml configuration hash
|
# def cache_license(url, lookup)
|
||||||
def default_connection
|
# @license = License.new(url, lookup)
|
||||||
@default_config ||= ActiveRecord::Base.connection.instance_variable_get("@config").dup
|
|
||||||
end
|
|
||||||
|
|
||||||
def cache_license(url, lookup)
|
# if (@license.detail_with_local_cache(lookup) == true)
|
||||||
@license = License.new(url, lookup)
|
# return @license
|
||||||
|
# else
|
||||||
if (@license.detail_with_local_cache(lookup) == true)
|
# return nil
|
||||||
return @license
|
# end
|
||||||
else
|
# end
|
||||||
return nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -47,7 +47,9 @@ class Api::BillController < Api::ApiController
|
|||||||
Promotion.promo_activate(@sale)
|
Promotion.promo_activate(@sale)
|
||||||
|
|
||||||
#BillBroadcastJob.perform_later(table)
|
#BillBroadcastJob.perform_later(table)
|
||||||
ActionCable.server.broadcast "bill_channel",table: table
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "bill_channel",table: table
|
||||||
|
#end
|
||||||
else
|
else
|
||||||
@status = false
|
@status = false
|
||||||
@error_message = "No Current Open Shift"
|
@error_message = "No Current Open Shift"
|
||||||
|
|||||||
@@ -6,8 +6,9 @@ class Api::CallWaitersController < ActionController::API
|
|||||||
@time = params[:time]
|
@time = params[:time]
|
||||||
@table = DiningFacility.find(@table_id)
|
@table = DiningFacility.find(@table_id)
|
||||||
# CallWaiterJob.perform_later(@table,@time)
|
# CallWaiterJob.perform_later(@table,@time)
|
||||||
ActionCable.server.broadcast "call_waiter_channel",table: @table,time:@time
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "call_waiter_channel",table: @table,time:@time
|
||||||
|
#end
|
||||||
# get printer info
|
# get printer info
|
||||||
@shop = Shop.first
|
@shop = Shop.first
|
||||||
unique_code = "CallWaiterPdf"
|
unique_code = "CallWaiterPdf"
|
||||||
|
|||||||
@@ -56,10 +56,13 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController
|
|||||||
end
|
end
|
||||||
|
|
||||||
if status == true
|
if status == true
|
||||||
order_reservation_id, flag = OrderReservation.addOrderReservationInfo(params)
|
order_reservation = params
|
||||||
|
order_reservation_id, flag = OrderReservation.addOrderReservationInfo(order_reservation)
|
||||||
|
|
||||||
order_reservation = OrderReservation.find(order_reservation_id)
|
order_reservation = OrderReservation.find(order_reservation_id)
|
||||||
ActionCable.server.broadcast "order_reservation_channel",data: order_reservation
|
if flag #&& ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "order_reservation_channel",data: order_reservation
|
||||||
|
end
|
||||||
|
|
||||||
if flag
|
if flag
|
||||||
render :json => { :status => true, :order_reservation_id => order_reservation_id, :message => "Order reservation is successfully created!" }
|
render :json => { :status => true, :order_reservation_id => order_reservation_id, :message => "Order reservation is successfully created!" }
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ module TokenVerification
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@user = Employee.authenticate_by_token(token)
|
@user = Employee.
|
||||||
|
(token)
|
||||||
if @user
|
if @user
|
||||||
return true
|
return true
|
||||||
#Maybe log - login?
|
#Maybe log - login?
|
||||||
|
|||||||
@@ -184,11 +184,9 @@ puts items_arr.to_json
|
|||||||
|
|
||||||
@status, @sale = Sale.request_bill(@order,current_user,current_login_employee)
|
@status, @sale = Sale.request_bill(@order,current_user,current_login_employee)
|
||||||
# for second display
|
# for second display
|
||||||
if ENV["SERVER_MODE"] != 'cloud'
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale"
|
||||||
ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale"
|
#end
|
||||||
|
|
||||||
end
|
|
||||||
result = {:status=> @status, :data => @sale }
|
result = {:status=> @status, :data => @sale }
|
||||||
render :json => result.to_json
|
render :json => result.to_json
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -56,6 +56,22 @@ class Origami::DashboardController < BaseOrigamiController
|
|||||||
# get printer info
|
# get printer info
|
||||||
@print_settings = PrintSetting.get_precision_delimiter()
|
@print_settings = PrintSetting.get_precision_delimiter()
|
||||||
@current_user = current_user
|
@current_user = current_user
|
||||||
|
#quick service
|
||||||
|
quick_service = Lookup.collection_of('quick_service')
|
||||||
|
@quick_service = 0
|
||||||
|
if !quick_service[0].nil?
|
||||||
|
@quick_service = quick_service[0][1]
|
||||||
|
end
|
||||||
|
#order reservation
|
||||||
|
order_reservation = Lookup.collection_of('order_reservation')
|
||||||
|
@order_reservation = 0
|
||||||
|
if !order_reservation.empty?
|
||||||
|
order_reservation.each do |order_reserve|
|
||||||
|
if order_reserve[0] == 'OrderReservation'
|
||||||
|
@order_reservation = order_reserve[1]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class Origami::HomeController < BaseOrigamiController
|
|||||||
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))
|
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))
|
||||||
@orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
|
@orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
|
||||||
@shop = Shop.first
|
@shop = Shop.first
|
||||||
|
|
||||||
# @shift = ShiftSale.current_open_shift(current_user.id)
|
# @shift = ShiftSale.current_open_shift(current_user.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ class Origami::HomeController < BaseOrigamiController
|
|||||||
@rooms = Room.all.active.order('status desc')
|
@rooms = Room.all.active.order('status desc')
|
||||||
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))
|
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))
|
||||||
@orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
|
@orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
|
||||||
|
|
||||||
@status_order = ""
|
@status_order = ""
|
||||||
@status_sale = ""
|
@status_sale = ""
|
||||||
@sale_array = Array.new
|
@sale_array = Array.new
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
class Origami::OrderReservationController < BaseOrigamiController
|
class Origami::OrderReservationController < BaseOrigamiController
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@order = OrderReservation.all
|
@order = OrderReservation.latest_order
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ class Origami::PaymentsController < BaseOrigamiController
|
|||||||
def first_bill
|
def first_bill
|
||||||
sale_id = params[:sale_id] # sale_id
|
sale_id = params[:sale_id] # sale_id
|
||||||
sale_data = Sale.find_by_sale_id(sale_id)
|
sale_data = Sale.find_by_sale_id(sale_id)
|
||||||
sale_items = SaleItem.where("sale_id=?",sale_id)
|
sale_items = SaleItem.select("sale_id,product_code,item_instance_code,product_name,product_alt_name,account_id,status,remark,SUM(qty) as qty,unit_price,taxable_price,price,is_taxable").where("sale_id=?",sale_id).group("item_instance_code,price")
|
||||||
member_info = nil
|
member_info = nil
|
||||||
|
|
||||||
# For Cashier by Zone
|
# For Cashier by Zone
|
||||||
|
|||||||
@@ -39,7 +39,9 @@ class Origami::RequestBillsController < ApplicationController
|
|||||||
# Promotion Activation
|
# Promotion Activation
|
||||||
Promotion.promo_activate(@sale)
|
Promotion.promo_activate(@sale)
|
||||||
#bill channel
|
#bill channel
|
||||||
ActionCable.server.broadcast "bill_channel",table: table
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "bill_channel",table: table
|
||||||
|
#end
|
||||||
if order.source == "quick_service"
|
if order.source == "quick_service"
|
||||||
result = {:status=> @status, :data => @sale.sale_id }
|
result = {:status=> @status, :data => @sale.sale_id }
|
||||||
render :json => result.to_json
|
render :json => result.to_json
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ class Origami::SecondDisplayController < BaseOrigamiController
|
|||||||
else
|
else
|
||||||
tax_profiles = nil
|
tax_profiles = nil
|
||||||
end
|
end
|
||||||
if ENV["SERVER_MODE"] != 'cloud'
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
ActionCable.server.broadcast "second_display_view_channel",data: params[:data],tax_profiles: tax_profiles,status:params[:status]
|
ActionCable.server.broadcast "second_display_view_channel",data: params[:data],tax_profiles: tax_profiles,status:params[:status]
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
#Shop Name in Navbor
|
#Shop Name in Navbor
|
||||||
helper_method :shop_detail
|
helper_method :shop_detail
|
||||||
|
|||||||
@@ -335,9 +335,9 @@ class Origami::SplitBillController < BaseOrigamiController
|
|||||||
end
|
end
|
||||||
|
|
||||||
Promotion.promo_activate(sale)
|
Promotion.promo_activate(sale)
|
||||||
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
ActionCable.server.broadcast "bill_channel",table: table
|
ActionCable.server.broadcast "bill_channel",table: table
|
||||||
|
#end
|
||||||
render :json => { status: status }
|
render :json => { status: status }
|
||||||
else
|
else
|
||||||
render :json => { status: false, error_message: 'No Current Open Shift!'}
|
render :json => { status: false, error_message: 'No Current Open Shift!'}
|
||||||
|
|||||||
@@ -156,13 +156,17 @@ class DiningFacility < ApplicationRecord
|
|||||||
table = DiningFacility.find(table_id)
|
table = DiningFacility.find(table_id)
|
||||||
#Send to background job for processing
|
#Send to background job for processing
|
||||||
# CheckInBookingJob.perform_later(table)
|
# CheckInBookingJob.perform_later(table)
|
||||||
ActionCable.server.broadcast "check_in_booking_channel",table: table
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "check_in_booking_channel",table: table
|
||||||
|
#end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.checkin_time
|
def self.checkin_time
|
||||||
table = DiningFacility.get_checkin_booking
|
table = DiningFacility.get_checkin_booking
|
||||||
if table.length > 0
|
if table.length > 0
|
||||||
ActionCable.server.broadcast "checkin_channel",table: table
|
if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "checkin_channel",table: table
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ class License
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
# @license = Marshal.load(cache_license)
|
@license = Marshal.load(cache_license)
|
||||||
# assign(aes_key, aes_iv)
|
assign(aes_key, aes_iv)
|
||||||
# Rails.logger.info 'API License'
|
# Rails.logger.info 'API License'
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -62,7 +62,8 @@ class MyAesCrypt
|
|||||||
|
|
||||||
shop_json = JSON.parse(shop_data)
|
shop_json = JSON.parse(shop_data)
|
||||||
shop_json["data"].each do |j|
|
shop_json["data"].each do |j|
|
||||||
if j["lookup"] == from
|
if j["lookup"] == from
|
||||||
|
# add [0...44] for production cloud for remove \n
|
||||||
if(j["value"]["key"] == token)
|
if(j["value"]["key"] == token)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -321,7 +321,9 @@ class Order < ApplicationRecord
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
msg = ' Print Error ! Please contact to service'
|
msg = ' Print Error ! Please contact to service'
|
||||||
ActionCable.server.broadcast "call_waiter_channel",table: msg,time:'print_error'
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "call_waiter_channel",table: msg,time:'print_error'
|
||||||
|
#end
|
||||||
if !sidekiq.nil?
|
if !sidekiq.nil?
|
||||||
OrderQueueProcessorJob.perform_later(self.id, self.table_id)
|
OrderQueueProcessorJob.perform_later(self.id, self.table_id)
|
||||||
else
|
else
|
||||||
@@ -335,7 +337,9 @@ class Order < ApplicationRecord
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id)
|
assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id)
|
||||||
ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
|
||||||
|
#end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@@ -372,7 +376,9 @@ class Order < ApplicationRecord
|
|||||||
type = 'order'
|
type = 'order'
|
||||||
#Send to background job for processing
|
#Send to background job for processing
|
||||||
# OrderBroadcastJob.perform_later(table,type)
|
# OrderBroadcastJob.perform_later(table,type)
|
||||||
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
ActionCable.server.broadcast "order_channel",table: table,type:type
|
ActionCable.server.broadcast "order_channel",table: table,type:type
|
||||||
|
#end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -526,7 +532,9 @@ class Order < ApplicationRecord
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
ActionCable.server.broadcast "second_display_channel",data: @data_array,status:@status
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "second_display_channel",data: @data_array,status:@status
|
||||||
|
#end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|||||||
@@ -7,45 +7,48 @@ class OrderReservation < ApplicationRecord
|
|||||||
has_many :order_reservation_items
|
has_many :order_reservation_items
|
||||||
belongs_to :delivery
|
belongs_to :delivery
|
||||||
|
|
||||||
|
scope :latest_order, -> { order("order_reservation_id desc, requested_time asc") }
|
||||||
|
|
||||||
SEND_TO_KITCHEN = "send_to_kitchen"
|
SEND_TO_KITCHEN = "send_to_kitchen"
|
||||||
READY_TO_DELIVERY = "ready_to_deliver"
|
READY_TO_DELIVERY = "ready_to_deliver"
|
||||||
DELIVERED = "delivered"
|
DELIVERED = "delivered"
|
||||||
COMPLETED = "completed"
|
COMPLETED = "completed"
|
||||||
|
|
||||||
def self.addOrderReservationInfo(params)
|
def self.addOrderReservationInfo(order_reserve)
|
||||||
check_order_reservation = OrderReservation.where("transaction_ref = ?",params[:reference])
|
Rails.logger.debug order_reserve.to_s
|
||||||
|
check_order_reservation = OrderReservation.where("transaction_ref = ?",order_reserve[:reference])
|
||||||
if check_order_reservation.empty?
|
if check_order_reservation.empty?
|
||||||
order_reservation = OrderReservation.new
|
order_reservation = OrderReservation.new
|
||||||
order_reservation.order_reservation_type = params[:order_type]
|
order_reservation.order_reservation_type = order_reserve[:order_type]
|
||||||
order_reservation.customer_id = params[:cus_info]
|
order_reservation.customer_id = order_reserve[:cus_info]
|
||||||
order_reservation.requested_time = DateTime.parse(params[:requested_time]).utc.strftime("%Y-%m-%d %H:%M:%S")
|
order_reservation.requested_time = DateTime.parse(order_reserve[:requested_time]).utc.strftime("%Y-%m-%d %H:%M:%S")
|
||||||
order_reservation.callback_url = params[:callback_url]
|
order_reservation.callback_url = order_reserve[:callback_url]
|
||||||
order_reservation.transaction_ref = params[:reference]
|
order_reservation.transaction_ref = order_reserve[:reference]
|
||||||
if params[:order_info]
|
if order_reserve[:order_info]
|
||||||
order_reservation.item_count = params[:order_info][:items].count
|
order_reservation.item_count = order_reserve[:order_info][:items].count
|
||||||
order_reservation.payment_type = params[:payment_info][:payment_type]
|
order_reservation.payment_type = order_reserve[:payment_info][:payment_type]
|
||||||
order_reservation.payment_status = params[:payment_info][:payment_status]
|
order_reservation.payment_status = order_reserve[:payment_info][:payment_status]
|
||||||
order_reservation.payment_ref = params[:payment_info][:payment_ref]
|
order_reservation.payment_ref = order_reserve[:payment_info][:payment_ref]
|
||||||
order_reservation.total_amount = params[:payment_info][:sub_total]
|
order_reservation.total_amount = order_reserve[:payment_info][:sub_total]
|
||||||
order_reservation.total_tax = params[:payment_info][:total_tax]
|
order_reservation.total_tax = order_reserve[:payment_info][:total_tax]
|
||||||
order_reservation.discount_amount = params[:payment_info][:discount_amount]
|
order_reservation.discount_amount = order_reserve[:payment_info][:discount_amount]
|
||||||
order_reservation.grand_total = params[:payment_info][:grand_total]
|
order_reservation.grand_total = order_reserve[:payment_info][:grand_total]
|
||||||
order_reservation.order_remark = params[:order_info][:order_remark]
|
order_reservation.order_remark = order_reserve[:order_info][:order_remark]
|
||||||
end
|
end
|
||||||
if params[:reservation_info]
|
if order_reserve[:reservation_info]
|
||||||
order_reservation.total_customer = params[:reservation_info][:total_user]
|
order_reservation.total_customer = order_reserve[:reservation_info][:total_user]
|
||||||
order_reservation.reservation_remark = params[:reservation_info][:reservation_note]
|
order_reservation.reservation_remark = order_reserve[:reservation_info][:reservation_note]
|
||||||
end
|
end
|
||||||
order_reservation.save!
|
order_reservation.save!
|
||||||
if params[:order_info][:items]
|
if order_reserve[:order_info][:items]
|
||||||
params[:order_info][:items].each do |oritem|
|
order_reserve[:order_info][:items].each do |oritem|
|
||||||
OrderReservationItem.process_order_reservation_item(oritem[:product_code],oritem[:item_instance_code],oritem[:product_name],oritem[:product_alt_name],
|
OrderReservationItem.process_order_reservation_item(oritem[:product_code],oritem[:item_instance_code],oritem[:product_name],oritem[:product_alt_name],
|
||||||
oritem[:account_id],oritem[:qty],oritem[:price],oritem[:unit_price],
|
oritem[:account_id],oritem[:qty],oritem[:price],oritem[:unit_price],
|
||||||
oritem[:options],nil,order_reservation.id)
|
oritem[:options],nil,order_reservation.id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if params[:delivery_info]
|
if order_reserve[:delivery_info]
|
||||||
Delivery.addDeliveryInfo(params[:delivery_info],order_reservation.id)
|
Delivery.addDeliveryInfo(order_reserve[:delivery_info],order_reservation.id)
|
||||||
end
|
end
|
||||||
return order_reservation.id, true
|
return order_reservation.id, true
|
||||||
else
|
else
|
||||||
@@ -219,14 +222,30 @@ class OrderReservation < ApplicationRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.send_status_to_ordering(url,ref_no,status)
|
def self.send_status_to_ordering(url,ref_no,status)
|
||||||
base_url = "http://192.168.1.186:3002"
|
base_url = 'https://api.doemal.com'
|
||||||
|
token = '3T-tnlYtFJ-5Z1vY6XQqxQ'
|
||||||
|
order_reservation = Lookup.collection_of("order_reservation")
|
||||||
|
if !order_reservation.empty?
|
||||||
|
order_reservation.each do |order_reserve|
|
||||||
|
if order_reserve[0] == 'BaseURL'
|
||||||
|
base_url = order_reserve[1]
|
||||||
|
elsif order_reserve[0] == 'Token'
|
||||||
|
token = order_reserve[1]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Rails.logger.debug "Add order reservation BaseURL "
|
||||||
|
response = {status: false}
|
||||||
|
end
|
||||||
|
Rails.logger.debug "Doemal URL" + base_url
|
||||||
post_url = base_url + url
|
post_url = base_url + url
|
||||||
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
response = HTTParty.post(post_url,
|
response = HTTParty.post(post_url,
|
||||||
:body => { id: ref_no, status: status}.to_json,
|
:body => { id: ref_no, status: status}.to_json,
|
||||||
:headers => {
|
:headers => {
|
||||||
'Authorization' => 'Token token=3T-tnlYtFJ-5Z1vY6XQqxQ',
|
'Authorization' => 'Token token='+token,
|
||||||
'Content-Type' => 'application/json',
|
'Content-Type' => 'application/json',
|
||||||
'Accept' => 'application/json; version=3'
|
'Accept' => 'application/json; version=3'
|
||||||
}, :timeout => 10
|
}, :timeout => 10
|
||||||
|
|||||||
@@ -607,7 +607,9 @@ class SalePayment < ApplicationRecord
|
|||||||
type = 'payment'
|
type = 'payment'
|
||||||
#Send to background job for processing
|
#Send to background job for processing
|
||||||
# OrderBroadcastJob.perform_later(table,type)
|
# OrderBroadcastJob.perform_later(table,type)
|
||||||
ActionCable.server.broadcast "order_channel",table: table,type:type
|
#if ENV["SERVER_MODE"] != 'cloud'
|
||||||
|
ActionCable.server.broadcast "order_channel",table: table,type:type
|
||||||
|
#end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
<!-- Widgets -->
|
<!-- Widgets -->
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
|
<% if @quick_service == '1' %>
|
||||||
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 qs_view">
|
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 qs_view">
|
||||||
<div class="info-box bg-purple">
|
<div class="info-box bg-purple">
|
||||||
<div class="icon" >
|
<div class="icon" >
|
||||||
@@ -26,6 +27,7 @@
|
|||||||
<div class="text font-20 m-l-5" style="line-height: 80px;"><%= t :quick_service %></div>
|
<div class="text font-20 m-l-5" style="line-height: 80px;"><%= t :quick_service %></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 cashier_view">
|
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 cashier_view">
|
||||||
<div class="info-box bg-green">
|
<div class="info-box bg-green">
|
||||||
<div class="icon" >
|
<div class="icon" >
|
||||||
@@ -34,6 +36,7 @@
|
|||||||
<div class="text font-20 m-l-5" style="line-height: 80px;"><%= t :dine_in_cashier %></div>
|
<div class="text font-20 m-l-5" style="line-height: 80px;"><%= t :dine_in_cashier %></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% if @order_reservation == '1' %>
|
||||||
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 order_reservation">
|
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 order_reservation">
|
||||||
<div class="info-box bg-blue">
|
<div class="info-box bg-blue">
|
||||||
<div class="icon" >
|
<div class="icon" >
|
||||||
@@ -42,6 +45,7 @@
|
|||||||
<div class="text font-20 m-l-5" style="line-height: 80px;"><%= t :order_reservation %></div>
|
<div class="text font-20 m-l-5" style="line-height: 80px;"><%= t :order_reservation %></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<!-- #END# Widgets -->
|
<!-- #END# Widgets -->
|
||||||
<% if !@current_user.nil? && @current_user.role != 'waiter' %>
|
<% if !@current_user.nil? && @current_user.role != 'waiter' %>
|
||||||
|
|||||||
@@ -46,18 +46,18 @@
|
|||||||
<% else %>
|
<% else %>
|
||||||
<div class="card tables orange text-white" data-id="<%= table.id %>">
|
<div class="card tables orange text-white" data-id="<%= table.id %>">
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
Zone <%= table.zone_id %> <br>
|
Zone <%= table.zone_id %> <br>
|
||||||
Table <%= table.name %> ( <%= table.seater %> Seat )
|
Table <%= table.name %> ( <%= table.seater %> Seat )
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<% if table.get_checkout_booking.nil? %>
|
<% if table.get_checkout_booking.nil? %>
|
||||||
<div class="card tables blue text-white" data-id="<%= table.id %>">
|
<div class="card tables blue text-white" data-id="<%= table.id %>">
|
||||||
<% else %>
|
<% else %>
|
||||||
<div class="card tables orange text-white" data-id="<%= table.id %>">
|
<div class="card tables orange text-white" data-id="<%= table.id %>">
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
Zone <%= table.zone_id %> <br>
|
Zone <%= table.zone_id %> <br>
|
||||||
Table <%= table.name %> ( <%= table.seater %> Seat )
|
Table <%= table.name %> ( <%= table.seater %> Seat )
|
||||||
</div>
|
</div>
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- tabs - End -->
|
<!-- tabs - End -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -31,10 +31,13 @@
|
|||||||
<td width ="5%" class="align-left">
|
<td width ="5%" class="align-left">
|
||||||
<%=i%>
|
<%=i%>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="20%" class="align-center">
|
||||||
|
<%= order.requested_time.utc.getlocal.strftime("%d-%m-%Y") %>
|
||||||
|
</td>
|
||||||
|
<td width ="20%" class="align-center">
|
||||||
<%= order.requested_time.utc.getlocal.strftime("%I:%M %p") %>
|
<%= order.requested_time.utc.getlocal.strftime("%I:%M %p") %>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="20%" class="align-center">
|
||||||
<%=order.grand_total%>
|
<%=order.grand_total%>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="30%" class="align-center">
|
||||||
@@ -63,10 +66,13 @@
|
|||||||
<td width ="5%" class="align-left">
|
<td width ="5%" class="align-left">
|
||||||
<%=i%>
|
<%=i%>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="20%" class="align-center">
|
||||||
|
<%= order.requested_time.utc.getlocal.strftime("%d-%m-%Y") %>
|
||||||
|
</td>
|
||||||
|
<td width ="20%" class="align-center">
|
||||||
<%= order.requested_time.utc.getlocal.strftime("%I:%M %p") %>
|
<%= order.requested_time.utc.getlocal.strftime("%I:%M %p") %>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="20%" class="align-center">
|
||||||
<%=order.grand_total%>
|
<%=order.grand_total%>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="30%" class="align-center">
|
||||||
@@ -94,10 +100,13 @@
|
|||||||
<td width ="5%" class="align-left">
|
<td width ="5%" class="align-left">
|
||||||
<%=i%>
|
<%=i%>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="20%" class="align-center">
|
||||||
|
<%= order.requested_time.utc.getlocal.strftime("%d-%m-%Y") %>
|
||||||
|
</td>
|
||||||
|
<td width ="20%" class="align-center">
|
||||||
<%= order.requested_time.utc.getlocal.strftime("%I:%M %p") %>
|
<%= order.requested_time.utc.getlocal.strftime("%I:%M %p") %>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="20%" class="align-center">
|
||||||
<%=order.grand_total%>
|
<%=order.grand_total%>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="30%" class="align-center">
|
||||||
@@ -125,10 +134,13 @@
|
|||||||
<td width ="5%" class="align-left">
|
<td width ="5%" class="align-left">
|
||||||
<%=i%>
|
<%=i%>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="20%" class="align-center">
|
||||||
|
<%= order.requested_time.utc.getlocal.strftime("%d-%m-%Y") %>
|
||||||
|
</td>
|
||||||
|
<td width ="20%" class="align-center">
|
||||||
<%= order.requested_time.utc.getlocal.strftime("%I:%M %p") %>
|
<%= order.requested_time.utc.getlocal.strftime("%I:%M %p") %>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="20%" class="align-center">
|
||||||
<%=order.grand_total%>
|
<%=order.grand_total%>
|
||||||
</td>
|
</td>
|
||||||
<td width ="30%" class="align-center">
|
<td width ="30%" class="align-center">
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<% if(@server_mode != 'cloud') %>
|
<% if(@server_mode != 'cloud') %>
|
||||||
<%= f.input :printer_name, :as => :select, :collection => Printer::PrinterWorker.printers, include_blank: false %>
|
<%= f.input :printer_name, :as => :select, :collection => Printer::PrinterWorker.printers, include_blank: false %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= f.input :printer_name, :as => :select, :collection => [] %>
|
<%= f.input :printer_name %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= f.input :brand_name %>
|
<%= f.input :brand_name %>
|
||||||
<%= f.input :printer_type %>
|
<%= f.input :printer_type %>
|
||||||
|
|||||||
@@ -86,3 +86,64 @@ class ActionController::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class ActionController::API
|
||||||
|
before_action :lookup_domain
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def lookup_domain
|
||||||
|
if request.subdomain.present? && request.subdomain != "www"
|
||||||
|
from = request.subdomain.downcase + "." + request.domain.downcase
|
||||||
|
@license = cache_license(ENV["SX_PROVISION_URL"], from) # request.subdomain.downcase
|
||||||
|
if (!@license.nil?)
|
||||||
|
# logger.info "Location - " + @license.dbhost
|
||||||
|
ActiveRecord::Base.establish_connection(website_connection(@license))
|
||||||
|
# authenticate_session_token
|
||||||
|
# logger.info "Connecting to - " + @license.subdomain + " - "+ @license.dbhost + "@" + @license.dbschema
|
||||||
|
else
|
||||||
|
# reconnect_default_db
|
||||||
|
logger.info 'License is nil'
|
||||||
|
# redirect_to root_url(:host => request.domain) + "store_error"
|
||||||
|
render :json => [{ status: false, message: 'Invalid Access!'}]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def cache_license(url, lookup)
|
||||||
|
@license = License.new(url, lookup)
|
||||||
|
|
||||||
|
if (@license.detail_with_local_cache(lookup) == true)
|
||||||
|
return @license
|
||||||
|
else
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def website_connection(license)
|
||||||
|
default_connection.dup.update(:host => license.dbhost, :database => license.dbschema.to_s.downcase,
|
||||||
|
:username => license.dbusername, :password => license.dbpassword)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def reconnect_default_db
|
||||||
|
ActiveRecord::Base.establish_connection(Rails.env)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Regular database.yml configuration hash
|
||||||
|
def default_connection
|
||||||
|
@default_config ||= ActiveRecord::Base.connection.instance_variable_get("@config").dup
|
||||||
|
end
|
||||||
|
|
||||||
|
#change locallization
|
||||||
|
def set_locale
|
||||||
|
I18n.locale = params[:locale] || I18n.default_locale
|
||||||
|
end
|
||||||
|
|
||||||
|
# RESTful url for localize
|
||||||
|
def default_url_options
|
||||||
|
{ locale: I18n.locale }
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ module ActiveRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
client = Mysql2::Client.new(config.symbolize_keys)
|
client = Mysql2::Client.new(config.symbolize_keys)
|
||||||
options = [config[:host], config[:username], config[:password], config[:database], config[:port], config[:socket], 0]
|
options = [config[:host], config[:username], config[:password], config[:database], config[:port], config[:socket], config[:pool], config[:wait_timeout], 0]
|
||||||
ConnectionAdapters::Mysql2Adapter.new(client, logger, options, config)
|
ConnectionAdapters::Mysql2Adapter.new(client, logger, options, config)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
development:
|
development:
|
||||||
secret_key_base: b61d85f8ed2a1a9e0eeece3443b3e8f838d002cc1d9f32115d8e93db920e2957adfedc57501d44741211538f3108b742cdeada87d5bfae796c53da1f90a3cd61
|
secret_key_base: b61d85f8ed2a1a9e0eeece3443b3e8f838d002cc1d9f32115d8e93db920e2957adfedc57501d44741211538f3108b742cdeada87d5bfae796c53da1f90a3cd61
|
||||||
sx_provision_url: https://connect.pos-myanmar.com/bensai/api #connect.smartsales.dev/api #connect.smartsales.asia/api #provision.zsai.ws/api
|
sx_provision_url: https://connect.pos-myanmar.com/bensai/api #connect.smartsales.dev/api #connect.smartsales.asia/api #provision.zsai.ws/api
|
||||||
server_mode: application
|
server_mode: cloud
|
||||||
cipher_type: AES-256-CBC
|
cipher_type: AES-256-CBC
|
||||||
sx_key: Wh@t1$C2L
|
sx_key: Wh@t1$C2L
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user