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,8 +16,19 @@ class BaseOrigamiController < ActionController::Base
end end
def check_user def check_user
if current_user.nil? token_status = false
redirect_to root_path 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?
redirect_to root_path
end
end end
end end
@@ -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,7 +8,10 @@ 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"
self.print("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")
end
end end
# def print_close_cashier(receipt_no) # def print_close_cashier(receipt_no)
@@ -59,7 +62,10 @@ class Printer::CashierStationPrinter < Printer::PrinterWorker
end end
pdf.render_file filename pdf.render_file filename
self.print(filename, cashier_terminal.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, cashier_terminal.printer_name)
end
end end
#sqa #sqa
end end

View File

@@ -39,14 +39,20 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
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!
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name)
end
end end
# end # end
end end
@@ -96,13 +102,19 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
end end
# 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
self.print(filename, oqs.printer_name) #no print in cloud server
# self.print(filename.gsub(".","-copy."), oqs.printer_name) if ENV["SERVER_MODE"] != "cloud"
self.print(filename, 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!
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name)
end
end end
#end #end
end end
@@ -130,14 +142,20 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
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!
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name)
end
end end
end end
end end
@@ -183,15 +201,20 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
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!
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name)
end
end end
#end #end
end end
@@ -219,15 +242,20 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
pdf.render_file filename pdf.render_file filename
if oqs.print_copy if oqs.print_copy
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
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!
self.print(filename, oqs.printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name)
end
end end
end end
end end

View File

@@ -24,7 +24,10 @@ 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"
self.print("tmp/receipt.pdf") #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/receipt.pdf")
end
end end
def print_receipt_payment_by_card(booking_id) def print_receipt_payment_by_card(booking_id)
@@ -52,8 +55,10 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
self.print(filename) if ENV["SERVER_MODE"] != "cloud"
self.print(filename)
end
end end
def print_receipt_payment_by_account(sale_id) def print_receipt_payment_by_account(sale_id)
@@ -81,8 +86,10 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
self.print(filename) if ENV["SERVER_MODE"] != "cloud"
self.print(filename)
end
end end
def print_receipt_payment_by_vochure(sale_id) def print_receipt_payment_by_vochure(sale_id)
@@ -110,8 +117,10 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
self.print(filename) if ENV["SERVER_MODE"] != "cloud"
self.print(filename)
end
end end
def print_receipt_payment_by_giftcard(sale_id) def print_receipt_payment_by_giftcard(sale_id)
@@ -139,8 +148,10 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
self.print(filename) if ENV["SERVER_MODE"] != "cloud"
self.print(filename)
end
end end
def print_receipt_payment_by_foc(sale_id) def print_receipt_payment_by_foc(sale_id)
@@ -168,8 +179,10 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end end
end end
pdf.render_file filename pdf.render_file filename
#no print in cloud server
self.print(filename) if ENV["SERVER_MODE"] != "cloud"
self.print(filename)
end
end end
#Bill Receipt Print #Bill Receipt Print
@@ -205,13 +218,19 @@ 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'
self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf", cashier_terminal.printer_name) #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)
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'
self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf", cashier_terminal.printer_name) #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)
end
end end
end end
@@ -225,7 +244,10 @@ 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"
self.print("tmp/print_stock_check_result.pdf") #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/print_stock_check_result.pdf")
end
end end
#Queue No Print #Queue No Print
@@ -235,7 +257,10 @@ 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"
self.print("tmp/print_queue_no.pdf") #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/print_queue_no.pdf")
end
end end
#Move Table Print #Move Table Print
@@ -255,7 +280,10 @@ 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"
self.print("tmp/print_crm_order.pdf") #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/print_crm_order.pdf")
end
end end
#Queue No Print #Queue No Print
@@ -265,7 +293,10 @@ 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"
self.print("tmp/print_call_waiter.pdf") #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print("tmp/print_call_waiter.pdf")
end
end end
#print receipt pdf from js #print receipt pdf from js
@@ -276,10 +307,16 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
# else # else
begin begin
if count == 1 if count == 1
self.print(filename, printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
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"
self.print(filename, printer_name) #no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, printer_name)
end
end end
count -= 1 count -= 1

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