Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant into ui_ux_changes

This commit is contained in:
phyusin
2018-04-06 17:54:03 +06:30
9 changed files with 197 additions and 53 deletions

View File

@@ -16,10 +16,21 @@ class BaseOrigamiController < ActionController::Base
end end
def check_user def check_user
token_status = false
authenticate_with_http_token do |token, options|
if token
token_status = true
session[:webview] = true
session[:session_token] = token
end
end
if !token_status
if current_user.nil? if current_user.nil?
redirect_to root_path redirect_to root_path
end end
end end
end
# def checkin_process # def checkin_process
# CheckinJob.set(wait: 1.minute).perform_later() # CheckinJob.set(wait: 1.minute).perform_later()
@@ -38,13 +49,9 @@ class BaseOrigamiController < ActionController::Base
#check webview #check webview
def check_mobile def check_mobile
status = false status = false
authenticate_with_http_token do |token, options| puts "check mobile"
if token puts session[:session_token]
session[:webview] = true puts session[:webview]
end
session[:session_token] = token
end
if session[:webview] && request.user_agent =~ /android|blackberry|iphone|ipad|ipod|iemobile|mobile|webos/i if session[:webview] && request.user_agent =~ /android|blackberry|iphone|ipad|ipod|iemobile|mobile|webos/i
status = true status = true
end end

View File

@@ -3,11 +3,7 @@ class Origami::HomeController < BaseOrigamiController
before_action :set_dining, only: [:show] before_action :set_dining, only: [:show]
def index def index
@webview = false @webview = check_mobile
if check_mobile
@webview = true
end
@tables = Table.all.active.order('status desc') @tables = Table.all.active.order('status desc')
@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'))
@@ -19,10 +15,7 @@ class Origami::HomeController < BaseOrigamiController
# origami table detail # origami table detail
def show def show
@webview = false @webview = check_mobile
if check_mobile
@webview = true
end
@tables = Table.all.active.order('status desc') @tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc') @rooms = Room.all.active.order('status desc')

View File

@@ -8,8 +8,11 @@ class Printer::CashierStationPrinter < Printer::PrinterWorker
#Print #Print
pdf = CashierStationOpening.new pdf = CashierStationOpening.new
pdf.render_file "tmp/cashier_station_#{order_id}_closing_#{time}.pdf" pdf.render_file "tmp/cashier_station_#{order_id}_closing_#{time}.pdf"
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/cashier_station_#{order_id}_closing_#{time}.pdf") self.print("tmp/cashier_station_#{order_id}_closing_#{time}.pdf")
end end
end
# def print_close_cashier(receipt_no) # def print_close_cashier(receipt_no)
# #Use CUPS service # #Use CUPS service
@@ -59,7 +62,10 @@ class Printer::CashierStationPrinter < Printer::PrinterWorker
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, cashier_terminal.printer_name) self.print(filename, cashier_terminal.printer_name)
end end
end
#sqa #sqa
end end

View File

@@ -39,15 +39,21 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end
#For print copy #For print copy
# pdf.render_file filename.gsub(".","-copy.") # pdf.render_file filename.gsub(".","-copy.")
# self.print(filename.gsub(".","-copy."), oqs.printer_name) # self.print(filename.gsub(".","-copy."), oqs.printer_name)
else else
print_settings.print_copies = 1 print_settings.print_copies = 1
print_settings.save! print_settings.save!
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end end
end
# end # end
end end
@@ -97,13 +103,19 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
# pdf.render_file "tmp/order_item.pdf" # pdf.render_file "tmp/order_item.pdf"
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
# self.print(filename.gsub(".","-copy."), oqs.printer_name) # self.print(filename.gsub(".","-copy."), oqs.printer_name)
end
else else
print_settings.print_copies = 1 print_settings.print_copies = 1
print_settings.save! print_settings.save!
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end end
end
#end #end
end end
# For Print Order Summary # For Print Order Summary
@@ -130,17 +142,23 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end
#For print copy #For print copy
# pdf.render_file filename.gsub(".","-copy.") # pdf.render_file filename.gsub(".","-copy.")
# self.print(filename.gsub(".","-copy."), oqs.printer_name) # self.print(filename.gsub(".","-copy."), oqs.printer_name)
else else
print_settings.print_copies = 1 print_settings.print_copies = 1
print_settings.save! print_settings.save!
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end end
end end
end end
end
# Print for orders in booking # Print for orders in booking
def print_booking_summary(print_settings,oqs, booking_id, print_status,before_updated_qty="") def print_booking_summary(print_settings,oqs, booking_id, print_status,before_updated_qty="")
@@ -183,16 +201,21 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end
#For print copy #For print copy
# pdf.render_file filename.gsub(".","-copy.") # pdf.render_file filename.gsub(".","-copy.")
# self.print(filename.gsub(".","-copy."), oqs.printer_name) # self.print(filename.gsub(".","-copy."), oqs.printer_name)
else else
print_settings.print_copies = 1 print_settings.print_copies = 1
print_settings.save! print_settings.save!
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end end
end
#end #end
end end
# For Print Order Summary # For Print Order Summary
@@ -219,18 +242,23 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end
#For print copy #For print copy
# pdf.render_file filename.gsub(".","-copy.") # pdf.render_file filename.gsub(".","-copy.")
# self.print(filename.gsub(".","-copy."), oqs.printer_name) # self.print(filename.gsub(".","-copy."), oqs.printer_name)
else else
print_settings.print_copies = 1 print_settings.print_copies = 1
print_settings.save! print_settings.save!
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name) self.print(filename, oqs.printer_name)
end end
end end
end end
end
# Query for OQS with status # Query for OQS with status
def print_query(type, id) def print_query(type, id)

