From 794ff7c26f22a14099cab1f578624ea1998221c8 Mon Sep 17 00:00:00 2001 From: San Wai Lwin Date: Fri, 1 Jun 2018 16:43:13 +0630 Subject: [PATCH] pull from master --- README.md | 11 +- .../order_reservation_controller.rb | 16 +- app/controllers/api/orders_controller.rb | 34 ++--- .../origami/addorders_controller.rb | 41 ++++-- .../origami/payments_controller.rb | 28 +++- app/models/order.rb | 2 +- app/models/order_queue_station.rb | 14 +- app/models/promotion.rb | 77 ++++++---- app/models/sale_payment.rb | 14 +- app/pdf/order_item_customise_pdf.rb | 2 +- app/pdf/order_item_slim_customise_pdf.rb | 2 +- app/pdf/order_item_slim_pdf.rb | 20 +-- app/pdf/order_set_item_customise_pdf.rb | 2 +- app/pdf/order_summary_customise_pdf.rb | 2 +- app/pdf/order_summary_set_customise_pdf.rb | 2 +- app/pdf/order_summary_slim_customise_pdf.rb | 2 +- app/views/origami/discounts/index.html.erb | 7 +- app/views/origami/home/show.html.erb | 11 +- .../origami/other_charges/index.html.erb | 3 + app/views/origami/payments/show.html.erb | 139 +++++++++--------- app/views/origami/pending_order/show.html.erb | 2 +- app/views/origami/rooms/show.html.erb | 6 + app/views/settings/menus/index.html.erb | 2 - 23 files changed, 259 insertions(+), 180 deletions(-) diff --git a/README.md b/README.md index 5cf5715c..186c7336 100755 --- a/README.md +++ b/README.md @@ -62,7 +62,12 @@ For Order Printing 5)) ********* Order Set Pdf ********* 1) settings/print_settings (a) Unique Code => OrderSetItemCustomisePdf & OrderSummarySetCustomisePdf - (b) Can change Header font size and Item Font Size as you like + (b) Can change Header font size and Item Font Size as you like + 6)) ********* Order Slim Customise PDF + 1) settings/print_settings + (a) Unique Code => OrderItemSlimCustomisePdf & OrderSummarySlimCustomisePdf + (b) Can change Header font size and Item Font Size as you like + For ReceiptBillA5Pdf *** change ReceiptBillPdf to ReceiptBillA5Pdf @@ -185,6 +190,10 @@ For MoveTablePdf in print settings 3) settings/lookups => { type:tax_profiles, name: Doemal, value: doemal } /* Tax Profile Group Types in lookups */ +/*Receipt Pdf View in lookups */ +1) settings/lookups => { type:ReceiptPdfView, name: Receipt Pdf View, value:1 or 0 } + => 1 is active and 0 is in-active + Add Kitchen Role of Employee => 1) settings/lookups => { type:employee_roles, name: Kitchen, value:kitchen } diff --git a/app/controllers/api/order_reserve/order_reservation_controller.rb b/app/controllers/api/order_reserve/order_reservation_controller.rb index 8d2255d4..ba7fa310 100644 --- a/app/controllers/api/order_reserve/order_reservation_controller.rb +++ b/app/controllers/api/order_reserve/order_reservation_controller.rb @@ -5,14 +5,10 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController ORDER_RESERVATION = "order_and_reservation" def check_customer - customer_id = 0 + customer_id = nil status = false - if !params[:name] - render :json => { :status => false, :message => "name is required!" } - elsif !params[:email] - render :json => { :status => false, :message => "email is required!" } - elsif !params[:membership_id] - render :json => { :status => false, :message => "membership_id is required!" } + if !params[:name] || !params[:email] || !params[:membership_id] + render :json => { :status => false, :message => "name, email and membership_id are required!" } else status = true end @@ -25,7 +21,11 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController customer = OrderReservation.addCustomer(params) customer_id = customer.id end - render :json => { :status => true, :data => { :customer_id => customer_id} } + if !customer_id.nil? + render :json => { :status => false, :message => "email and customer are already existed!" } + else + render :json => { :status => true, :data => { :customer_id => customer_id} } + end end end diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index 1dced300..59fbd864 100755 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -233,25 +233,23 @@ class Api::OrdersController < Api::ApiController printer = PrintSetting.all unique_code="OrderItemPdf" - if !order_slim_pdf.empty? - if !printer.empty? - printer.each do |printer_setting| - if printer_setting.unique_code == 'OrderItemPdf' - unique_code="OrderItemPdf" - elsif printer_setting.unique_code == 'OrderItemSlimPdf' - unique_code="OrderItemSlimPdf" - elsif printer_setting.unique_code == 'OrderSetItemPdf' - unique_code="OrderSetItemPdf" - elsif printer_setting.unique_code == 'OrderItemSlimCustomisePdf' - unique_code="OrderItemSlimCustomisePdf" - elsif printer_setting.unique_code == 'OrderItemCustomisePdf' - unique_code="OrderItemCustomisePdf" - elsif printer_setting.unique_code == 'OrderSetItemCustomisePdf' - unique_code="OrderSetItemCustomisePdf" - end - end + if !printer.empty? + printer.each do |printer_setting| + if printer_setting.unique_code == 'OrderItemPdf' + unique_code="OrderItemPdf" + elsif printer_setting.unique_code == 'OrderItemSlimPdf' + unique_code="OrderItemSlimPdf" + elsif printer_setting.unique_code == 'OrderSetItemPdf' + unique_code="OrderSetItemPdf" + elsif printer_setting.unique_code == 'OrderItemSlimCustomisePdf' + unique_code="OrderItemSlimCustomisePdf" + elsif printer_setting.unique_code == 'OrderItemCustomisePdf' + unique_code="OrderItemCustomisePdf" + elsif printer_setting.unique_code == 'OrderSetItemCustomisePdf' + unique_code="OrderSetItemCustomisePdf" + end end - end + end print_settings=PrintSetting.find_by_unique_code(unique_code) order_queue_printer= Printer::OrderQueuePrinter.new(print_settings) diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index 3fc11693..a45f5638 100755 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -67,8 +67,6 @@ class Origami::AddordersController < BaseOrigamiController end def get_menu() - puts "sssssssssssssss" -puts params[:id] if (params[:id]) #Pull this menu @menu = Menu.find_by_id(params[:id]) @@ -122,11 +120,11 @@ puts params[:id] items_arr.push(items) } # begin - # if params[:order_source] == "quick_service" - # customer_id = "CUS-000000000002" # for no customer id from mobile - # else + if params[:order_source] == "quick_service" && params[:table_id].to_i == 0 + customer_id = "CUS-000000000002" # for no customer id from mobile + else customer_id = params[:customer_id] == ""? "CUS-000000000001" : params[:customer_id] # for no customer id from mobile - # end + end @order = Order.new @order.source = params[:order_source] @order.order_type = params[:order_type] @@ -182,6 +180,15 @@ puts params[:id] @status, @booking = @order.generate if @status && @booking + #send order broadcast to order_channel + if @order.table_id.to_i > 0 + table = DiningFacility.find(@booking.dining_facility_id) + type = 'order' + from = getCloudDomain #get sub domain in cloud mode + ActionCable.server.broadcast "order_channel",table: table,type:type,from:from + + end + if params[:order_source] != "quick_service" process_order_queue(@order.order_id,@order.table_id,@order.source) end @@ -194,11 +201,7 @@ puts params[:id] @status, @sale = Sale.request_bill(@order,current_user,current_login_employee) # for second display - if ENV["SERVER_MODE"] == 'cloud' - from = request.subdomain + "." + request.domain - else - from = "" - end + from = getCloudDomain #get sub domain in cloud mode ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale",from:from #end result = {:status=> @status, :data => @sale } @@ -307,11 +310,7 @@ puts params[:id] oqs.process_order(order, table_id, order_source) end - if ENV["SERVER_MODE"] == 'cloud' - from = request.subdomain + "." + request.domain - else - from = "" - end + from = getCloudDomain #get sub domain in cloud mode assign_order = AssignedOrderItem.assigned_order_item_by_job(order_id) ActionCable.server.broadcast "order_queue_station_channel",order: assign_order,from:from end @@ -325,6 +324,16 @@ puts params[:id] end return false end + + #get cloud domain + def getCloudDomain + from = "" + if ENV["SERVER_MODE"] == 'cloud' + from = request.subdomain + "." + request.domain + end + + return from + end private diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index 284656d2..60ce3b02 100755 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -135,6 +135,10 @@ class Origami::PaymentsController < BaseOrigamiController table = DiningFacility.find(bookings[0].dining_facility_id) cashier_zone = CashierTerminalByZone.find_by_zone_id(table.zone_id) cashier_terminal = CashierTerminal.find(cashier_zone.cashier_terminal_id) + + type = 'payment' + from = getCloudDomain #get sub domain in cloud mode + ActionCable.server.broadcast "order_channel",table: table,type:type,from:from else shift = ShiftSale.find(saleObj.shift_sale_id) cashier_terminal = CashierTerminal.find(shift.cashier_terminal_id) @@ -184,6 +188,10 @@ class Origami::PaymentsController < BaseOrigamiController # Order.pay_process_order_queue(order.order_id, table_id) oqs = OrderQueueStation.new oqs.pay_process_order_queue(order.order_id, table_id) + + assign_order = AssignedOrderItem.assigned_order_item_by_job(order.order_id) + from = getCloudDomain #get sub domain in cloud mode + ActionCable.server.broadcast "order_queue_station_channel",order: assign_order,from:from end end @@ -242,7 +250,11 @@ class Origami::PaymentsController < BaseOrigamiController @table_no = '' @dining = '' @other_payment = 0.0 - + @pdf_view = nil + @lookup_pdf = Lookup.find_by_lookup_type("ReceiptPdfView") + if !@lookup_pdf.nil? + @pdf_view = @lookup_pdf.value + end @shop = Shop.first #show shop info @customer_lists = Customer.where("customer_id = 'CUS-000000000001' or customer_id = 'CUS-000000000002'") @@ -468,6 +480,10 @@ class Origami::PaymentsController < BaseOrigamiController sale_payment = SalePayment.new sale_payment.process_payment(saleObj, current_user.name, cash, "foc" ,remark) + type = 'payment' + from = getCloudDomain #get sub domain in cloud mode + ActionCable.server.broadcast "order_channel",table: table,type:type,from:from + # For Cashier by Zone bookings = Booking.where("sale_id='#{sale_id}'") # if bookings.count > 1 @@ -595,4 +611,14 @@ class Origami::PaymentsController < BaseOrigamiController render json: JSON.generate({:status => true}) end + + #get cloud domain + def getCloudDomain + from = "" + if ENV["SERVER_MODE"] == 'cloud' + from = request.subdomain + "." + request.domain + end + + return from + end end \ No newline at end of file diff --git a/app/models/order.rb b/app/models/order.rb index 5edc778a..571c549c 100755 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -76,7 +76,7 @@ class Order < ApplicationRecord # end #send order to broadcast job - send_order_broadcast(booking) + # send_order_broadcast(booking) return true, booking end diff --git a/app/models/order_queue_station.rb b/app/models/order_queue_station.rb index 3a69fe62..9ecd54c0 100755 --- a/app/models/order_queue_station.rb +++ b/app/models/order_queue_station.rb @@ -121,13 +121,13 @@ class OrderQueueStation < ApplicationRecord # oqs = OrderQueueStation.new # oqs.process_order(order, table_id) # end - assign_order = AssignedOrderItem.assigned_order_item_by_job(order_id) - if ENV["SERVER_MODE"] == 'cloud' - from = request.subdomain + "." + request.domain - else - from = "" - end - ActionCable.server.broadcast "order_queue_station_channel",order: assign_order,from:from + # assign_order = AssignedOrderItem.assigned_order_item_by_job(order_id) + # if ENV["SERVER_MODE"] == 'cloud' + # from = request.subdomain + "." + request.domain + # else + # from = "" + # end + # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order,from:from if table_id.to_i > 0 # get dining diff --git a/app/models/promotion.rb b/app/models/promotion.rb index 420919e8..5bc6a686 100755 --- a/app/models/promotion.rb +++ b/app/models/promotion.rb @@ -29,12 +29,13 @@ class Promotion < ApplicationRecord end def self.combine_item(saleObj) - # order_id = saleObj.sale_orders[0].order_id + # order_id = saleObj.sale_orders[0][0].order_id # itemList = OrderItem.where("order_id = ?", order_id).group(:item_instance_code).sum(:qty) itemList = [] saleObj.sale_orders.each do |so| - itemList << OrderItem.where("order_id = ?",so.order_id).group(:item_instance_code).sum(:qty) + itemList << OrderItem.where("order_id = ?",so.order_id).group(["item_instance_code", "order_id"]).sum(:qty) end + return itemList end @@ -51,10 +52,9 @@ class Promotion < ApplicationRecord end def self.find_promo_item(promo, orderitem, sale_id) - # item_code = OrderItem.find_by_item_instance_code(orderitem[0]).item_code + # item_code = OrderItem.find_by_item_instance_code(orderitem[0][0]).item_code orderitem.each do |odr_item| - - if promo.original_product.downcase.to_s == odr_item[0] + if promo.original_product.downcase.to_s == odr_item[0][0] if promo.min_qty.to_i > odr_item[1].to_i return false else @@ -66,13 +66,13 @@ class Promotion < ApplicationRecord def self.check_promo_type(promo, orderitem, sale_id) promo.promotion_products.each do |promo_product| - if promo_product.item_code == orderitem[0] + if promo_product.item_code.downcase == orderitem[0][0] same = true else # return false, promo_product same = false end - # same, promo_product = check_giveaway_product(promo, orderitem[0]) + # same, promo_product = check_giveaway_product(promo, orderitem[0][0]) if promo.promo_type == Promotion::PROMO_TYPE1 if same give_promotion_same_product(orderitem[1], promo.min_qty, promo_product.min_qty, orderitem, sale_id,promo_product.item_code) @@ -132,14 +132,14 @@ class Promotion < ApplicationRecord else charge_qty += qty end - item = OrderItem.find_by_item_instance_code(orderitem[0]) - if promo_product == OrderItem.find_by_item_instance_code(orderitem[0]).item_instance_code - item = OrderItem.find_by_item_instance_code(orderitem[0]) - else - item = OrderItem.find_by_item_code(promo_product) + item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first + if promo_product.downcase != item.item_instance_code + # item = item + # else + # item = OrderItem.find_by_item_code(promo_product) + item = OrderItem.where("item_code = '#{promo_product}' and order_id = '#{orderitem[0][1]}'").first end source = Order.find(item.order_id).source - update_existing_item(foc_qty, item, sale_id, "promotion", item.price,source) puts "Charged - " + charge_qty.to_s @@ -153,7 +153,9 @@ class Promotion < ApplicationRecord if (foc_qty < promotion_qty) promotion_qty = foc_qty end - item = OrderItem.find_by_item_instance_code(promo_product) + # item = OrderItem.find_by_item_instance_code(promo_product) + item = OrderItem.where("item_instance_code = '#{promo_product}' and order_id = '#{orderitem[0][1]}'").first + source = Order.find(item.order_id).source update_existing_item(promotion_qty, item, sale_id, "promotion", item.price,source) end @@ -184,15 +186,17 @@ class Promotion < ApplicationRecord def self.give_promotion_nett_off(same, promo_product, foc_min_qty, orderitem, sale_id) puts " same: " + same.to_s + " promo_product: " + promo_product.item_code.to_s + " foc_min_qty: " + foc_min_qty.to_s + " orderitem: " + orderitem.to_s - if same foc_qty = orderitem[1].to_i / foc_min_qty - item = OrderItem.find_by_item_instance_code(orderitem[0]) + # item = OrderItem.find_by_item_instance_code(orderitem[0][0]) + item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first source = Order.find(item.order_id).source update_existing_item(foc_qty, item, sale_id, "promotion nett off", promo_product.net_off,source) else - foc_qty = find_second_item_qty(sale_id, promo_product.item_code) - item = OrderItem.find_by_item_instance_code(promo_product.item_code) + foc_qty = orderitem[1].to_i / foc_min_qty + # foc_qty = find_second_item_qty(sale_id, promo_product.item_code) + # item = OrderItem.find_by_item_instance_code(promo_product.item_code) + item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first source = Order.find(item.order_id).source update_existing_item(foc_qty, item, sale_id, "promotion nett off", promo_product.net_off,source) end @@ -202,16 +206,22 @@ class Promotion < ApplicationRecord puts " same: " + same.to_s + " promo_product: " + promo_product.item_code.to_s + " foc_min_qty: " + foc_min_qty.to_s + " orderitem: " + orderitem.to_s if same foc_qty = orderitem[1].to_i / foc_min_qty - item = OrderItem.find_by_item_instance_code(orderitem[0]) # need to specify with menu item instance + # item = OrderItem.find_by_item_instance_code(orderitem[0][0]) # need to specify with menu item instance + item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first price = item.price.to_i - promo_product.net_price.to_i - - source = Order.find(item.order_id).source + source = Order.find(item.order_id).source update_existing_item(foc_qty, item, sale_id, "promotion nett price", price,source) else - foc_qty = find_second_item_qty(sale_id, promo_product.item_code) - item = OrderItem.find_by_item_instance_code(promo_product.item_code) + order_qty = find_second_item_qty(sale_id, promo_product.item_code)# need to check for qty + foc_qty = orderitem[1].to_i / foc_min_qty + + if foc_qty > order_qty + foc_qty = order_qty + end + # item = OrderItem.find_by_item_instance_code(promo_product.item_code) + item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first price = item.price - promo_product.net_price - source = Order.find(item.order_id).source + source = Order.find(item.order_id).source update_existing_item(foc_qty, item, sale_id, "promotion nett price", price,source) end end @@ -220,18 +230,23 @@ class Promotion < ApplicationRecord puts " same: " + same.to_s + " promo_product: " + promo_product.item_code.to_s + " foc_min_qty: " + foc_min_qty.to_s + " orderitem: " + orderitem.to_s if same foc_qty = orderitem[1].to_i / foc_min_qty - item = OrderItem.find_by_item_instance_code(orderitem[0]) + # item = OrderItem.find_by_item_instance_code(orderitem[0][0]) + item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first # total = orderitem[1].to_i * item.price total = item.price price = calculate_discount(total, promo_product.percentage) source = Order.find(item.order_id).source update_existing_item(foc_qty, item, sale_id, "promotion discount", price,source) else - foc_qty = find_second_item_qty(sale_id, promo_product.item_code) + order_qty = find_second_item_qty(sale_id, promo_product.item_code) #need to check + foc_qty = orderitem[1].to_i / foc_min_qty # give total qty is 1 #foc_qty = (foc_qty - foc_qty) + 1 - - item = OrderItem.find_by_item_instance_code(promo_product.item_code) + if foc_qty > order_qty + foc_qty = order_qty + end + # item = OrderItem.find_by_item_instance_code(promo_product.item_code) + item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first # total = item.price * foc_qty total = item.price price = calculate_discount(total, promo_product.percentage) @@ -245,7 +260,7 @@ class Promotion < ApplicationRecord itemList = combine_item(saleObj) itemList.each do |item| item.each do |i| - if i[0] == promo_item.downcase + if i[0][0] == promo_item.downcase return i[1] end end @@ -253,7 +268,7 @@ class Promotion < ApplicationRecord return 0 end - def self.calculate_discount(total, discount) - return (total.to_i * discount.to_i) / 100 + def self.calculate_discount(total, percentage) + return (total.to_i * percentage.to_i) / 100 end end diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 3933aa2c..0e17ee26 100755 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -619,16 +619,16 @@ class SalePayment < ApplicationRecord table.save end - type = 'payment' + # type = 'payment' #Send to background job for processing # OrderBroadcastJob.perform_later(table,type) #if ENV["SERVER_MODE"] != 'cloud' - if ENV["SERVER_MODE"] == 'cloud' - from = request.subdomain + "." + request.domain - else - from = "" - end - ActionCable.server.broadcast "order_channel",table: table,type:type,from:from + # if ENV["SERVER_MODE"] == 'cloud' + # from = request.subdomain + "." + request.domain + # else + # from = "" + # end + # ActionCable.server.broadcast "order_channel",table: table,type:type,from:from #end end end diff --git a/app/pdf/order_item_customise_pdf.rb b/app/pdf/order_item_customise_pdf.rb index 4ba590ef..4124a075 100644 --- a/app/pdf/order_item_customise_pdf.rb +++ b/app/pdf/order_item_customise_pdf.rb @@ -9,7 +9,7 @@ class OrderItemCustomisePdf < Prawn::Document self.order_no_font_size = 8 self.margin = 0 self.price_width = 40 # No Need for item - self.qty_width = 25 + self.qty_width = 40 self.total_width = 40 # No Need for item self.item_width = self.page_width - (self.qty_width - self.margin) self.item_height = 15 diff --git a/app/pdf/order_item_slim_customise_pdf.rb b/app/pdf/order_item_slim_customise_pdf.rb index 38bd9553..df0cef46 100644 --- a/app/pdf/order_item_slim_customise_pdf.rb +++ b/app/pdf/order_item_slim_customise_pdf.rb @@ -8,7 +8,7 @@ class OrderItemSlimCustomisePdf < Prawn::Document self.item_font_size = print_settings.item_font_size.to_i self.margin = 0 self.price_width = 40 # No Need for item - self.qty_width = 25 + self.qty_width = 40 self.total_width = 40 # No Need for item self.item_width = self.page_width - (self.qty_width - self.margin) self.item_height = 15 diff --git a/app/pdf/order_item_slim_pdf.rb b/app/pdf/order_item_slim_pdf.rb index 118927f6..92158663 100755 --- a/app/pdf/order_item_slim_pdf.rb +++ b/app/pdf/order_item_slim_pdf.rb @@ -4,8 +4,8 @@ class OrderItemSlimPdf < Prawn::Document def initialize(print_settings,order_item_slim, print_status, options, alt_name, before_updated_qty) self.page_width = print_settings.page_width self.page_height = print_settings.page_height - self.header_font_size = printer_settings.header_font_size.to_i - self.item_font_size = printer_settings.item_font_size.to_i + self.header_font_size = print_settings.header_font_size.to_i + self.item_font_size = print_settings.item_font_size.to_i self.margin = 0 self.price_width = 40 # No Need for item self.qty_width = 40 @@ -105,14 +105,14 @@ class OrderItemSlimPdf < Prawn::Document end - # if alt_name - # if order_item_slim.alt_name - # move_down 1 - # font("public/fonts/NotoSansCJKtc-Regular.ttf") do - # text "(#{order_item_slim.alt_name})", :size => self.item_font_size,:align => :left, :inline_format => true - # end - # end - # end + if alt_name + if order_item_slim.alt_name + move_down 1 + font("public/fonts/NotoSansCJKtc-Regular.ttf") do + text "(#{order_item_slim.alt_name})", :size => self.item_font_size,:align => :left, :inline_format => true + end + end + end if !options.empty? move_down 1 diff --git a/app/pdf/order_set_item_customise_pdf.rb b/app/pdf/order_set_item_customise_pdf.rb index 48dcaf7f..4a1890eb 100644 --- a/app/pdf/order_set_item_customise_pdf.rb +++ b/app/pdf/order_set_item_customise_pdf.rb @@ -9,7 +9,7 @@ class OrderSetItemCustomisePdf < Prawn::Document self.order_no_font_size = 8 self.margin = 0 self.price_width = 40 # No Need for item - self.qty_width = 25 + self.qty_width = 40 self.total_width = 40 # No Need for item self.item_width = self.page_width - (self.qty_width - self.margin) self.item_height = 15 diff --git a/app/pdf/order_summary_customise_pdf.rb b/app/pdf/order_summary_customise_pdf.rb index dd3bdbf0..666d6755 100644 --- a/app/pdf/order_summary_customise_pdf.rb +++ b/app/pdf/order_summary_customise_pdf.rb @@ -9,7 +9,7 @@ class OrderSummaryCustomisePdf < Prawn::Document self.order_no_font_size = 8 self.margin = 0 self.price_width = 40 # No Need for item - self.qty_width = 25 + self.qty_width = 40 self.total_width = 40 # No Need for item self.item_width = self.page_width - (self.qty_width - self.margin) self.item_height = 15 diff --git a/app/pdf/order_summary_set_customise_pdf.rb b/app/pdf/order_summary_set_customise_pdf.rb index 037192c1..823664eb 100644 --- a/app/pdf/order_summary_set_customise_pdf.rb +++ b/app/pdf/order_summary_set_customise_pdf.rb @@ -9,7 +9,7 @@ class OrderSummarySetCustomisePdf < Prawn::Document self.order_no_font_size = 8 self.margin = 0 self.price_width = 40 # No Need for item - self.qty_width = 25 + self.qty_width = 40 self.total_width = 40 # No Need for item self.item_width = self.page_width - (self.qty_width - self.margin) self.item_height = 15 diff --git a/app/pdf/order_summary_slim_customise_pdf.rb b/app/pdf/order_summary_slim_customise_pdf.rb index 9a2a1045..4e4df0f9 100644 --- a/app/pdf/order_summary_slim_customise_pdf.rb +++ b/app/pdf/order_summary_slim_customise_pdf.rb @@ -8,7 +8,7 @@ class OrderSummarySlimCustomisePdf < Prawn::Document self.item_font_size = print_settings.item_font_size.to_i self.margin = 0 self.price_width = 40 # No Need for item - self.qty_width = 25 + self.qty_width = 40 self.total_width = 40 # No Need for item self.item_width = self.page_width - (self.qty_width - self.margin) self.item_height = 15 diff --git a/app/views/origami/discounts/index.html.erb b/app/views/origami/discounts/index.html.erb index 59341bcb..ac94fd18 100755 --- a/app/views/origami/discounts/index.html.erb +++ b/app/views/origami/discounts/index.html.erb @@ -211,7 +211,7 @@ -
+
@@ -432,6 +432,9 @@ var cashier_type = "<%= @cashier_type %>"; // Pay Discount for Payment $("#pay-discount").on('click', function(e){ e.preventDefault(); + if($('#pay-discount').is(":visible")) { + $('#pay-discount').prop("disabled",true); + } $("#loading_wrapper").show(); var sale_id = $('#sale-id').text(); var discount_items = JSON.stringify(get_discount_item_rows()); diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index f1979aef..986bed5f 100755 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -869,6 +869,10 @@ // Bill Request $('#request_bills').click(function () { + if($('#request_bills').is(":visible")) { + $('#request_bills').prop("disabled",true); + } + var order_id = $('#save_order_id').attr('data-order'); var ajax_url = "/origami/" + order_id + "/request_bills"; $.ajax({ @@ -893,8 +897,11 @@ }); $('#move').on('click', function () { - var dining_id = "<%= @dining.id %>"; - window.location.href = '/origami/table/' + dining_id + "/movetable"; + if($('#move').is(":visible")) { + $('#move').prop("disabled",true); + } + var dining_id = "<%= @dining.id %>"; + window.location.href = '/origami/table/' + dining_id + "/movetable"; }) $('#back').on('click', function () { diff --git a/app/views/origami/other_charges/index.html.erb b/app/views/origami/other_charges/index.html.erb index b9dbbc60..bf119be0 100755 --- a/app/views/origami/other_charges/index.html.erb +++ b/app/views/origami/other_charges/index.html.erb @@ -308,6 +308,9 @@ var cashier_type = "<%= @cashier_type %>"; // Calculate Other Charges for Payment $("#charge_other").on('click', function(e){ e.preventDefault(); + if($('#charge_other').is(":visible")) { + $('#charge_other').prop("disabled",true); + } var sale_id = $('#sale-id').text(); var sub_total = $('#order-sub-total').text(); var other_charges_items = JSON.stringify(get_other_item_rows()); diff --git a/app/views/origami/payments/show.html.erb b/app/views/origami/payments/show.html.erb index f16fc42d..9262e05c 100755 --- a/app/views/origami/payments/show.html.erb +++ b/app/views/origami/payments/show.html.erb @@ -33,7 +33,10 @@
-
Customer : <%= @sale_data.customer.name%> +
+ Customer : + +
Checkin Time : <%if !@checkin_time.nil?%><%= @checkin_time.utc.getlocal.strftime("%I:%M %p") %> <%end%>
@@ -465,7 +468,7 @@
<%= link_to t("views.btn.new"),new_settings_menu_path,:class => 'btn btn-primary btn-lg float-right waves-effect"' %> - <%= link_to "Export", settings_menus_path(format: "xlsx"),:class => 'btn btn-info btn-lg waves-effect float-right m-r-10' %> -