View File

@@ -24,8 +24,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file "tmp/order_item_queue_#{order_id}_#{order_item_id}" + ".pdf" pdf.render_file "tmp/order_item_queue_#{order_id}_#{order_item_id}" + ".pdf"
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/receipt.pdf") self.print("tmp/receipt.pdf")
end end
end
def print_receipt_payment_by_card(booking_id) def print_receipt_payment_by_card(booking_id)
#Use CUPS service #Use CUPS service
@@ -52,9 +55,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename) self.print(filename)
end end
end
def print_receipt_payment_by_account(sale_id) def print_receipt_payment_by_account(sale_id)
#Use CUPS service #Use CUPS service
@@ -81,9 +86,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename) self.print(filename)
end end
end
def print_receipt_payment_by_vochure(sale_id) def print_receipt_payment_by_vochure(sale_id)
#Use CUPS service #Use CUPS service
@@ -110,9 +117,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename) self.print(filename)
end end
end
def print_receipt_payment_by_giftcard(sale_id) def print_receipt_payment_by_giftcard(sale_id)
#Use CUPS service #Use CUPS service
@@ -139,9 +148,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename) self.print(filename)
end end
end
def print_receipt_payment_by_foc(sale_id) def print_receipt_payment_by_foc(sale_id)
#Use CUPS service #Use CUPS service
@@ -168,9 +179,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename) self.print(filename)
end end
end
#Bill Receipt Print #Bill Receipt Print
def print_receipt_bill(printer_settings,cashier_terminal,sale_items,sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details, printed_status,balance,card_data) def print_receipt_bill(printer_settings,cashier_terminal,sale_items,sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details, printed_status,balance,card_data)
@@ -205,15 +218,21 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
filename = directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf" filename = directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf"
pdf.render_file filename pdf.render_file filename
if printed_status != 'Paid' if printed_status != 'Paid'
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf", cashier_terminal.printer_name) self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf", cashier_terminal.printer_name)
end end
end
else else
filename = directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf" filename = directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf"
pdf.render_file filename pdf.render_file filename
if printed_status != 'Paid' if printed_status != 'Paid'
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf", cashier_terminal.printer_name) self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf", cashier_terminal.printer_name)
end end
end end
end
count -= 1 count -= 1
end until count == 0 end until count == 0
@@ -225,8 +244,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
def print_stock_check_result(print_settings,stockcheck, stockcheck_items,checker_name, shop_details) def print_stock_check_result(print_settings,stockcheck, stockcheck_items,checker_name, shop_details)
pdf = StockResultPdf.new(print_settings,stockcheck, stockcheck_items,checker_name, shop_details) pdf = StockResultPdf.new(print_settings,stockcheck, stockcheck_items,checker_name, shop_details)
pdf.render_file "tmp/print_stock_check_result.pdf" pdf.render_file "tmp/print_stock_check_result.pdf"
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/print_stock_check_result.pdf") self.print("tmp/print_stock_check_result.pdf")
end end
end
#Queue No Print #Queue No Print
def print_queue_no(printer_settings,queue) def print_queue_no(printer_settings,queue)
@@ -235,8 +257,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Print #Print
pdf = QueueNoPdf.new(printer_settings,queue) pdf = QueueNoPdf.new(printer_settings,queue)
pdf.render_file "tmp/print_queue_no.pdf" pdf.render_file "tmp/print_queue_no.pdf"
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/print_queue_no.pdf") self.print("tmp/print_queue_no.pdf")
end end
end
#Move Table Print #Move Table Print
def print_move_table(printer_settings,to,from,shop_detail,date,type,moved_by,order_items) def print_move_table(printer_settings,to,from,shop_detail,date,type,moved_by,order_items)
@@ -255,8 +280,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Print #Print
pdf = CrmOrderPdf.new(booking,order_items,setting) pdf = CrmOrderPdf.new(booking,order_items,setting)
pdf.render_file "tmp/print_crm_order.pdf" pdf.render_file "tmp/print_crm_order.pdf"
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/print_crm_order.pdf") self.print("tmp/print_crm_order.pdf")
end end
end
#Queue No Print #Queue No Print
def print_call_waiter(printer_settings,table,time,shop_detail) def print_call_waiter(printer_settings,table,time,shop_detail)
@@ -265,8 +293,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Print #Print
pdf = CallWaiterPdf.new(printer_settings,table,time,shop_detail) pdf = CallWaiterPdf.new(printer_settings,table,time,shop_detail)
pdf.render_file "tmp/print_call_waiter.pdf" pdf.render_file "tmp/print_call_waiter.pdf"
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/print_call_waiter.pdf") self.print("tmp/print_call_waiter.pdf")
end end
end
#print receipt pdf from js #print receipt pdf from js
def print_receipt_pdf(filename,receipt_no,print_copies,printer_name) def print_receipt_pdf(filename,receipt_no,print_copies,printer_name)
@@ -276,11 +307,17 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
# else # else
begin begin
if count == 1 if count == 1
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, printer_name) self.print(filename, printer_name)
end
else else
filename = "public/receipts/receipt_bill_#{receipt_no}_#{count}.pdf" filename = "public/receipts/receipt_bill_#{receipt_no}_#{count}.pdf"
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, printer_name) self.print(filename, printer_name)
end end
end
count -= 1 count -= 1
end until count == 0 end until count == 0

View File

@@ -140,7 +140,11 @@
<script> <script>
$(document).ready(function(){ $(document).ready(function(){
var webview = <%= @webview %>; var webview = <%= @webview %>;
if(webview){
code2lab.checkMobile(webview); //js func: for mobile login
}
showHideNavbar(webview,"index"); showHideNavbar(webview,"index");
$(".tables").on('click', function(){ $(".tables").on('click', function(){
var dining_id = $(this).attr("data-id"); var dining_id = $(this).attr("data-id");
window.location.href = '/origami/table/' + dining_id; window.location.href = '/origami/table/' + dining_id;

View File

@@ -0,0 +1,26 @@
class CreateOrderReservations < ActiveRecord::Migration[5.1]
def change
create_table :order_reservations, :id => false do |t|
t.string :order_reservation_id, :limit => 16, :primary_key => true
t.string :order_reservation_type, :null => false
t.string :customer_id, :null => false
t.datetime :requested_time, :null => false
t.integer :item_count, :null => false, :default => 0
t.integer :total_customer
t.string :payment_type
t.string :payment_status
t.string :payment_ref
t.decimal :total_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.decimal :total_tax, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.decimal :discount_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.decimal :grand_total, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.string :status, :null => false, :default => "new"
t.string :order_remark
t.string :reservation_remark
end
end
def down
drop_table :order_reservations
end
end

View File

@@ -0,0 +1,25 @@
class CreateOrderReservationItems < ActiveRecord::Migration[5.1]
def change
create_table :order_reservation_items, :id => false do |t|
t.string :order_reservation_items_id, :limit => 16, :primary_key => true
t.string :order_reservation_id, foreign_key: true, :null => false, :limit => 16
t.string :item_status, :null => false, :default => "new"
t.string :item_code, :null => false
t.string :item_instance_code
t.string :item_name, :null => false
t.string :alt_name, :null => false
t.json :set_menu_items
t.integer :account_id, :limit => 8, :null => false, :default => 1
t.decimal :qty, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.decimal :unit_price, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.decimal :price, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.string :remark
t.string :options
t.boolean :taxable, :null => false, :default => true
end
end
def down
drop_table :order_reservation_items
end
end

View File

@@ -0,0 +1,18 @@
class CreateDeliveries < ActiveRecord::Migration[5.1]
def change
create_table :deliveries do |t|
t.string :order_reservation_id, foreign_key: true, :null => false, :limit => 16
t.string :provider, :null => false
t.string :delivery_type, :null => false
t.string :township
t.string :address
t.string :direction_address
t.string :delivery_fee
t.string :remark
end
end
def down
drop_table :deliveries
end
end